OVH Cloud OVH Cloud

périphérique USB non identifié (PUNI ?)

5 réponses
Avatar
LECOQ Vincent
Bonjour,

J'ai récupéré un PDA (Pocket gear 2060) d'occaz.
Un se connecte au PC via un cable USB.
Il n'est pas reconnu par windows (meme avec le driver constructeur ...)
qui voit bien un périphérique USB mais qui n'est pas capable de l'utiliser.
Idem avec Linux qui detecte bien lui aussi un périphérique USB mais il
n'arrive pas a l'identifier (seul dmesg me permet de le savoir, usbview
est muet)
Il a juste un numero de client du bus USB qui lui est attribué.
Je songe a m'écrire le driver pour linux.
Mais avant cela je voudrait savoir si il existe un soft qui permette
d'envoyer des commandes simples a un périphérique USB (genre reglage de
la cible, envoi de commande standard, envoi de données en brut ... etc ).
Vous croyez que ca existe ?
Merci :)

5 réponses

Avatar
Nicolas George
LECOQ Vincent wrote in message
<4221d368$0$32644$:
Mais avant cela je voudrait savoir si il existe un soft qui permette
d'envoyer des commandes simples a un périphérique USB (genre reglage de
la cible, envoi de commande standard, envoi de données en brut ... etc ).
Vous croyez que ca existe ?


/proc/bus/usb/ est fait pour ça, et la libusb permet un accès plus générique
et portable.

Avatar
LECOQ Vincent
Nicolas George wrote:
LECOQ Vincent wrote in message
<4221d368$0$32644$:

Mais avant cela je voudrait savoir si il existe un soft qui permette
d'envoyer des commandes simples a un périphérique USB (genre reglage de
la cible, envoi de commande standard, envoi de données en brut ... etc ).
Vous croyez que ca existe ?



/proc/bus/usb/ est fait pour ça, et la libusb permet un accès plus générique
et portable.



/proc/bus/usb/devices :


T: Bus Lev Prnt Port Cnt Dev#= 1 SpdH0 MxCh= 6
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls (hub ) Sub Prot MxPS= 8 #Cfgs= 1
P: Vendor00 ProdID00 Rev= 2.06
S: Manufacturer=Linux 2.6.10-3mdksmp ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber00:00:13.2
C:* #Ifs= 1 Cfg#= 1 AtrÀ MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls (hub ) Sub Prot Driver=hub
E: Ad(I) Atr(Int.) MxPS= 2 Ivl%6ms

T: Bus Lev Prnt Port Cnt Dev#= 1 Spd MxCh= 3
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls (hub ) Sub Prot MxPS= 8 #Cfgs= 1
P: Vendor00 ProdID00 Rev= 2.06
S: Manufacturer=Linux 2.6.10-3mdksmp ohci_hcd
S: Product=OHCI Host Controller
S: SerialNumber00:00:13.1
C:* #Ifs= 1 Cfg#= 1 AtrÀ MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls (hub ) Sub Prot Driver=hub
E: Ad(I) Atr(Int.) MxPS= 2 Ivl%5ms

T: Bus Lev Prnt Port Cnt Dev#= 2 Spd MxCh= 0
D: Ver= 1.00 Cls(>ifc ) Sub Prot MxPS= 8 #Cfgs= 1
P: Vendorf0 ProdID04 Rev= 1.00
S: Manufacturer=Hewlett-Packard
S: ProductÞskJet 930C
S: SerialNumber=CN13T1S1VGJJ
C:* #Ifs= 1 Cfg#= 1 Atr@ MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 2 Cls(print) Sub Prot Driver=usblp
E: Ad(I) Atr(Bulk) MxPS= 64 Ivl=0ms
E: Ad(O) Atr(Bulk) MxPS= 64 Ivl=0ms
I: If#= 0 Alt= 1 #EPs= 2 Cls(print) Sub Prot Driver=usblp
E: Ad(O) Atr(Bulk) MxPS= 64 Ivl=0ms
E: Ad‚(I) Atr(Bulk) MxPS= 64 Ivl=0ms

T: Bus Lev Prnt Port Cnt Dev#= 1 Spd MxCh= 3
B: Alloc= 24/900 us ( 3%), #Int= 3, #Iso= 0
D: Ver= 1.10 Cls (hub ) Sub Prot MxPS= 8 #Cfgs= 1
P: Vendor00 ProdID00 Rev= 2.06
S: Manufacturer=Linux 2.6.10-3mdksmp ohci_hcd
S: Product=OHCI Host Controller
S: SerialNumber00:00:13.0
C:* #Ifs= 1 Cfg#= 1 AtrÀ MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls (hub ) Sub Prot Driver=hub
E: Ad(I) Atr(Int.) MxPS= 2 Ivl%5ms

T: Bus Lev Prnt Port Cnt Dev#= 2 Spd MxCh= 0
D: Ver= 1.10 Clsÿ(vend.) Sub Prot MxPS= 8 #Cfgs= 1
P: Vendora9 ProdID"0d Rev= 1.00
S: ManufacturerÊnon
S: ProductÊnoScan
C:* #Ifs= 1 Cfg#= 1 Atr  MxPwrP0mA
I: If#= 0 Alt= 0 #EPs= 3 Clsÿ(vend.) Sub Protÿ Driver=(none)
E: Ad(I) Atr(Int.) MxPS= 1 Ivlms
E: Ad‚(I) Atr(Bulk) MxPS= 64 Ivl=0ms
E: Ad(O) Atr(Bulk) MxPS= 64 Ivl=0ms

T: Bus Lev Prnt Port Cnt Dev#= 3 Spd MxCh= 4
D: Ver= 1.10 Cls (hub ) Sub Prot MxPS= 8 #Cfgs= 1
P: Vendor51 ProdID46 Rev= 1.10
C:* #Ifs= 1 Cfg#= 1 Atrà MxPwr0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls (hub ) Sub Prot Driver=hub
E: Ad(I) Atr(Int.) MxPS= 1 Ivl%5ms

T: Bus Lev Prnt Port Cnt Dev#= 4 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls(>ifc ) Sub Prot MxPS= 8 #Cfgs= 1
P: Vendor5e ProdID2b Rev= 1.14
S: Product=Microsoft Internet Keyboard Pro
C:* #Ifs= 2 Cfg#= 1 Atr  MxPwr0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls(HID ) Sub Prot Driver=usbhid
E: Ad(I) Atr(Int.) MxPS= 8 Ivlms
I: If#= 1 Alt= 0 #EPs= 1 Cls(HID ) Sub Prot Driver=usbhid
E: Ad‚(I) Atr(Int.) MxPS= 3 Ivlms



cad ... il y est pas ...


infos de dmesg lors du branchement :

usb 2-3: new low speed USB device using ohci_hcd and address 3
usb 2-3: device not accepting address 3, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 4
usb 2-3: device not accepting address 4, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 5
usb 2-3: device descriptor read/64, error -110
usb 2-3: device descriptor read/64, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 6
usb 2-3: device descriptor read/64, error -110
usb 2-3: device descriptor read/64, error -110


je cherche la signification de error -110, je n'arrive pas a trouver une
table de correspondance.

le vais jeter un oeil a libusb :)


Merci !


Avatar
Nicolas George
LECOQ Vincent wrote in message
<4221d6d1$0$24841$:
infos de dmesg lors du branchement :

usb 2-3: new low speed USB device using ohci_hcd and address 3
usb 2-3: device not accepting address 3, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 4
usb 2-3: device not accepting address 4, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 5
usb 2-3: device descriptor read/64, error -110
usb 2-3: device descriptor read/64, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 6
usb 2-3: device descriptor read/64, error -110
usb 2-3: device descriptor read/64, error -110

je cherche la signification de error -110, je n'arrive pas a trouver une
table de correspondance.


Comme souvent avec le noyau, ce sont des opposés de valeurs d'errno, la
correspondance est donc dans errno.h et les fichiers inclus, en l'occurence
asm-generic/errno.h : 110 est ETIMEDOUT, ce qui signifie que le device ne
répond pas dans les temps. C'est probablement un problème matériel.

Avatar
LECOQ Vincent
Nicolas George wrote:
LECOQ Vincent wrote in message
<4221d6d1$0$24841$:

infos de dmesg lors du branchement :

usb 2-3: new low speed USB device using ohci_hcd and address 3
usb 2-3: device not accepting address 3, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 4
usb 2-3: device not accepting address 4, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 5
usb 2-3: device descriptor read/64, error -110
usb 2-3: device descriptor read/64, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 6
usb 2-3: device descriptor read/64, error -110
usb 2-3: device descriptor read/64, error -110

je cherche la signification de error -110, je n'arrive pas a trouver une
table de correspondance.



Comme souvent avec le noyau, ce sont des opposés de valeurs d'errno, la
correspondance est donc dans errno.h et les fichiers inclus, en l'occurence
asm-generic/errno.h : 110 est ETIMEDOUT, ce qui signifie que le device ne
répond pas dans les temps. C'est probablement un problème matériel.


zarb :-/
d'après les premières lignes, il n'accepte pas l'adresse proposée, donc
qu'il reponds ...
Puis il accepte les suivantes, donc il a toujours l'air de repondre ...
Mais il a effectivement un soucis : le windows qui est dessus est crashé
et ne démarre plus ... donc la logique qui va derrière ne reponds
effectivement plus ...
Mon but est de justement faire un driver USB pour pouvoir le flasher et
dons le réinstaller ...
Arg ...


Avatar
l'indien
On Sun, 27 Feb 2005 15:43:43 +0100, LECOQ Vincent wrote:

Nicolas George wrote:
LECOQ Vincent wrote in message
<4221d6d1$0$24841$:

infos de dmesg lors du branchement :

usb 2-3: new low speed USB device using ohci_hcd and address 3
usb 2-3: device not accepting address 3, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 4
usb 2-3: device not accepting address 4, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 5
usb 2-3: device descriptor read/64, error -110
usb 2-3: device descriptor read/64, error -110
usb 2-3: new low speed USB device using ohci_hcd and address 6
usb 2-3: device descriptor read/64, error -110
usb 2-3: device descriptor read/64, error -110

je cherche la signification de error -110, je n'arrive pas a trouver une
table de correspondance.



Comme souvent avec le noyau, ce sont des opposés de valeurs d'errno, la
correspondance est donc dans errno.h et les fichiers inclus, en l'occurence
asm-generic/errno.h : 110 est ETIMEDOUT, ce qui signifie que le device ne
répond pas dans les temps. C'est probablement un problème matériel.


zarb :-/
d'après les premières lignes, il n'accepte pas l'adresse proposée, donc
qu'il reponds ...


Non. Si l'erreur est ETIMEDOUT, ça veut dire justement qu'il ne réponds
pas dans la frame ou la requête a été envoyée (dans la milli-seconde,
donc). Il faut savoir qu'un device USB est libre de répondre ou pas aux
requêtes.
Dans ton cas, il ne répond jamais (la requete qui lui donne une addresse
est toujours la première requête: on ne peut rien faire d'un device
sans addresse). Il faut déjà que tu le mettes en état de répondre, sinon
tu ne pourras jamais rien faire avec.