Opened 14 years ago

Closed 13 years ago

#1236 closed bug (fixed)

Intel 82801FB USB Controllers: BIOS Legacy USB Support: ON disables publishing USB2 devices.

Reported by: siarzhuk Owned by: mmlr
Priority: normal Milestone: R1
Component: Drivers/USB Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by mmlr)

1) The laptop PC with following USB Controller was tested:

V 8086 Intel Corporation D 2658 82801FB (ICH6) USB UHCI Controller 1 D 2659 82801FB (ICH6) USB UHCI Controller 2 D 265A 82801FB (ICH6) USB UHCI Controller 3 D 265B 82801FB (ICH6) USB UHCI Controller 4 D 265C 82801FB (ICH6) USB 2.0 EHCI Controller

2) Tested system has "Legacy USB Support" settings in BIOS. There are two possible states for this option: Enabled and Disabled.

3) Terminal command

ls /dev/bus/usb/ -alR

was used to check the fact of publishing device under corresponding directory in /dev hierarchy.

4) Terminal command

usb_dev_info /dev/bus/usb/N/M

was used to obtain USB device information. The "N" and "M" are corresponding subdirectory and file names of the device entry.

5) Two syslog files attached to this bug report. First one was acquired with disabled BIOS Legacy USB Support option, second one was acquired with enabled option.

6) Haiku revision used during this tests: 21181

The Test I:

Haiku was booted with _disabled_ BIOS "Legacy USB support". Two USB2 mass storage devices were plugged in before the system boot.

a)I use "ls" to check the device publishing and usb_dev_info to be sure that both mass storage device are published. All was OK.

b) I have plugged one of devices out. Checked device entry with "ls" - it was still displayed, tried to obtain device information with "usb_dev_info" - it failed with "cannot open" message.

c) I plugged this device in the _same_ port. Checked with "ls" - it is here. Checked with "usb_dev_info" - correct information displayed.

d) Plugged this device out and plug it into _another_ port. Checked with "ls" - device entry not changed. Checked it with "usb_dev_info" - failed with "cannot open". Tried to get "usb_dev_info" for other possible dev entries on this controller (from 0 to 7) - nothing found.

The Test II

Haiku was booted with _enabled_ BIOS "Legacy USB support". One USB2 mass storage device with another USB1 mass storage device were plugged in before booting Haiku.

a)I use "ls" to check the device publishing and usb_dev_info to be sure that both mass storage device are published. Only USB1 device was found. USB2 device was not published.

b)I tried to plug USB2 device out and plug it into the same port. Nothing published under /dev. Tried to replug it into another port - nothing. Note that syslog contains corresponding "pipe changed" notifications for USB2 device!

c) The "non-working plug in notifications" issue from Test I is also observed with USB1 device in this test.

The PROBLEM: Looks like BIOS "Legacy USB Support" option has negative effect on Haiku´s USB stack on tested system. In case this option is enabled - USB2 devices are not published in /dev hierarchy. Only USB1 are published. Unfortunately I have no possibility to check this from real driver at this time - only "ls"-check was performed.

NOTES: Mentioned "non-working plug in notify" problem looks like not related to this BIOS "legacy USB" option. May be I should post it as another bug report?

Attachments (3)

syslog-legacy-off (70.8 KB ) - added by siarzhuk 14 years ago.
acquired with BIOS "Legacy USB Support" option DISABLED
syslog-legacy-on (69.6 KB ) - added by siarzhuk 14 years ago.
acquired with BIOS "Legacy USB Support" option ENABLED
devices.list (12.3 KB ) - added by siarzhuk 14 years ago.
listdev output for laptop used in tests

Download all attachments as: .zip

Change History (9)

by siarzhuk, 14 years ago

Attachment: syslog-legacy-off added

acquired with BIOS "Legacy USB Support" option DISABLED

by siarzhuk, 14 years ago

Attachment: syslog-legacy-on added

acquired with BIOS "Legacy USB Support" option ENABLED

comment:1 by mmlr, 14 years ago

Status: newassigned

This is interesting. I have read about some BIOS versions that disable USB 2.0 or have problems with high speed devices when legacy mode is enabled. Can you give more details about the laptop and BIOS vendor and check if there maybe is a BIOS update?

"Plug-notify" does not work as the usb_raw driver is not currently rescanned under Haiku as the corresponding driver API function is missing. The driver therefore cannot republish devices on plug events. It's a known missing feature.

If you try the stack under R5 the rescanning and republishing should work though.

comment:2 by siarzhuk, 14 years ago

1) Information about laptop. It is in German but, I hope, understandable. It is the model from our local discounter (Aldi). Unfortunately, I found no detailed information in English. :-\

Details zum Notebook Medion MD 96500 Titanium:

  • Intel Pentium M Prozessor 740 (1,73 GHz, 2 MB L2 Cache, FSB 533)
  • Intel 915 PM Chipsatz und Intel PRO/Wireless 2200
  • ATI Mobility Radeon X700 XL PCI-Express mit 128 MB DDR RAM
  • SAMSUNG Festplatte 100 GB mit 5.400 U/min und 8 MB Cache
  • 1024 MB DDR II RAM (Beide Speicherbänke belegt)
  • Biometrische Sicherheit
  • Wireless Lan
  • 8 in 2 Multikartenleser
  • 56k Modem
  • SAMSUNG 15,4 Zoll Hochglanz-TFT W-XGA Breitbildschirm - Auflösung 1280 x 800 Pixel
  • Digital TV Tuner
  • Radio Tuner
  • Bluetooth 2.0
  • PANASONIC 8x Multi Standard DVD/CD-Brenner mit Dual Layer und DVD RAM Unterstützung

NOTE: Attached devices.list is an output from R5 listdev command for this laptop.

2) About BIOS: PhoenixBIOS 4.0 Release 6.1 (c) 1985-2003 Phoenix Technologies Ltd. BIOS Version: R01-A0O CPU-Intel (R) Pentium (R) M Processor 1.73 GHz 1024 System RAM

NOTE: BIOS was updated to latest version available currently from laptop vendor.

3) Running Haiku USB bus managers at R5. I tried to replace R5 USB bus managers with [BONE] version of USB Stack replacement currently available at your blog at I placed all modules under /boot/beos/system/add-ons/ instead of recommended ~/config/add-ons/. After reboot I observe no mentioned problems with USB2 devices. And this behaviour is not related to state of "Legacy USB Support in BIOS". In both positions, disabled and enabled - USB2 devices are recognized by Haiku USB stack successfully. May be this dependent on other non-implemented features? NOTE: Unfortunately I failed to build actual BONE version of USB bus managers from Haiku sources. Neither recommended, "usb modules only" build command, nor full rebuild are working. :-\ Looks like [my] bone/hrev5 builds are broken currently.

Offtopic: Have you received my e-mail about sending requests to non-default endpoints? What do you mean about it?

by siarzhuk, 14 years ago

Attachment: devices.list added

listdev output for laptop used in tests

comment:3 by siarzhuk, 14 years ago

Checked under R5/bone with currently latest build (hrev21257) - USB2 devices published successfully, regardless of BIOS Legacy USB Support option.

comment:4 by mmlr, 14 years ago

Good news: Rescanning has been implemented in Haiku now. So the publishing of USB devices should now work like under R5. Hope this at least closes the republishing part of this bug.

The original problem of USB2 devices not being picked up when legacy support is turned on is reproducible on my new laptop (an ICH8 chipset). I am not sure where this does come from but I suspect that we do not correctly setup EHCI when initializing the controller.

So are you able to reproduce any of this under Haiku with a current version? Or has it vanished for you completely?

comment:5 by siarzhuk, 14 years ago

I have tested described situations with Haiku hrev23691.

The Test: Publishing and republishing USB1/USB2 devices both with enabled and disabled "Support Legacy USB" BIOS option. Following USB devices were used:

  • Iomega ZIP 100. It is USB1. It was used in original test as "USB1 Mass Storage";
  • Targa 250 USB2 external HDD. This one is new here. Unfortunately, used in original test DiskOnKey 256 MB flash disk currently has some malfunctions and cannot be used;
  • Vivanco Twin-Tower USB1 Audio device. This buddy is also new here;
  • USB1 D-Link DRU-H7 Hub in non-powered mode with mouse, keyboard and Fritz! DSL modem attached to it;

Results: Looks like hot-plug publishing and republishing works perfectly regards of "Legacy USB support" BIOS option. Both single devices from list above and USB hub with all attached devices republished correctly. Some unclear situation was one time with USB audio - it was not published on very first attach. But I could not reproduce it again. I think we investigate it later during testing corresponding driver. ;-)

Conclusions: 1) The "Legacy BIOS option" phenomena is not observed anymore; 2) Republishing works.

I have no objections to close this ticket. On my side those problems are not observed. Feel free to do it. And let me congratulate you with really perfect work! :-) Hope I'll be able to help you with other components.

comment:6 by mmlr, 13 years ago

Description: modified (diff)
Resolution: fixed
Status: assignedclosed

Should be fixed in hrev24926.

Note: See TracTickets for help on using tickets.