Hi misc@,

This is a weird issue. I resolved it for my usecase but just wanted to report it and also ask if it's a bug or feature and if there's any right or wrong way here.

So I have one AXEN and one RTL8153(CDCE) gigabit USB NIC plugged in to a Xeon Asrock E3C226D2I motherboard.

It's 6.0 MP generic + the RTL8153 support diff, booted via MBR.


Until two days ago they were accidentally plugged into an USB 2 port, and also I had the "USB Legacy Mode" BIOS setting set to its default enabled setting ("USB Legacy mode: Auto" + "USB3 Legacy Mode: Enabled" more specifically).

Up to that point, both the AXEN and the CDCE would be recognized every single time I booted (i.e. they would show up in the dmesg, and would produce interfaces).

Then, two days ago, I disabled the "USB Legacy Mode" as part of debugging the AXEN NIC which has behaved very strangely to me - I disabled the USB legacy mode out of the idea that it could cause interference with OpenBSD's USB/AXEN subsystems, and also the motherboard manual suggests doing it in case of "USB compatibility issues", which I maybe experienced.

The devices would still be recognized when I booted, still all fine in this respect.


And then the same day I switched over to use the USB 3 ports, and I think initially the USB devices would come up as they should on boot, but then at least yesterday, on at least seven different boots - either just "halt -p" and then power on (meaning the USB devices were powered all the time), or hard power-off between -

Either *none* of the USB devices would come up on boot, or *one* of them would but not the other one.

When they did not come up on boot, just unplugging it and replugging it would make it come up (i.e. on unplug there was no detach message in the dmesg, but on replug there would be a message saying it had been plugged in).


I did not give any effort to understand the case of when only one of them would come up, *which* one of the two would. Possibly it could be the AXEN messing up things big time but I don't think so, I could try with two RTL8153:s only instead also.

I was thinking for a second that possibly the reason that only one of them would come up, could be power consumption problems, but, this is a server-grade computer with strong power supplies, and these USB3 ports are directly on the motherboard, so they should have proper power supply.


Switching back to USB2 made them come up on boot as they should. And, switching on "USB Legacy Mode" (to "enabled", and for the sake of it also its "USB3 Legacy Mode" subsetting, to "enabled") also made the USB3 devices come up on every boot.

I'm not aware of any console tools to power on/off the USB bus/hubs/devices, so I couldn't reduce further from within OpenBSD.

Trying to analyze the problem a bit, I find the dmesg + usbdevs output a bit funny - the dmesg says the USB3 devices are on 'port 16 addr 4' and 'port 17 addr 5', while usbdevs mentions the port number for the first device only and not for the second device.

What the motherboard manual ftp://europe.asrock.com/Manual/E3C226D2I.pdf says about the USB legacy settings (page 47) is quoted below, it's not instructive at all to me.


So by this email I just wanted to report this peculiar behavior, and also ask if you think it's a bug or a feature.

I guess actually I'll keep the "USB Legacy" feature on from now and on as AFAIK it's needed for booting off USB block devices which is handy sometimes, however it was a really strange side-effect that disabling it would make USB3 devices in particular not detect on boot.


If you have any comments on if this is a bug or a feature or if "USB Legacy" is generally advisable to be on or off, would be happy to learn to know.

Thanks,
Tinker


Motherboard manual excerpt:
"Legacy USB Support: [options are Enabled, Disabled, Auto, and UEFI Setup Only] Enable or disable Legacy OS Support for USB 2.0 devices. If you encounter USB compatibility issues it is recommended to disable legacy USB support. Select UEFI Setup Only to support USB devices under the UEFI setup and Windows/Linux operating systems only.

Legacy USB 3.0 Support: [options are Enabled and Disabled]
Enable or disable Legacy OS Support for USB 3.0 devices."

dmesg excerpt:
axen0 at uhub0 port 16 configuration 1 interface 0 "ASIX Elec. Corp. AX88179" rev 3.00/1.00 addr 4
axen0: AX88179, address 00:11:6b:SNIP
rgephy0 at axen0 phy 3: RTL8169S/8110S/8211 PHY, rev. 5
cdce0 at uhub0 port 17 configuration 2 interface 0 "Linksys Linksys USB3GIGV1" rev 3.00/30.00 addr 5
cdce0: address 14:91:82:SNIP

usbdevs -v:
Controller /dev/usb0:
addr 1: super speed, self powered, config 1, xHCI root hub(0x0000), Intel(0x8086), rev 1.00 port 1 addr 2: high speed, self powered, config 1, Virtual Hub(0xff01), American Megatrends Inc.(0x046b), rev 1.00, iSerialNumber serial
  port 1 powered
  port 2 powered
  port 3 powered
port 4 addr 3: low speed, self powered, config 1, Virtual Keyboard and Mouse(0xff10), American Megatrends Inc.(0x046b), rev 1.00
  port 5 powered
 port 2 disabled
 port 3 disabled
 port 4 disabled
 port 5 disabled
 port 6 disabled
 port 7 disabled
 port 8 disabled
 port 9 disabled
 port 10 disabled
 port 11 disabled
 port 12 disabled
 port 13 disabled
 port 14 disabled
 port 15 disabled
port 16 addr 4: super speed, power 124 mA, config 1, AX88179(0x1790), ASIX Elec. Corp.(0x0b95), rev 1.00, iSerialNumber 000011SNIP addr 5: super speed, power 64 mA, config 2, Linksys USB3GIGV1(0x0041), Linksys(0x13b1), rev 30.00, iSerialNumber 000001000000

Reply via email to