Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/03/2008, à 17:46

rniamo

pilote USB [résolu]

bonjour,

comment programmer un pilote pour un volant USB à retour de force ? J'ai testé le pilote usbhid intégré au noyau 2.6.24.2 mais il ne marche pas avec mon périphérique (logitech G25).

Dernière modification par rniamo (Le 07/03/2008, à 16:47)


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#2 Le 06/03/2008, à 18:42

Chaussette

Re : pilote USB [résolu]

Salut !!

Il te faut big_smile :
1 : La documentation technique officiel de ton materiel usb retour de force, sinon
2 : te coller à son reverse engineering ..
3 : Connaitre de préférence le langage C, la programmation système et noyau linux.

Si tu es toujours d' attaque je t' invites à commencer ton odyssée d' ici : http://broux.developpez.com/articles/c/driver-c-linux/#L5

Dernière modification par Chaussette (Le 06/03/2008, à 18:42)


Les clowns se marient en grande pompes

Hors ligne

#3 Le 06/03/2008, à 19:07

rniamo

Re : pilote USB [résolu]

en ce qui concerne le C pas de problème, le reverse engineering...moyen, et la doc je ne sais pas où la trouvée sad.


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#4 Le 06/03/2008, à 20:03

Chaussette

Re : pilote USB [résolu]

Aie !

Connaitre le C , c' est déjà 50% du problème !

Pour la doc si tu ne l' as pas tu peux essayer de chercher sur le site officiel de la société, de demander par mail ou téléphone. Il te faut cette doc !!

Sinon c' est le reverse engineering obligé.

Ce n' est pas forcément difficile à faire, ça se résume à lire /dev/usb comme un fichier selon ce que tu actionnes sur le périph, et décoder les occurences.
C' est le côté sympa, tu vois ce qui se passe.

Le côté chaud (mais en s' inspirant d' un autre pilote ça devrait aller) c' est, vu qu' il s' agit d' un retour de force, tenter d' y écrire des informations pour voir comment il réagit, et comprendre quoi et comment lui envoyer...

Au fur et à mesure et en t' inspirant d' autres pilotes proche tu devrait y arriver.

Le mieux si vraiment tu comptes t' y mettre c' est quand même de contacter une communauté qui s' y connait un peu plus. Sur développez par exemple, sûr qu' eux ils seront te dire comment t' y prendre.

mes connaissances dans le sujet s' arrêtent là !
voilà bon courage!


Les clowns se marient en grande pompes

Hors ligne

#5 Le 07/03/2008, à 09:29

Karl_le_rouge

Re : pilote USB [résolu]

Pour faire un pilote usb, regarde du côté de libusb, c'est moins chiant de faire un pilote en espace utilisateur qu'en espace noyau.
Pour le reverse engineering, tu auras besoin d'un sniffer usb:
http://sourceforge.net/projects/usbsnoop/
http://eciadsl.flashtux.org/download.php

Il existe également des sniffers matériels mais ça coute bonbon.

Dernière modification par Karl_le_rouge (Le 07/03/2008, à 09:33)

Hors ligne

#6 Le 07/03/2008, à 16:37

rniamo

Re : pilote USB [résolu]

ok merci beaucoup. je vais regarder tout ça et m'y mettre.


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#7 Le 07/03/2008, à 18:58

YokoUno

Re : pilote USB [résolu]

hébé.. t'en as du courage toi smile

En supposant que c'est bien sous win que tu utilises le G25 (il peut également être utilisé avec une PS3) alors il existe sûrement un utilitaire de calibration fourni par Logitech, et tu as probablement intérêt à sniffer le port usb à ce moment-là plutôt que pendant un jeu. Question de reproductibilité et de propreté du trafic usb...

Sans doute sais-tu déjà qu'il existe un sous-ensemble de DirectX ayant pour nom DirectInput. Il s'agit d'une couche de plus haut niveau que le driver de chez Logitech. Pour info, il existe un exemple de code dans le SDK DirectX qui a trait au force feedback wink

Je voudrais pas t'induire en erreur, et te suggérer DirectX n'est pas forcément une bonne idée.
Néanmoins, il est possible que pour lever des ambiguités sur le trafic usb, et qu'ainsi ton reverse engineering soit efficace, tu ne puisses pas faire autrement que de coder tes propres petits bouts de progs DirectInput.

C'est un genre de Divide & Conquer, vu qu'il y a du monde: volant + pédales + boîte de vitesse + boutons !!

Bonne route wink

#8 Le 07/03/2008, à 19:27

rniamo

Re : pilote USB [résolu]

en fait il faut que se soit sous linux...


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#9 Le 07/03/2008, à 20:04

YokoUno

Re : pilote USB [résolu]

Nan mais j'avais bien compris lol

Seulement tu disais au premier post qu'il n'existe pas de pilote (sic) sous linux pour le G25.

Comment veux-tu faire du reverse autrement que sous un OS qui prend complètement en charge ton matos?
Windows, en l'occurence... big_smile

#10 Le 08/03/2008, à 00:07

rniamo

Re : pilote USB [résolu]

ok, c'est moi qui n'avais pas compris alors...enfin je viens de recompiler un noyau en ajoutant une ligne qui est censée ajouter le support du G25, je testerais lundi avant de me lancer dans des choses compilquée.

Encore merci pour vos posts forts instructifs.


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne