Supermicro A1SAM-2550F USB Not Working In OS

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

ericloewe

Active Member
Apr 24, 2017
295
129
43
30
Board only has USB 2.0 onboard. So no XHCI options in the BIOS.
Oh, A1SAM. Missed that. I've seen "weird" behavior on A1SRi boards with USB, with the EHCI controller being the misbehaving one... But that sort of fixed itself and I had the USB 3.0 ports to get things done.

Here's a crazy idea: Let's try to take the BIOS out of the picture. Disable all the USB options so that USB is not available to BIOS or UEFI, boot from SATA, NVMe or PXE, and see what happens.
 

twistedpair

New Member
Oct 23, 2022
12
1
3
maybe is it quiet normal the physical USB becomes unavail. if KVM is online ?
have you checked the behaiviour without IPMI KVM enabled ?
There isn't a way to disable the IPMI KVM that I can find.

However, I preformed the following test:
  1. While logged into the IPMI KVM, with the viewer opened, I powered on the machine. As expected, no physical USB devices appear in `lsusb`
  2. I powered off the machine, to reset the IPMI BMC
  3. Without logging into the IPMI webpage or activating the kvm, I let the machine boot. Via SSH, I can still see that `lsusb` detects no physical devices.
 
  • Like
Reactions: RolloZ170

twistedpair

New Member
Oct 23, 2022
12
1
3
Oh, A1SAM. Missed that. I've seen "weird" behavior on A1SRi boards with USB, with the EHCI controller being the misbehaving one... But that sort of fixed itself and I had the USB 3.0 ports to get things done.

Here's a crazy idea: Let's try to take the BIOS out of the picture. Disable all the USB options so that USB is not available to BIOS or UEFI, boot from SATA, NVMe or PXE, and see what happens.
There is no USB 3.0 on this board. Only 2.0.

Not sure if its possible to disable USB so it isn't available to the BIOS/UEFI.

Even when booting from a SATA SSD (the main OS disk, which has Arch Linux installed) physical USB doesn't work.


As for crazy ideas, here I hit screenshot on every BIOS setup screen:

iKVM_capture(6).jpgiKVM_capture(7).jpgiKVM_capture(8).jpgiKVM_capture(9).jpgiKVM_capture(10).jpgiKVM_capture(11).jpgiKVM_capture(12).jpgiKVM_capture(13).jpgiKVM_capture(14).jpgiKVM_capture(15).jpgiKVM_capture(16).jpgiKVM_capture(17).jpgiKVM_capture(18).jpgiKVM_capture(19).jpgiKVM_capture(20).jpgiKVM_capture(21).jpgiKVM_capture(22).jpgiKVM_capture(23).jpgiKVM_capture(24).jpgiKVM_capture(25).jpgiKVM_capture(26).jpgiKVM_capture(27).jpgiKVM_capture(28).jpgiKVM_capture(29).jpg
 

zir_blazer

Active Member
Dec 5, 2016
358
129
43
As for crazy ideas, here I hit screenshot on every BIOS setup screen:

View attachment 25026
Try:
Legacy USB Support - Disabled
Port 60/64 Emulation - Disabled
USB KB/MS Wake - Enabled
The last one is interesing.

Also, try hotplugging. Start with NO USB Devices plugged on, get a Terminal with dmesg -w to monitor changes then plug them.
 

oneplane

Well-Known Member
Jul 23, 2021
845
484
63
Since you mention it works in UEFI and you mention flashing via DOS, the USB hardware works, so it's probably something post-firmware that breaks it. Considering there are _OSC calls to ACPI and the firmware is likely an older UEFI/CSM implementation, have you tried booting an OS with ACPI turned off completely? And since Linux seems to know this hardware needs handoff quirks (and takes a huge amount of CPU time to do so), it is possible that you need to unload and re-load the USB kernel modules once the _OSC calls are done.

Yet another set of things to check: if the keyboard works in GRUB, it means that UEFI is probably not handing off the USB controller to the OS anymore. Modern systems need this (Windows, Linux) but older ones don't (FreeDOS etc.).

This is the big downside of large UEFI and proprietary firmware blobs, it interferes with the OS communicating with the hardware, and as a result the OS can request something from the USB controller but nothing happens because something in the firmware captures the call and does something/nothing with it.
Code:
┌──────────────────┐
│ OS               │
├──────────────────┤
│ ACPI etc.        │◄───┐
├──────────────────┤    ├─This seems broken
│ SMM/traps        │◄───┘
├──────────────────┤
│ Firmware         │◄──┐
├──────────────────┤   │
│ PCH              │◄──┼──This all seems to work
├──────────────────┤   │
│ USB Controller   │◄──┤
├──────────────────┤   │
│ USB Ports        │◄──┘
└──────────────────┘
So anything that makes the OS try to get control over USB from the firmware fails. The only reason the KVM works is because it's virtual USB directly from the BMC, so the firmware ignores it. You can validate this if you have a PCIe USB card you can plug in, that one would work.

As for how to fix it if it turns out to be firmware: it might not be fixable. Older firmware + older kernel might be something that worked, and anything newer is simply not going to work.

Some additional information might be available with kernel USB debugging.
 
Last edited:

zac1

Well-Known Member
Oct 1, 2022
432
358
63
If all else fails, you can probably score a good deal on replacement boards. This Mercari seller accepts pretty low offers via messaging.

 

oneplane

Well-Known Member
Jul 23, 2021
845
484
63
There are a lot of edge cases where it might work in UEFI/CSM/DOS but not anywhere else by the way, including lower speed, broken registers (that 'stick' 1.1 bits so setting 2.0 speeds puts the controller in unknown behaviour), handoff problems due to interrupts being broken etc. To actually know what is really wrong, we'd need an XDP or CCA (if a USB 2 version of the SVTCCA exists) or something like that, and signed software and an NDA from Intel.

It could be as simple as a single bit flip due to a degraded address line...
 

doup93

New Member
Feb 26, 2013
23
3
3
I have the exact same board running Server 2022 without any USB issues. I'll compare your BIOS with mine tonight.
 
  • Like
Reactions: zac1

twistedpair

New Member
Oct 23, 2022
12
1
3
Try:
Legacy USB Support - Disabled
Port 60/64 Emulation - Disabled
USB KB/MS Wake - Enabled
The last one is interesing.
Booting with the options as follows makes no difference.

iKVM_capture(30).jpg

Also, try hotplugging. Start with NO USB Devices plugged on, get a Terminal with dmesg -w to monitor changes then plug them.
There is no output from `dmesg -w` when unplugging and replugging a keyboard or flash drive into any of the rear USB ports, or the internal onboard port.



Since you mention it works in UEFI and you mention flashing via DOS, the USB hardware works, so it's probably something post-firmware that breaks it. Considering there are _OSC calls to ACPI and the firmware is likely an older UEFI/CSM implementation, have you tried booting an OS with ACPI turned off completely? And since Linux seems to know this hardware needs handoff quirks (and takes a huge amount of CPU time to do so), it is possible that you need to unload and re-load the USB kernel modules once the _OSC calls are done.
I tried booting with `noacpi acpi=off`. Made no difference unfortunately.

Yet another set of things to check: if the keyboard works in GRUB, it means that UEFI is probably not handing off the USB controller to the OS anymore. Modern systems need this (Windows, Linux) but older ones don't (FreeDOS etc.).
The physical keyboard works in systemd-boot. As soon as I hit enter to boot the selected option, the keyboard dies (numlock light turns off).



So anything that makes the OS try to get control over USB from the firmware fails. The only reason the KVM works is because it's virtual USB directly from the BMC, so the firmware ignores it. You can validate this if you have a PCIe USB card you can plug in, that one would work.
Yep a 4-port USB 3.0 PCIe card (with 4 separate ASM1042A controllers) works. `lsusb` shows the keyboard, and it functions. Same with flashdrives -- `lsblk` shows them. Unfortunatly I can't use this as a fix however, as the boards only have 2 PCIe slots, which typically have SATA expansion and ConnectX cards installed in them.



As for how to fix it if it turns out to be firmware: it might not be fixable. Older firmware + older kernel might be something that worked, and anything newer is simply not going to work.
This is why I hoped that rolling back the BIOS to the previous version would resolve the issues. But doing that + booting Arch install ISO from 2014 through 2018 still didn't work.




There are a lot of edge cases where it might work in UEFI/CSM/DOS but not anywhere else by the way, including lower speed, broken registers (that 'stick' 1.1 bits so setting 2.0 speeds puts the controller in unknown behaviour), handoff problems due to interrupts being broken etc. To actually know what is really wrong, we'd need an XDP or CCA (if a USB 2 version of the SVTCCA exists) or something like that, and signed software and an NDA from Intel.

It could be as simple as a single bit flip due to a degraded address line...
Kernel and even hardware debugging is probably taking this a bit far. On one hand I'd really like to determine what's broken, just to understand why. But at some point I have to give in and just swallow the cost of replacing the boards. And they are from ~2014 after all. Might be time for an upgrade anyway (though they were performing their duties acceptably).




Other things I randomly tried tonight, that, as expected, didn't help:
  • Reseating the RAM
  • Booting with a single RAM stick
  • Pressing and flexing on the CPU heatsink. (I wonder if is that some of the BGA pins have had solder cracking problems?)
  • Changing the IPMI MAC to reset the license -- I found a *cough* keygen *cough* for the IPMI and had activated it so I could perform remote BIOS upgrades. Perhaps this activated some other "USB disable" feature (non I could find in the manual, however)


So, two boards with essentially dead onboard USB. What are the chances?

Maybe I'll upgrade these to something based around AM4 low-end Ryzen.
Server boards are so expensive though... Do I really need IPMI -- I want to say yes, but is it worth the price premium?
And before anyone mentions it, yep, I'm aware of piKVM -- very expensive and Pi's are still hard to come by.

Thanks for your help everyone.
 

ericloewe

Active Member
Apr 24, 2017
295
129
43
30
Booting with the options as follows makes no difference.
Try disabling "USB Mass Storage Driver Support" and "USB KB/MS Wake". You will not be able to boot from USB, since the system firmware won't know how to use USB Mass Storage, but it might be worth a shot to understand what is happening here.
 

RolloZ170

Well-Known Member
Apr 24, 2016
5,426
1,639
113
another owner of that board sayd Server 2022 works without any USB issues. so check Srv.2022 too.
maybe its a HUB driver issue (the two PD720114 HUBs)
A1SAM-2550F schematics.jpg
 

doup93

New Member
Feb 26, 2013
23
3
3
@twistedpair so here's what I could see between your BIOS and mine:

Legacy USB Support is set to Auto
Above 4G Decoding is Enabled
Storage (in PCIe/PCI/Pnp Configuration) is set to UEFI
CPU1 SLOT4 OPROM is set to EFI
CPU1 SLOT 6 OPROM is set to EFI
Onboard LAN 1 Option ROM is Disabled
My IPMI version is 2.26
 

Branko

Member
Mar 21, 2022
41
17
8
I had similar (2750 proc with more cores, otherwise equal) board, and USB worked nicely
under ESXi, from 5.5 to 7.03, and guest OS-es saw it without problems (even ran CHIA
for a year)