Error message UART
-
Hi, have error during boot
ns8250: UART FCR is broken
Should me start warring . what it mean and how to reslove?pfSense 24.03 on custom hardware box
-
@Antibiotic said in Error message UART:
Should me start warring . what it mean and how to reslove?
Somewhere in 2022 someone proposed a solution to solve some issue with "emulated UART 8250".
The detection worked 'to well'.
As most of use system that don't have a real "8250" as your device must be a PC XT/AT, just before chips-sets became a thing (before 1998 ?. And the chipset makers 'copied' (what is Chinese for "borrowed" ?) some faulty implementation and now everybody has to live with it.
Ok, great, no FCR register in my UART ... who is using RS232 anyway these days ?? ^^ ;)Here you have to source of the issue.
Seems pretty harmless to me.
Still strange to see a printf in code like that.
True, messages like this shouldn't belong in the main system boot. -
-
@Gertjan https://cgit.freebsd.org/src/commit/?id=c4b68e7e53bb352be3fa16995b99764c03097e66
I dont understand this patch implemented in freebsd or should do manually now? -
@Antibiotic said in Error message UART:
@Gertjan https://cgit.freebsd.org/src/commit/?id=c4b68e7e53bb352be3fa16995b99764c03097e66
I dont understand this patch implemented in freebsd or should do manually now?It's a patch against a hardware device driver, hence the 'dev', the Intel 8250 ( a chip part of the 808x series, together with the PIC, the DMA and bus controller and some others.) These were readily available back in the old days, and a company called IBM put them all together and made a 'PC', the original XT (that is, the COMM port was available as a option, you had to buy a extension slot card ISA ? for it).
Right now, on guy, there is a guy that actually builds a PC on a bread board (many bread boards) like the original one.
The code you saw ; this code, is thhe source of FreeBSD. The UART part is probably a module compiled into the kernel, so it's part of the FreeBSD kernel.
I just had a look at /boot/kernel/kernel ( a binary file of course ), and that string is there.You can't 'patch' your kernel file **
You have to do the 'open source' thing.- Make a FreeBSD build environment.
- Download source from the git.
- Edit the file I've shown above (ditch the printf line)
- Build ....
Put the newly build kernel file in place.
Light up a candle, and reboot.
Enjoy.
** that said, you can :
hex edit the kernel file.
Find the exact location of the ASCI text string "ns8250: UART FCR is broken"
Replace the first character 'n' with a null byte 0x00
Write file.
Pray again.
Reboot.If things go wrong : don't call me ^^
More serious : it's an inoffensive kernel log boot message. We've seen many more of these in the past. Not an issue at all.
-
@Gertjan Ok, thanks
-
Yes it's a harmless notice. It's not something we would address directly. If it gets fixed upstream in FreeBSD we will pull that in.
The 4200 shows the same thing:
uart2: <16750 or compatible> iomem 0xfe03e000-0xfe03e007 irq 16 on acpi0 ns8250: UART FCR is broken uart2: console (115200,n,8,1)
It doesn't affect the console.
Steve