# Usb hub 2.0 issue

## Stator

I have bought "no name" USB 2.0 hub with 4 ports. On Windows and SuSE 10.0 works great, but on Gentoo doesn't work at all.

```

stator@bender ~ $ uname -a

Linux bender 2.6.16-gentoo-r9 #2 Sat Jul 1 21:44:30 CEST 2006 x86_64 AMD Athlon(tm) 64 Processor 3200+ GNU/Linux

```

when I plug it in dmesg output this, so it is recognised from kernel.

```

usb 1-1: new high speed USB device using ehci_hcd and address 13

hub 1-1:1.0: USB hub found

hub 1-1:1.0: 4 ports detected

```

And then i plug in my USB flash (that without this hub works prefect), and dmesg output this

```

ehci_hcd 0000:00:02.1: qh ffff81003f9c51e0 (#00) state 4

scsi8 : SCSI emulation for USB Mass Storage devices

usb-storage: device found at 14

usb-storage: waiting for device to settle before scanning

  Vendor: CORNICE   Model: Inc. Storage Ele  Rev: 042R

  Type:   Direct-Access                      ANSI SCSI revision: 00

SCSI device sdb: 2858688 512-byte hdwr sectors (1464 MB)

sdb: assuming drive cache: write through

SCSI device sdb: 2858688 512-byte hdwr sectors (1464 MB)

sdb: assuming drive cache: write through

 sdb: sdb1

sd 8:0:0:0: Attached scsi disk sdb

usb-storage: device scan complete

```

And now for the "fun" part, when I mount it and trie to access it it shows that USB flash is empty and dmesg output this

```

hub 1-1:1.0: cannot reset port 3 (err = -71)

hub 1-1:1.0: hub_port_status failed (err = -71)

hub 1-1:1.0: cannot reset port 3 (err = -71)

hub 1-1:1.0: cannot reset port 3 (err = -71)

hub 1-1:1.0: cannot reset port 3 (err = -71)

hub 1-1:1.0: Cannot enable port 3.  Maybe the USB cable is bad?

hub 1-1:1.0: cannot disable port 3 (err = -110)

hub 1-1:1.0: cannot reset port 3 (err = -110)

hub 1-1:1.0: cannot reset port 3 (err = -110)

hub 1-1:1.0: cannot reset port 3 (err = -110)

```

There are more of this errors this is just a part

```

end_request: I/O error, dev sdb, sector 2446368

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446369

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446370

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446343

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446343

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446423

end_request: I/O error, dev sdb, sector 2446424

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446423

FAT: Directory bread(block 2446360) failed

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446424

FAT: Directory bread(block 2446361) failed

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446425

FAT: Directory bread(block 2446362) failed

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446426

FAT: Directory bread(block 2446363) failed

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446427

FAT: Directory bread(block 2446364) failed

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446428

FAT: Directory bread(block 2446365) failed

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446429

FAT: Directory bread(block 2446366) failed

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446430

FAT: Directory bread(block 2446367) failed

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 796

FAT: FAT read failed (blocknr 733)

hub 1-1:1.0: hub_port_status failed (err = -110)

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 5639

printk: 38 messages suppressed.

Buffer I/O error on device sdb1, logical block 5576

lost page write due to I/O error on sdb1

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 5640

Buffer I/O error on device sdb1, logical block 5577

lost page write due to I/O error on sdb1

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2102791

Buffer I/O error on device sdb1, logical block 2102728

lost page write due to I/O error on sdb1

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2446327

Buffer I/O error on device sdb1, logical block 2446264

lost page write due to I/O error on sdb1

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2102791

sd 8:0:0:0: SCSI error: return code = 0x70000

end_request: I/O error, dev sdb, sector 2102791

FAT: Directory bread(block 2102728) failed

```

And it runs on Windows XP and SuSE 10.0 perfect !?!

Hot plug is on and here iz mu kernel-usb configuration

http://img.photobucket.com/albums/v227/Stator/Linux/usb.jpg

Any ideas?

----------

## ninkasi

For what it's worth, I just had issues with a "Rock" external usb hub in an IBM Thinkpad T40. Plugged it in and started getting some errors appearing - and could not get anything to work through it. Fine, thought I, I will remove it and go back to the beginning. thing is, from then on whenever I plugged a device into that port, it thought it was trying to go through a hub even though it wasn't there any more. I got very similar error messages ie "Cannot Reset" and "maybe cable is bad" etc etc.

Fix for me was to do a lsmod and then do a rmmod for everything that was hooked into usbcore. Then loaded them all up one by one. Once everything except ehci_hcd was loaded, it all worked again ie I could plug my hard drive directly into the pc usb port. Plugged in the hub and... yep, eveything worked. So, to cut to the chase, doing a "rmmod ehci_hcd" fixed it - temporarily - for me. Sorta. 

OK - so now stuff is running at "full speed" rather than high speed.... grumble.... so now gotta work out why ehci_hcd appears to be broken for me now after plugging in that hub.... I swear it was running at high speed before.... (Have tried unloading uhci and just using ehci, but that makes no difference). Currently running 2.6.15-gentoo-r5, so maybe it's time to update....

Cheers

----------

## ninkasi

Well, it looks like USB2 is physically dead on my laptop, so it's a hardware rather than software issue for me. Kernel upgrade, compiling in support rather than via modules, using a different o/s that will remain nameless - no go. Some time ago I had the motherboard replaced due to random reboots and USB2 started working again after it had been dead for some time. It's a known issue which I thought would never come back after the brain transplant but it looks like it's happened again. Ah well. It's a company laptop and is due to be replaced in 6 months or so, so I can live with it. So I guess that next time I compile the kernel I'll just remove support for high speed.... sigh...

----------

## drizzt

Hum,

me is having the same problem. After using usb-storage devices for a while (random time scale) I get the exact same errormessages und everything stops working on my usb bus(usb-storage, mouse, etc) . I need to rmmod *_hcd modules and modprobe them again.

USB Ports are fine. Everything working in other OSes.

I'm using gentoo-2.6.17-r7 AMD64 Bit kernel.

Anybody, any suggestion ?

P.S. I think these Problems occured after upgrade to 2.6.17 but I'm not really 100% sure...

----------

## psychomunky

I am using x86 gentoo-sources-2.6.17+ and am experiencing similar problems.  I concur that it might be a post 2.6.17 kernel bug.  Although I haven't tried the 2.6.16 kernels yet to see.

----------

