Opened 10 years ago

Closed 9 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 Changed 10 years ago by mmlr

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 Changed 10 years ago by mmlr

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.

comment:3 in reply to:  1 Changed 10 years ago by jackburton

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 Changed 10 years ago by jackburton

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

comment:5 Changed 10 years ago by jackburton

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

comment:6 in reply to:  2 Changed 10 years ago by jackburton

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 Changed 10 years ago by mmlr

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 Changed 10 years ago by jackburton

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 Changed 10 years ago by jackburton

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 Changed 9 years ago by scottmc

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 Changed 9 years ago by jackburton

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

comment:12 Changed 9 years ago by jackburton

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.