• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Error message UART

Scheduled Pinned Locked Moved Hardware
6 Posts 3 Posters 504 Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A
    Antibiotic
    last edited by Antibiotic Apr 30, 2024, 1:34 PM Apr 30, 2024, 1:09 PM

    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

    pfSense plus 24.11 on Topton mini PC
    CPU: Intel N100
    NIC: Intel i-226v 4 pcs
    RAM : 16 GB DDR5
    Disk: 128 GB NVMe
    Brgds, Archi

    G 1 Reply Last reply Apr 30, 2024, 2:07 PM Reply Quote 0
    • G
      Gertjan @Antibiotic
      last edited by Apr 30, 2024, 2:07 PM

      @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.

      No "help me" PM's please. Use the forum, the community will thank you.
      Edit : and where are the logs ??

      A 1 Reply Last reply Apr 30, 2024, 2:38 PM Reply Quote 0
      • G Gertjan referenced this topic on Apr 30, 2024, 2:11 PM
      • A
        Antibiotic @Gertjan
        last edited by Apr 30, 2024, 2:38 PM

        @Gertjan https://cgit.freebsd.org/src/commit/?id=c4b68e7e53bb352be3fa16995b99764c03097e66
        I dont understand this patch implemented in freebsd or should do manually now?

        pfSense plus 24.11 on Topton mini PC
        CPU: Intel N100
        NIC: Intel i-226v 4 pcs
        RAM : 16 GB DDR5
        Disk: 128 GB NVMe
        Brgds, Archi

        G 1 Reply Last reply Apr 30, 2024, 3:29 PM Reply Quote 0
        • G
          Gertjan @Antibiotic
          last edited by Gertjan Apr 30, 2024, 3:44 PM Apr 30, 2024, 3:29 PM

          @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).

          The 8250 is a UART.

          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.

          1. Make a FreeBSD build environment.
          2. Download source from the git.
          3. Edit the file I've shown above (ditch the printf line)
          4. 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.

          No "help me" PM's please. Use the forum, the community will thank you.
          Edit : and where are the logs ??

          A 1 Reply Last reply Apr 30, 2024, 3:45 PM Reply Quote 0
          • A
            Antibiotic @Gertjan
            last edited by Apr 30, 2024, 3:45 PM

            @Gertjan Ok, thanks

            pfSense plus 24.11 on Topton mini PC
            CPU: Intel N100
            NIC: Intel i-226v 4 pcs
            RAM : 16 GB DDR5
            Disk: 128 GB NVMe
            Brgds, Archi

            1 Reply Last reply Reply Quote 0
            • S
              stephenw10 Netgate Administrator
              last edited by Apr 30, 2024, 6:01 PM

              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

              1 Reply Last reply Reply Quote 0
              6 out of 6
              • First post
                6/6
                Last post
              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                This community forum collects and processes your personal information.
                consent.not_received