# iRiver IHP-120 not working on usb2.0

## kung.foo

Has anyone got a concrete tutorial how to get this one running under 2.6.6?? I ran through the tut (https://forums.gentoo.org/viewtopic.php?t=53537&postdays=0&postorder=asc&highlight=ihp120&start=0) but i didn't help me. When i plug in my player dmesg changes to:

```
usb 1-4: new high speed USB device using address 2

usb 1-4: device not accepting address 2, error -71

usb 1-4: new high speed USB device using address 3

usb 1-4: device not accepting address 3, error -71

usb 1-4: new high speed USB device using address 4

usb 1-4: device not accepting address 4, error -71

usb 1-4: new high speed USB device using address 5

usb 1-4: device not accepting address 5, error -71

usb 1-4: new high speed USB device using address 6

usb 1-4: device not accepting address 6, error -71

usb 1-4: new high speed USB device using address 7

usb 1-4: device not accepting address 7, error -71

usb 1-4: new high speed USB device using address 8

usb 1-4: device not accepting address 8, error -71

usb 1-4: new high speed USB device using address 9

usb 1-4: device not accepting address 9, error -71

usb 1-4: new high speed USB device using address 10

usb 1-4: device not accepting address 10, error -71

usb 1-4: new high speed USB device using address 11

usb 1-4: device not accepting address 11, error -71

usb 1-4: new high speed USB device using address 12

usb 1-4: device not accepting address 12, error -71

```

Does anyone have any ideas about how to chage this??

----------

## kung.foo

Update:

One time the crap worked. Now if I reproduce my behaviour. It does not work anymore, even if I reboot to really have clean slate. (Should not be necessary if reloading _all_ usb modules). Right now I have as modules: (loeaded in this order)

usbcore

usb-storage

ehci-hcd

uhci-hcd

and other, not even touching the topic of usb...

Even more facts:

It's still kernel 2.6.6 (vanilla) on a IBM T40p. Everything else runs smoothly.

It would be nice to leave usb stuff as modules, since it's a laptop and without reloading the modules, repeatedly plugging a usb-mouse in and out borks the modules...

*sigh*

any ideas?

*/sigh*

----------

## sdaffis

I don't know if I'm a little OT now, but shouldn't you also have the appropriate SCSI modules loaded?   :Confused: 

----------

## kung.foo

You are right about scsi support, but I have that built-in...

----------

## kung.foo

Update: I treid a simple USB 2.0 stick...

dmesg changes to:

```

ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001803 POWER sig=j  CSC CONNECT

hub 1-0:1.0: port 4, status 501, change 1, 480 Mb/s

hub 1-0:1.0: debounce: port 4: delay 100ms stable 4 status 0x501

ehci_hcd 0000:00:1d.7: port 4 reset error -110

ehci_hcd 0000:00:1d.7: CTRL: TypeReq=0xa300 val=0x0 idx=0x4 len=4 ==> -32

hub 1-0:1.0: hub_port_status failed (err = -32)

hub 1-0:1.0: port 4 not enabled, trying reset again...

ehci_hcd 0000:00:1d.7: port 4 reset error -110

ehci_hcd 0000:00:1d.7: CTRL: TypeReq=0xa300 val=0x0 idx=0x4 len=4 ==> -32

hub 1-0:1.0: hub_port_status failed (err = -32)

hub 1-0:1.0: port 4 not enabled, trying reset again...

ehci_hcd 0000:00:1d.7: port 4 reset error -110

ehci_hcd 0000:00:1d.7: CTRL: TypeReq=0xa300 val=0x0 idx=0x4 len=4 ==> -32

hub 1-0:1.0: hub_port_status failed (err = -32)

hub 1-0:1.0: port 4 not enabled, trying reset again...

ehci_hcd 0000:00:1d.7: port 4 reset error -110

ehci_hcd 0000:00:1d.7: CTRL: TypeReq=0xa300 val=0x0 idx=0x4 len=4 ==> -32

hub 1-0:1.0: hub_port_status failed (err = -32)

hub 1-0:1.0: port 4 not enabled, trying reset again...

ehci_hcd 0000:00:1d.7: port 4 reset error -110

ehci_hcd 0000:00:1d.7: CTRL: TypeReq=0xa300 val=0x0 idx=0x4 len=4 ==> -32

hub 1-0:1.0: hub_port_status failed (err = -32)

hub 1-0:1.0: port 4 not enabled, trying reset again...

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

```

The output looks now similar when i connect the palyer (external HDD) to the laptop.

Here's my lsmod output:

```

Module                  Size  Used by

fglrx                 204164  9

ath_pci                39204  0

wlan                   57896  2 ath_pci

ath_hal               128848  2 ath_pci

usbhid                 30016  0

usbmouse                4480  0

uhci_hcd               28172  0

ehci_hcd               36228  0

usb_storage            38912  0

usbcore               102620  7 usbhid,usbmouse,uhci_hcd,ehci_hcd,usb_storage

```

----------

## Coogee

I also have this player (I love it!) and I use kernel 2.6.6, too.

Everything works perfectly here.

My dmesg output looks like this:

```
usb 3-3: new high speed USB device using address 2

Initializing USB Mass Storage driver...

scsi2 : SCSI emulation for USB Mass Storage devices

  Vendor: TOSHIBA   Model: MK2004GAL         Rev: JA02

  Type:   Direct-Access                      ANSI SCSI revision: 02

SCSI device sda: 39063024 512-byte hdwr sectors (20000 MB)

sda: assuming drive cache: write through

 /dev/scsi/host2/bus0/target0/lun0: p1

Attached scsi disk sda at scsi2, channel 0, id 0, lun 0

Attached scsi generic sg2 at scsi2, channel 0, id 0, lun 0,  type 0

USB Mass Storage device found at 2

usbcore: registered new driver usb-storage

USB Mass Storage support registered.

Unable to load NLS charset cp437

usb 3-3: USB disconnect, address 2

usb 3-3: new high speed USB device using address 3

scsi3 : SCSI emulation for USB Mass Storage devices

  Vendor: TOSHIBA   Model: MK2004GAL         Rev: JA02

  Type:   Direct-Access                      ANSI SCSI revision: 02

SCSI device sda: 39063024 512-byte hdwr sectors (20000 MB)

sda: assuming drive cache: write through

 /dev/scsi/host3/bus0/target0/lun0: p1

Attached scsi disk sda at scsi3, channel 0, id 0, lun 0

Attached scsi generic sg2 at scsi3, channel 0, id 0, lun 0,  type 0

USB Mass Storage device found at 3

```

What kind of "SCSI support" do you use? You need "SCSI disk support" for this device.

Why don't you use hotplug?

----------

## kung.foo

I have scsi disk support turned on (compiled into kernel, not as module).

what do you mean with: "hotplug"?

something like: 

```

hotplug usb

hotplug scsi

```

----------

## Coogee

Hotplug is a daemon service running in the backbround, what detects new USB devices and adds them to /dev/ automatically.

```
emerge hotplug

rc-update add hotplug default

reboot or /etc/init.d/hotplug start
```

With hotplug you don't have to load the USB modules manually.

I simply plug-in the player and mount it.

----------

## kung.foo

I think i already have hotplug running, as plugging in a USB-mouse automatically loads modules for mouse support and the mouse gets also registered in /dev/

Edit:

ps aux | grep hot does not list hotplug...

I suppose it's not running then   :Smile: 

----------

## BiOCHiP

This module autoloading can also be done by devfs, or udev in combination with hotplug. So, no deamon has to be running to attain this behavior. Still, this is all a little offtopic, and as for the original problem, I'm at a loss. When I look at all the errors (device not accepting addresses, failed port status, disabled ports) I'm tempted to think you've got a malfunctioning USB port(s). Have you tried different USB ports? Have you tried the device on another machine? Do other USB devices work? Try to borrow a separate USB add-on card and try it on that.

Edit: and I suddenly remember: it might be a low quality USB cable which isn't able to handle USB2

----------

## kung.foo

 *BiOCHiP wrote:*   

>  Do other USB devices work? Try to borrow a separate USB add-on card and try it on that.

 

I do not think the ports are not working correctly, if I boot Windows (dear GOD what am I doing here??  :Wink: ) the ywork. I think i have some kind of strange thing going around between USB2.0 controller on the mainboard and the kernel module. USB 1.0 devices work just fine.

I also treid USB 2.0 memory sticks and other of that stuf... Don't work either. Remember it worked once, i could even MOUNT the HDD....

 *Quote:*   

> 
> 
> Edit: and I suddenly remember: it might be a low quality USB cable which isn't able to handle USB2

 

I don't think that hits it. The cable works just nice on Windows.... (Altough other things do quite NOT work with Windows running)

----------

## BiOCHiP

Okay, I'm going to start guessing now. Try reversing the order of uhci and ehci when you load your modules. Don't know if it makes any difference, but the ehci module is the USB2 extention and works on top of uhci (iirc). Also, load usb_storage after you've loaded the other modules. As I said, this is just a guess, but it's worth a try.

Another thing you can try is not loading the ehci module at all. The device should work anyway, but in USB1.1 mode.

----------

## kung.foo

Biochip: I0ll try that immidiately when i get home from university. I already thougth of that today, but haven't got my player here (doesn't work anyway =)).

----------

## kung.foo

with only uhci-hcd and usb-storage loaded the HDD works, but is just too awfully slow...

Iw ill definetely have to try 'till it works in usb 2.0 mode. Otherwise it just plainly sucks  :Wink: 

----------

## Coogee

 *kung.foo wrote:*   

> with only uhci-hcd and usb-storage loaded the HDD works, but is just too awfully slow...
> 
> Iw ill definetely have to try 'till it works in usb 2.0 mode. Otherwise it just plainly sucks 

 

Please check if USB2.0 is enabled in your BIOS settings.

----------

## Coogee

I found this thread after some Google-ing:

http://forums.windrivers.com/showthread.php?t=58031

It's not about an IHP-120, but it is the same problem. Maybe it is "just" a hardware problem...  :Sad: 

----------

## kung.foo

 *Coogee wrote:*   

>  *kung.foo wrote:*   with only uhci-hcd and usb-storage loaded the HDD works, but is just too awfully slow...
> 
> Iw ill definetely have to try 'till it works in usb 2.0 mode. Otherwise it just plainly sucks  
> 
> Please check if USB2.0 is enabled in your BIOS settings.

 

I'll just check, to be sure, but i think otherwise it wouldn't work on Windows anyway...

EDIT:

I don't think it is a hardware Problem, indeed i do have the same laptop as the other users, but if I boot sucking Windows, it works...

----------

## Coogee

Sorry, no further ideas from my side. I hope you'll find a solution soon.

----------

## BiOCHiP

Just to make sure: if you've got the thing working with USB1.1, and you unmount the drive, and then modprobe ehci-ucd, does it give the same problems as before? And if you remove the iriver and plug it back in?

----------

## kung.foo

I found out how the stuff works!

If I only load ehci-hcd (can't use a USB-Mouse then), it works, the device gets its address right and you can enjoy cool speedy copy-processes from and to the player (HDD).

I will have to try out if it is necessary to first connect the player as a USB 1.1 Device and then USB 2.0 or if it works without the nasty first step...

I can partly live with this solution of the problem, since I do not copy music to my player every two hours. Maybe I'll find out a better way...

Otherwise I'm just gonna have to write some scripts to do the Module un/re-loading for me.  :Smile: 

Thanks to anyone who tried to help out!!

----------

## Tiny_Guy

kung.foo: I have the same problem with usb 2.0.  I have a usb 2.0 stick that doesn't accept the address and therefore I use my device with usb 2.0

----------

## kung.foo

 *Tiny_Guy wrote:*   

> kung.foo: I have the same problem with usb 2.0.  I have a usb 2.0 stick that doesn't accept the address and therefore I use my device with usb 2.0

 

So you have it also running with only the usb 2.0 module loaded? Maybe you should try that.

----------

## Tiny_Guy

Actually, I use both ohci and ehci because I use a usb mouse that doesn't work unless I have ohci loaded.

----------

## kung.foo

Now I'm stuck again...

Didn't change anything. And suddenly dmesg looks like this:

```

ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes

ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes

usb 1-4: device not accepting address 5, error -71

ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001002 POWER sig=se0  CSC

ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001803 POWER sig=j  CSC CONNECT

hub 1-0:1.0: port 4, status 0501, change 0001, 480 Mb/s

hub 1-0:1.0: debounce: port 4: delay 100ms stable 4 status 0x501

hub 1-0:1.0: port 4 not reset yet, waiting 50ms

ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001002 POWER sig=se0  CSC

ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001803 POWER sig=j  CSC CONNECT

hub 1-0:1.0: port 4, status 0501, change 0001, 480 Mb/s

hub 1-0:1.0: debounce: port 4: delay 100ms stable 4 status 0x501

hub 1-0:1.0: port 4 not reset yet, waiting 50ms

ehci_hcd 0000:00:1d.7: port 4 high speed

ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001005 POWER sig=se0  PE CONNECT

usb 1-4: new high speed USB device using address 6

ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes

ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes

usb 1-4: device not accepting address 6, error -71

hub 1-0:1.0: port 4 not reset yet, waiting 50ms

ehci_hcd 0000:00:1d.7: port 4 high speed

ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001005 POWER sig=se0  PE CONNECT

usb 1-4: new high speed USB device using address 7

ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes

ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes

usb 1-4: device not accepting address 7, error -71

```

In between it even worked, to connect the player with both modules uhci and ehci loaded (right after updating player fimrware). Now it just playinly sucks again...

What the hell is wrong??

----------

