# pendrive usb2.0 non utilizza ehci-hcd

## lonblu

H0 una pendrive 128MB usb2.0 ma non mi funziona ad alta velocità:

Secondo lsmod il driver ehci-hcd non viene utilzzato(unused) bensì sono in uso solo usb-storage e usb-core (l'ho fatto mentre trasferiva i dati).

Sapete dirmi come si fa a forzare il suo uso?

----------

## fedeliallalinea

Ma se non e' in uso ehci almeno uhci o ohci devono essere in uso. Non e' possibile che in uso sono solo usb-storage e usb-core.

----------

## randomaze

 *lonblu wrote:*   

> Secondo lsmod il driver ehci-hcd non viene utilzzato(unused) bensì sono in uso solo usb-storage e usb-core (l'ho fatto mentre trasferiva i dati).

 

Se non ricordo male il driver per l'usb 2.0 é l'uhci...no?

----------

## fedeliallalinea

 *randomaze wrote:*   

> Se non ricordo male il driver per l'usb 2.0 é l'uhci...no?

 

No e' ehci. uhci e ohci sono per usb 1.

----------

## lonblu

il driver 2.0 (secondo il Configure-help del kernel) è "ehci-hcd"

e ripeto che lsmod mi vede in uso solo usb-storage e usb-core (l'ho fatto anche più di una volta)[/b]

----------

## MyZelF

Attenzione che non sempre tutte le porte di un pc sono usb 2.0... hai provato a collegarla alle altre porte?

----------

## lonblu

 *Quote:*   

> Attenzione che non sempre tutte le porte di un pc sono usb 2.0... hai provato a collegarla alle altre porte?

 

Io c'ho una prolunga che esce da dietro-infondo al case collegata da 2mesi ad un scheda NEC Usb2.0 (funziona bene con windows e un po meno con mandrake9.2  )

----------

## fedeliallalinea

Sicuro che assieme a ehci non hai attivo anche uhci o ohci?

----------

## lonblu

Questo è l'output di lsmod mentre trasferisco a 400 KB/s di media (mi sto domandando ora se sia questa la massima velocità 2.0: inquesto caso scusatemi scriverò [RISOLTO, COME MAI SUCCESSO])

 *Quote:*   

> 
> 
> # lsmod|grep usb
> 
> usb-uhci               24432   0  (unused)
> ...

 

----------

## fedeliallalinea

Prova a lasciare solo caricato il modulo ehci.

----------

## lonblu

Mi sa proprio che mi stavo sbagliando ma ci dev'essere un bug perchè se trasferisco un file solo la velocità è attorno ai 400 ma se trasferisco una cartella della stessa dimensione (forse dipende anche dal numero di files che contiene) allora la media  si abbassa di gran lunga (+o- 10-30KB/s di media)

Comunque c'è anche il fatto che se tolgo la penna e la rimetto devo anche togliere e rimettere il modulo usb-storage affinche mi compaia il device

Comunque c'è qualcosa di molto oscuro in tutto questo.........

----------

## fedeliallalinea

 *lonblu wrote:*   

> Comunque c'è anche il fatto che se tolgo la penna e la rimetto devo anche togliere e rimettere il modulo usb-storage affinche mi compaia il device

 

Non e' che cambia solo il numero del device? es: invece di essere sul /dev/sda1 e sul /dev/sda2

----------

## FonderiaDigitale

Per essere sicuro, attacca il drive e vedi cosa ti dice dmesg. se usa usb 2.0 ehcd, hotplug ti spara qualcosa tipo 'attached new high speed device xxx'. altrimenti low.

----------

## lonblu

 *Quote:*   

> Non e' che cambia solo il numero del device? es: invece di essere sul /dev/sda1 e sul /dev/sda2

 

No, se faccio  ls  /dev/sd* dopo aver tolto e rimesso la pendrive l'output è 

sd sda sdb sdb1

(sdb sdb1 è come un altro drive dentro la stessa penna con indirizzo scsi diverso grande come un floppy disk)

sda1 è sparito! Non è che sia perchè uso il supermount in fstab?

(ho letto di un caso simile a cui hai partecipato)

Comunque con sudo forse forse dovrei poter creare un icona che mi rimuova-rimetta il modulo usb-storage e mi mandi al punto di mount, giusto?

Resta irrisolto però il problema della velocità...Ho letto da qualche parte (non mi ricordo dove) che linux può utilizzare 2 interfaccie per l'usb 2.0, una col modulo ehci-hdc e un'altra virtuale.......bo....   Non è che nel mio caso stia utilizzando la seconda senza usare il modulo  ehci-hdc 

Ma allora che driver sta usando per l'usb?

E perchè è veloce con 1 file ma non con una cartella(KDE forse)?

Che siano risolti questi problemi con i kernel serie 2.6.x, purtroppo l'ho dovuto lasciare in disparte il nuovo kernel finchè non mi buttano fuori i driver per il modem

....il modem usb!! a proposito!, funzionava nel messaggio precedente mentre ho fatto lsmod e usb-uhci risultava comunque inutilizzato

Stasera faccio qualche altra prova, ora sono appena venuto al lavoro (con windows) anche se non ho altro da fare che i fatti miei........

----------

## lonblu

Questo è l'output di dmesg quando attacco la penna

```

hub.c: new USB device 02:09.2-2, assigned address 2

scsi1 : SCSI emulation for USB Mass Storage devices

  Vendor:           Model: USB DISK Pro      Rev: 1.09

  Type:   Direct-Access                      ANSI SCSI revision: 02

  Vendor:           Model: USB DISK Pro      Rev: 1.09

  Type:   Direct-Access                      ANSI SCSI revision: 02

Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0

Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 1

SCSI device sda: 250880 512-byte hdwr sectors (128 MB)

sda: Write Protect is off

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

SCSI device sdb: 2880 512-byte hdwr sectors (1 MB)

sdb: Write Protect is off

 /dev/scsi/host1/bus0/target0/lun1: p1

WARNING: USB Mass Storage data integrity not assured

USB Mass Storage device found at 2

```

e questo è l'output di lsmod subito dopo

```

 # lsmod|grep hci

usb-uhci               24432   0  (unused)

usb-ohci               20008   0  (unused)

ehci-hcd               19372   0  (unused)

usbcore                66060   1  [usb-uhci e2 usb-ohci ehci-hcd usb-storage]

# lsmod|grep usb

usb-uhci               24432   0  (unused)

usb-ohci               20008   0  (unused)

usb-storage            26800   0  (unused)

usbcore                66060   1  [usb-uhci e2 usb-ohci ehci-hcd usb-storage]

scsi_mod               89664   5  (autoclean) [sg sd_mod ide-scsi usb-storage sr_mod]

```

e questo è l'output di dmesg quando rimuovo ehci-hcd

```

ehci_hcd 02:09.2: remove state 1

usb.c: USB disconnect on device 02:09.2-0 address 1

usb.c: USB disconnect on device 02:09.2-2 address 2

usb.c: USB bus 1 deregistered

hub.c: new USB device 02:09.1-1, assigned address 3

WARNING: USB Mass Storage data integrity not assured

USB Mass Storage device found at 3

```

 e rimetto

```

ehci_hcd 02:09.2: NEC Corporation USB 2.0

ehci_hcd 02:09.2: irq 11, pci mem e0a95000

usb.c: new USB bus registered, assigned bus number 1

ehci_hcd 02:09.2: USB 2.0 enabled, EHCI 0.95, driver 2003-Dec-29/2.4

hub.c: USB hub found

hub.c: 5 ports detected

usb.c: USB disconnect on device 02:09.1-1 address 2

hub.c: new USB device 02:09.2-2, assigned address 2

WARNING: USB Mass Storage data integrity not assured

USB Mass Storage device found at 2

```

----------

## lonblu

Mi correggo sull'output di "ls -l /dev/sd*"quando stacco e riattacco la penna 

```

# ls -l /dev/sd*

lr-xr-xr-x    1 root     root           33 Apr 26 22:40 /dev/sda -> scsi/host1/bus0/target0/lun0/disc

lr-xr-xr-x    1 root     root           33 Apr 26 22:40 /dev/sdb -> scsi/host1/bus0/target0/lun1/disc

lr-xr-xr-x    1 root     root           34 Apr 26 22:40 /dev/sdb1 -> scsi/host1/bus0/target0/lun1/part1

/dev/sd:

total 0

lr-xr-xr-x    1 root     root           36 Apr 26 22:40 c1b0t0u0 -> ../scsi/host1/bus0/target0/lun0/disc

lr-xr-xr-x    1 root     root           36 Apr 26 22:40 c1b0t0u1 -> ../scsi/host1/bus0/target0/lun1/disc

lr-xr-xr-x    1 root     root           37 Apr 26 22:40 c1b0t0u1p1 -> ../scsi/host1/bus0/target0/lun1/part1

```

----------

## motaboy

Dall'output di dmesg sembra che stia utilizzando ehci, visto che quando lo rimouvi il device viene riassegnato a uhci e quando lo rimonti viene riassegnato a uhci.

come vedi gli unused sono per tutti, infatti il driver usb-storage dialoga direttamente con usbcore e non con i moduli dell'host.

Puoi vedere cosa ti da un cat /proc/bus/usb/devices e vedere cosa ti dice il campo "spd:" di igni porta, e specialmente di quella a cui è connessa la chiave.

Bye!

----------

## lonblu

Il campo "spd:" non l'ho trovato comunque ecco l'output

```

# cat /proc/bus/usb/devices

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 0.00

S:  Product=USB UHCI Root Hub

S:  SerialNumber=b000

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms

T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0

D:  Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0572 ProdID=cb06 Rev= 0.01

S:  Manufacturer=-

S:  Product=ADSL USB MODEM

S:  SerialNumber=50070004

C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA

I:  If#= 0 Alt= 0 #EPs= 7 Cls=00(>ifc ) Sub=00 Prot=00 Driver=HasbaniAdslDriver

E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=03(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=84(I) Atr=03(Int.) MxPS=   8 Ivl=200ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 0.00

S:  Product=USB OHCI Root Hub

S:  SerialNumber=e0a9f000

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 13 Spd=12  MxCh= 0

D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0d7d ProdID=1320 Rev= 0.50

S:  Manufacturer=

S:  Product=USB DISK Pro

S:  SerialNumber=073C16490085

C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA

I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 3

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 0.00

S:  Product=USB OHCI Root Hub

S:  SerialNumber=e0a9d000

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

```

----------

## motaboy

```

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 13 Spd=12  MxCh= 0 

D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1 

P:  Vendor=0d7d ProdID=1320 Rev= 0.50 

S:  Manufacturer= 

S:  Product=USB DISK Pro 

S:  SerialNumber=073C16490085 

C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA 

I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage 

E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms 

E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms 

```

Il campo Spd=12 significa che va a bassa velocità. Però è un output un pò strano, nel senso che non appare niente relativo all'ehci.

Ce la fai a postare lo stesso con però TUTTI i device usb staccati?

Forse l'hai già detto ma che kernel usi?

Bye!

----------

## lonblu

Il kernel è l'ultimo stabile in portage: kernel2.4.25-gentoo-r2

non mi chiedere di usare il 2.6.x

Grazie per il supporto!

```

 # cat /proc/bus/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 0.00

S:  Product=USB UHCI Root Hub

S:  SerialNumber=b000

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 0.00

S:  Product=USB OHCI Root Hub

S:  SerialNumber=e0a9f000

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 3

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 0.00

S:  Product=USB OHCI Root Hub

S:  SerialNumber=e0a9d000

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

```

----------

## motaboy

C'è qualcosa che non va... non vede le porte usb 2.0.

prova con lsusb -v e cerca i campi "bcdUSB" per vedere se in almeno 1 c'è scritto 2.00 o se in tutti c'è scritto 1.10.

Nel qual caso (tutti 1.10) non saprei cosa dirti se non l'upgrade al 2.6, immagino che non ci saranno i driver per il modem usb?

Bye!

----------

## lonblu

Vorrei piangere! No mi metterò d'impegno col 2.6!

```

#  lsusb -v|grep bcdUSB

  bcdUSB               1.00

  bcdUSB               1.10

  bcdUSB               1.10

  bcdUSB               1.10

  bcdUSB               1.10

```

Ma sai dirmi perchè non ricompaie /dev/sda1 quando stacco e riattacco la pendrive: è necessario che stia a togliere e rimuovere usb-storage ogni volta?

----------

## randomaze

 *fedeliallalinea wrote:*   

> No e' ehci. uhci e ohci sono per usb 1.

 

Uff... la vecchiaia avanza e inizia a fare i suoi effetti...

 *lonblu wrote:*   

> non mi chiedere di usare il 2.6.x

 

Se posso essere indiscreto... come mai?

----------

## motaboy

 *lonblu wrote:*   

> Vorrei piangere! No mi metterò d'impegno col 2.6!
> 
> ```
> 
> #  lsusb -v|grep bcdUSB
> ...

 

E quell'1.00 li chellè, una scheda di 600 anni fa?

Potresti provare a disabilitare da Bios l'USB intregrato sulla scheda madre a tenere solamente quello della scheda NEC, magari qualcosa migliora.

 *Quote:*   

> 
> 
> Ma sai dirmi perchè non ricompaie /dev/sda1 quando stacco e riattacco la pendrive: è necessario che stia a togliere e rimuovere usb-storage ogni volta?

 

Secondo me è una cosa anch'essa legata all'usb. Non saprei dirti perchè io usa 2.6 con udev, perciò ho abolito devfs e tutti i problemi che il 2.4 mi dava, io col 2.4 non potevo nemmenu usare l'usb per problemi con usbfs.

Bye!

----------

## lonblu

randomaze ha scritto:

 *Quote:*   

> 
> 
> No e' ehci. uhci e ohci sono per usb 1. 
> 
> Uff... la vecchiaia avanza e inizia a fare i suoi effetti... 
> ...

 

Hai ragione ho sparato una cazzata a riguardo "uhci e ohci sono per usb 1" : sono driver per usb generici , giusto? Mo correggo il messaggio.

Non posso usare il kernel 2.6 perchè non sono usciti i driver per il modem usb

----------

## FonderiaDigitale

uhci e ohci sono 2 implementazioni diverse che lavorano su hardware diversi.. in genere una esclude l'altra.

Ma cmq supportano usb 1.1 soltanto.

----------

