Serial ports disappeared on Supermicro board



  • Guys, I have a strange issue with serial ports since I upgraded pfSense to 2.4(.2).

    All the serial ports have disappeared completely from the system. My Supermicro A1SRi-2758F has 2 serial ports and I've been using them for two things for years:

    • GPS NTP sync
    • Smart UPS communication

    Now both of these functions are dead, because the system lost all the serial ports since the upgrade…

    Running```
    dmesg | egrep "uart|sio|tty|cua"

    
    Running```
    sysctl -a | grep 'uart'
    ```Returns```
    device	uart_ns8250
    device	uart
    debug.uart_force_poll: 0
    debug.uart_poll_freq: 50
    

    As far as I see the system detects that there's an UART device on the system but doesn't load drivers?

    Tried loading uart.ko manually from a FreeBSD CD-ROM, but got this:

    can't re-use a leaf (uart_poll_freq)!
    can't re-use a leaf (uart_force_poll)!
    module_register: cannot register acpi/uart from kernel; already loaded from uart.ko
    Module acpi/uart failed to register: 17
    module_register: cannot register isa/uart from kernel; already loaded from uart.ko
    Module isa/uart failed to register: 17
    module_register: cannot register pccard/uart from kernel; already loaded from uart.ko
    Module pccard/uart failed to register: 17
    module_register: cannot register pci/uart from kernel; already loaded from uart.ko
    Module pci/uart failed to register: 17
    module_register: cannot register puc/uart from kernel; already loaded from uart.ko
    Module puc/uart failed to register: 17
    

    So it seems that pfSense's kernel already has uart.ko driver built-in and probably loads it too, but the device is not seen…

    Tried replacing in /boot/device.hints:hint.uart.0.at="isa" hint.uart.0.port="0x3F8" hint.uart.0.flags="0x10" hint.uart.0.irq="4" hint.uart.1.at="isa" hint.uart.1.port="0x2F8" hint.uart.1.irq="3"With```
    hint.sio.0.at="isa"
    hint.sio.0.port="0x3f8"
    hint.sio.0.flags="0x10"
    hint.sio.0.irq="4"
    hint.sio.1.at="isa"
    hint.sio.1.port="0x2f8"
    hint.sio.1.flags="0x0"
    hint.sio.1.irq="3"

    Couldn't figure out what .ko file should I try to manually load for this "sio" diver… maybe I'm on the wrong path...?
    
    BIOS settings double-checked, ports are enabled, set to "Auto" as before (tried tro set IRQ and DMA manually but no change). No console redirection enabled or anything sort of.
    
    Kernel missing the drivers? Any ideas?
    Back in pfSense 2.1, 2.2 and 2.3 days these ports were working perfectly. 'been using them for years.


  • To figure out if this is a 2.4-only thing, try booting 2.3 or 2.2 media or maybe even some random BSD or Linux disk, see if they can detect the ports. They probably will, but some positive confirmation is always good.


  • Netgate Administrator

    Yeah, is this true of any 2.4.X version?

    You might try booting FreeBSD 11.1 then. I suspect it's something brough over by the base change from 10.3. I cxan;t think of anything pfSense specific that would affect serial ports like that.

    Steve



  • And if they still work in pfSense 2.2/2.3, I would run the following command and compare the results against 2.4.x:

    
    kldstat
    
    


  • I have the same motherboard, and these ports seem to be recognized fine in 2.4.2-RELEASE-p1.  Admittedly, I'm not using them for anything.

    
    dmesg|grep -i uart
    uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
    uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
    
    
    
    sysctl -a | grep -i uart
    device	uart_ns8250
    device	uart
    kern.console: ttyv0,/uart,ucom,ttyv0,
    debug.uart_force_poll: 0
    debug.uart_poll_freq: 50
    dev.uart.1.pps_mode: 2
    dev.uart.1.%parent: acpi0
    dev.uart.1.%pnpinfo: _HID=PNP0501 _UID=1
    dev.uart.1.%location: handle=\_SB_.PCI0.SBRG.UAR2
    dev.uart.1.%driver: uart
    dev.uart.1.%desc: 16550 or compatible
    dev.uart.0.pps_mode: 2
    dev.uart.0.%parent: acpi0
    dev.uart.0.%pnpinfo: _HID=PNP0501 _UID=0
    dev.uart.0.%location: handle=\_SB_.PCI0.SBRG.UAR1
    dev.uart.0.%driver: uart
    dev.uart.0.%desc: 16550 or compatible
    dev.uart.%parent: 
    
    

    Looks like the driver is built into the kernel, and I don't have any related modules loaded:

    
    kldstat
    Id Refs Address            Size     Name
     1   23 0xffffffff80200000 2c3ea98  kernel
     2    1 0xffffffff82e40000 316988   zfs.ko
     3    2 0xffffffff83157000 ca18     opensolaris.ko
     4    1 0xffffffff83164000 11618    ipmi.ko
     5    2 0xffffffff83176000 31d8     smbus.ko
     6    1 0xffffffff83221000 7f92     aesni.ko
     7    1 0xffffffff83229000 2c1b     coretemp.ko
    
    
    
    vmstat -ai | grep -i uart
    irq3: uart1                            0          0
    irq4: uart0                            0          0
    
    

    I'd look at my BIOS settings, but I can't reset this machine right now.  Based on dmidecode, I'm running BIOS version 2.0 from 07/24/2017.

    You don't have any add-in cards that could somehow be interfering do you?

    Some kind of ACPI problem?

    Now I'd really be interested in the other member's suggestions to try booting FreeBSD or Linux.



  • @johnkeates:

    To figure out if this is a 2.4-only thing, try booting 2.3 or 2.2 media or maybe even some random BSD or Linux disk, see if they can detect the ports. They probably will, but some positive confirmation is always good.

    In 2.2 and 2.3 I had them working perfectly.



  • @droeders:

    I'd look at my BIOS settings, but I can't reset this machine right now.  Based on dmidecode, I'm running BIOS version 2.0 from 07/24/2017.

    You don't have any add-in cards that could somehow be interfering do you?

    Some kind of ACPI problem?

    Now I'd really be interested in the other member's suggestions to try booting FreeBSD or Linux.

    I'd be thankful if you'd check for any special BIOS settings. I also run bios version 2.0 same as you.
    I have an extra PCIx Intel LAN card, but that's not new, it's been in there since ages.

    I'll try to run a LiveCD Linux to see if the ports can be detected there…. :-\



  • I might be able to take down the firewall sometime this weekend to take a look.

    I'll check back for your results with pfSense 2.3 and/or Linux to make sure they are still working there.



  • :o
    Linux doesn't see the ports either. In BIOS they are enabled, though. What the heck…?


  • Netgate Administrator

    Have you actually completely removed power from the device? Some registers remain set even after a shutdown. Could be disabling those ports.

    Steve



  • Yes I already thought about that, thus I completely pulled the plug too for about a minute… still not seeing them.



  • No it doesn't. And apart from the missing serial ports, it works well.


  • Netgate Administrator

    Hmm, not much that can make them disappear from the OS side. I could believe they could get fried at the hardware level externally but I still expect them to be visible to the OS.

    If they are disabled that would happen but I can see no reason why they would be. ACPI tables damaged maybe? Perhaps force reflash the BIOS with the same image.

    Are they on the SuperIO chip on that board? Check they are enabled after boot.

    Steve


 

© Copyright 2002 - 2018 Rubicon Communications, LLC | Privacy Policy