Je dois (entre autres choses) ecrire un driver pour un nouveau peripherique USB. Comme le peripherique est simple, j ai pense modifier le driver des USB-serial adapters, mais le developeur de ce driver m as plutot conseille d utiliser directement /proc pour interfacer mon peripherique ( comme le font les drivers de certains modems ADSL USB ). Le probleme, c est que je ne sais pas du tout ou cherche les docs pour ces choses la ...
Tout ce que je sais, c est que c est moi qui choisi le VID/PID du dit device. Donc j imagine qu il faudra que je parcourre tout l arbre /proc/bus/usb jusqu a trouver le bon periph ... mais comment accede t on aux differents EndPoint ? j ai 3 EndPoints a gerer ( c est pas encore trop complique :=) )
ou trouver des docs la dessus sans etre oblige de RT*S ?
# Re: Docs sur /proc/bus/usb
Posté par M . Évalué à 1.
l'on se que tu accepte le peripherique lors de l'enregistrement du connais le chemenin...
de plus je suis pas sur qu'il faille que tu utilise directement /proc/usb, mais il faut plutot que tu creer une autre entree dans proc genre /proc/driver/...
Tu peux deja regarder la doc du ernel sur l'usb
# Re: Docs sur /proc/bus/usb
Posté par TheBreton . Évalué à 1.
Pour la gestion d'un driver USB c'est tout simple !
(j'en ai deja fais quelques un)
je ne sait pas les caracterisque tes EP, mais si tu n'as que des transfert bulk a gere c'est meme deja tout fais, tu n'as cas allez voir dans les sources de ton kernel
/usr/src/linux/drivers/usb/usb-skeleton.c
ce driver intergre l'enumeration dans usbfs, le support devfs...
tout ce dont tu as besoin.
Si tu as des questions...
# Re: Docs sur /proc/bus/usb
Posté par Krunch (site web personnel) . Évalué à 1.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Re: Docs sur /proc/bus/usb
Posté par Snark_Boojum . Évalué à 2.
[^] # Faut par confondre
Posté par TheBreton . Évalué à 1.
libusb permet facilement , depuis l'espace user de relayer des requete USB c'est vrai,et c'est facile.
Mais un driver ne fait pas que ca !!
-quand on branche le device USB le driver devient actif (si charge par un insmod), avec libusb c'est quand tu demarre ton programme que tu parcours l'arbre usb pour trouver ton device.
-un driver dispose de toute l'attention du proc quand il en as besoin et des qu'un evenement surivent(callback completion sur les transfert), pas libusb
-tu recois tout les packet interrupt que ton device envoie des que disponible sans lattence, avec libusb c'est a toi de gere la lecture (et ce se ressent d'autant dans les performances).
bref j'arrete la mais la liste est longue.
libusb est un bel effort pour que tous les materiels usb fonctionne sous linux mais avec au depriment des performances (on peut pas tout avoir).
# Re: Docs sur /proc/bus/usb
Posté par doublehp (site web personnel) . Évalué à 1.
mais vos comments manquent d URL ....
[^] # Re: Docs sur /proc/bus/usb
Posté par TheBreton . Évalué à 1.
http://libusb.sourceforge.net/(...)
mais /proc n'est qu'un des moyen de communiquer entre un driver et l'espace utilisateur.
les ioctl en sont un autre.
Mais je pense que tu reussisse a te passer de l'ecriture d'un driver pour gerer ton device, et dans ce cas la l'usb-sketlon (je sait plus ou est le H dans le mot) sera le point de depart obliger pour toi.
Tes EP gerent quoi ? de quel type sont il (bulk/inter/iso)?
de quel class est ton device ?(c'est quoi que tu gere?)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.