Opened 11 years ago

Closed 10 years ago

#2797 closed bug (fixed)

usb disks not working

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

Description (last modified by mmlr)

Usb keys/disks don't work on my laptop (Amilo LI2735). When I connect one, the system prints these lines in the syslog

KERN: usb_ehci: port reset won't complete
KERN: USB Hub 1: resetting port 0 failed

If I connect the key to other usb ports, it obviously prints a slightly different message but the result is the same. USB Mouse works correctly.

Change History (12)

comment:1 by mmlr, 11 years ago

Description: modified (diff)

Mouse works because it's probably not using EHCI at all. Can you enable full USB tracing and get a syslog. It would be interesting what comes before this message. Do you have USB legacy support enabled in the BIOS and does it make a difference if you change that value?

comment:2 by mmlr, 11 years ago

Status: newassigned

You could try just extending the snooze values in EHCI::ResetPort() in src/add-ons/kernel/busses/usb/ehci.cpp. The snooze after disabling reset signaling (currently 2000) could be made a bit larger. It smells like broken hardware though (broken in the sense that it doesn't adhere to the standard, not in the sense that it malfunctions) because the EHCI specs explicitly state:

A host controller must terminate the reset and stabilize the state of the port within 2 milliseconds of software transitioning this bit from a one to a zero.

in reply to:  1 comment:3 by jackburton, 11 years ago

Replying to mmlr:

Mouse works because it's probably not using EHCI at all. Can you enable full USB tracing and get a syslog. It would be interesting what comes before this message.

Enabled full usb tracing. Here's the syslog since the usb initialization starts.

comment:4 by jackburton, 11 years ago

Can't seem to attach files. Shall I send the syslog to you ?

comment:5 by jackburton, 11 years ago

BTW USB legacy support was enabled in the bios, but disabling it made no difference.

in reply to:  2 comment:6 by jackburton, 11 years ago

Replying to mmlr:

You could try just extending the snooze values in EHCI::ResetPort() in src/add-ons/kernel/busses/usb/ehci.cpp. The snooze after disabling reset signaling (currently 2000) could be made a bit larger.

Also, I tried to increase this to 5500 without any luck.

comment:7 by mmlr, 11 years ago

I've now figured out that on my system, UHCI stops working if the ACPI module is installed. Maybe you have ACPI installed as well and it has different influence on your system? You could check with it disabled and also check if the devices work when you remove EHCI (so only testing with UHCI).

comment:8 by jackburton, 11 years ago

ACPI is usually installed, yes. I can't remember if I ever tested without it. Thanks for the hint, I'll try without it and report back.

comment:9 by jackburton, 11 years ago

You were right. If the ACPI bus_manager is not installed, ehci works correctly, and I can mount the disk without any problem.

comment:10 by scottmc, 10 years ago

Seeing as this ticket is over a year old and with the recent USB fixes... is this working now or not? Maybe retry it with a fresh haiku build and report back.

comment:11 by jackburton, 10 years ago

Could have been fixed. I'd test happily, but haiku, since some revisions, doesn't boot anymore on my machine.

comment:12 by jackburton, 10 years ago

Resolution: fixed
Status: in-progressclosed

Ok, I managed to boot haiku, and I can confirm the bug is fixed.

Note: See TracTickets for help on using tickets.