Auteur Sujet: Driver réseau "fait maison" pour Windows  (Lu 8378 fois)

0 Membres et 1 Invité sur ce sujet

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 987
Driver réseau "fait maison" pour Windows
« le: 03 juin 2012 à 19:30:07 »
Bonjour à tous,

J'ai un projet perso de modem radioamateur qui nécessiterai de faire un driver réseau spécifique.
Je n'ai jamais fait ça, est-ce que quelqu'un d'entre vous a déjà touché à ce genre de choses? Vu le nombre d'experts en réseau sur le forum, je me dis que j'ai un espoir!

Je compte faire un truc compatible windows XP et ultérieur (vista, 7).
Le protocole dans le modem serait un truc fait maison, il n'échange pas que des données IP avec le PC, donc je dois mettre un soft entre l'interface modem, et le driver.
Le soft principal èmet et reçoit des infos au modem via une puce "FT2232", qui est une puce d'interface USB2. Le plus simple pour dialoguer avec, c'est d'émuler un port série. Ca, je sais faire, j'ai commencé à bidouiller avec.
A la sortie du programme associé au modem, on aura des trames IP brutes (pas Ethernet).
Bien évidemment, il faut qu'un bout de mon programme soit appelé à chaque fois qu'il voit une trame IP à envoyer.

Pour le paramétrage (adresse IP, passerelle, DNS, etc), même si ça n'est que manuel dans un premier temps, ça me va très bien, chaque chose en son temps! Bien évidemment, je me contente d'IPV4.

J'ai un peu feuilleté les pages "driver" et "driver réseau" de windows, mais ça ressemble beaucoup à du charabia pour moi. J'ai un peu peur que ce soit inaccessible pour mes connaissance basiques. Mais je me dis aussi que je n'aurais pas besoin d'utiliser toutes les fonctions optionnelles. Je souhaite faire quelque chose de simple, le plus simple possible avant tout.
Je peux programmer en C, C++, ou C#, peu importe.

Bref, c'est faisable, à votre avis? Ou alors je suis en plein délire? Vous avez des cours ou des tutoriels sur le sujet? Des exemples?
Bien évidemment, si vous voyez une autre solution plus simple que l'écriture d'un nouveau driver, je suis également preneur! Du moment que c'est simple et accessible.
Merci d'avance pour votre aide à tous.

Leon.

vivien

  • Administrateur
  • *
  • Messages: 47 175
    • Twitter LaFibre.info
Driver réseau "fait maison" pour Windows
« Réponse #1 le: 03 juin 2012 à 20:14:26 »
Tu souhaites faire passer des paquets IPv4 sur la radio et les récupérer à l'autre bout (donc un pont) ?

Peu de personnes savent programmer des drivers, la probabilité d'en avoir un ici est faible.

J'ai par contre vu des revues (dispo en kiosque) qui abordent le sujet régulièrement. Tu pourrais peut être trouver une aide dans les anciens numéros.

thenico

  • Expert.
  • Abonné OVH
  • *
  • Messages: 1 009
  • FTTH >500 Mb/s (13)
Driver réseau "fait maison" pour Windows
« Réponse #2 le: 03 juin 2012 à 20:22:11 »
Regarde du côté de SLIP pour la partie réseau et d'un driver série virtuel comme com0com.

Cela donnerait un assemblage dans le style stack IPv4 Windows  => SLIP => com0com => ton_deamon_gerant_le_modem => RS232 => ton_modem

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 987
Driver réseau "fait maison" pour Windows
« Réponse #3 le: 03 juin 2012 à 20:28:09 »
Tu souhaites faire passer des paquets IPv4 sur la radio et les récupérer à l'autre bout (donc un pont) ?
Oui, c'est exactement ça.

Citer
Peu de personnes savent programmer des drivers, la probabilité d'en avoir un ici est faible.
Je me disais qu'il y avait peut-être des étudiants, ou anciens étudiants qui auraient vu ça dans leurs cours.

Citer
J'ai par contre vu des revues (dispo en kiosque) qui abordent le sujet régulièrement. Tu pourrais peut être trouver une aide dans les anciens numéros.
Quelle genre de revue, stp? Ca m'intéresse.

Cela donnerait un assemblage dans le style stack IPv4 Windows  => SLIP => com0com => ton_deamon_gerant_le_modem => RS232 => ton_modem
Oui, j'y ai pensé. C'est un peu lourd à mettre en oeuvre, mais ça serait effectivement beaucoup plus simple à programmer!

J'ai aussi une autre alternative, qui est de créer une 2ieme connexion série depuis le modem, qui transporte du SLIP. Mais je ne sais pas si le microcontrôleur du modem pourrait suivre la cadence (ARM Cortex M3).

Merci en tout cas pour vos réponses. Je vais continuer à chercher.

Leon.

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 987
Driver réseau "fait maison" pour Windows
« Réponse #4 le: 11 juillet 2014 à 08:57:59 »
Salut à tous. Je déterre mon sujet, car je vais probablement ressortir mes bidouilles dans un futur proche.

SLIP était une très bonne piste. J'avais déjà testé, pour faire communiquer 2 PC sous Win XP, et ça fonctionnait plutot bien.

MAIS (oui, il y a un mais) SLIP n'est plus supporté sur Windows 7 et 8!

Donc je fais de nouveau appel à vos idées. D'après-vous, est-ce qu'il existe d'autres solutions alternatives pas trop complexes à mettre en oeuvre, pour répondre à mon besoin? Et qui soit compatible Win7 et 8?

Merci d'avance pour votre aide!

Leon.

vivien

  • Administrateur
  • *
  • Messages: 47 175
    • Twitter LaFibre.info
Driver réseau "fait maison" pour Windows
« Réponse #5 le: 11 juillet 2014 à 09:18:32 »
J'entends d'ici totonrobert :
Bawé, c'est pas simple de payer les conneries du passé, hein ?
La procrastination n'aide en rien le problème
Ça ressemble fort à une bouse fait à la rache ton truc;

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
Driver réseau "fait maison" pour Windows
« Réponse #6 le: 11 juillet 2014 à 10:48:07 »
C'est typiquement un sujet pour lequel tu trouveras de l'aide dans la communauté DYI (Raspberry PI et surtout Arduino) mais plus coté Linux que Windows donc.
C'est impératif Windows?

Le souci avec Windows c'est la complexité des drivers.
Il faut déjà passer des heures a comprendre comment ca marche, le kernel-mode, le user-mode et les 'classes' de drivers.
Ce dernier point est très important car suivant la classe du driver il existe ou pas des choses facilitant la création d'un driver.

En classe 'réseau' il y a modèle NDIS et ses variations entre XP, 7 et 8. Enfin ca c'est tu veux faire un truc 'qui est vu' dans le systeme comme une carte réseau.

Les points de départ:
comprendre les concepts, le WDM et sa suite le WDF, le WDK.
comprendre les différentes classes: http://msdn.microsoft.com/en-us/library/windows/hardware/ff557557(v=vs.85).aspx
voir si un des exemples peut te servir de base: http://msdn.microsoft.com/en-us/library/windows/hardware/ff554118(v=vs.85).aspx
choisir l'étendu : XP, 7, 8 les 3 ou que 7,8 ou que 8 ou que XP, etc

J’avoue c'est très complexe. :P j'ai fait du dev de drivers a l'époque de 2000/XP pour des drivers d'imprimante et j'en n'ai pas un bon souvenir..du tout.

Souvent on peut partir du driver fourni par un constructeur ou faire au dessus du driver USB générique. Regardes si la puce au bout du câble USB a des API ou un driver pour Windows par exemple.

Mais la 1ere étape c'est de bien conceptualiser ton projet et faire un design haut niveau plus précis :en gros, comment ça doit marcher . La ca n'est pas assez clair, du moins pour moi, pour t'aider ou t'orienter dans telle ou telle direction.


thenico

  • Expert.
  • Abonné OVH
  • *
  • Messages: 1 009
  • FTTH >500 Mb/s (13)
Driver réseau "fait maison" pour Windows
« Réponse #7 le: 11 juillet 2014 à 11:55:37 »
Donc je fais de nouveau appel à vos idées. D'après-vous, est-ce qu'il existe d'autres solutions alternatives pas trop complexes à mettre en oeuvre, pour répondre à mon besoin? Et qui soit compatible Win7 et 8?

Qemu + un linux pour la partie intelligence?

Windows 7/8 =ETHERNET=> TAP/Qemu =ETHERNET=> Stack IP Linux =SLIP=> Accès direct COM/Qemu =serial=> HW

:)

octal

  • Invité
Driver réseau "fait maison" pour Windows
« Réponse #8 le: 11 juillet 2014 à 13:26:23 »
LE BOULET  ;D
tu veux quoi exactement ( ? ) car j'ai des liens sur des radioamateurs ( et leurs bidouilles de ouf  ) qui devrait permettre de trouver ton bonheur ( je l'espère )  :)
je suis dans la grisaille  :(


Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 987
Driver réseau "fait maison" pour Windows
« Réponse #9 le: 12 juillet 2014 à 08:47:17 »
J'entends d'ici totonrobert :
Citer
Ça ressemble fort à une bouse fait à la rache ton truc;
Ah ça, oui, et je le revendique, même ! :P
C'est ça qui m'amuse : bidouiller, découvrir des choses, avancer dans la résolution de problèmes, en amateur, sans se prendre la tête.
J'ai déjà une petite expérience en bidouille électronique/robotique avec les 3 réalisations suivantes. J'ai réalisé ces 3 projets intégralement tout seul, j'ai tout programmé tout seul, sa reprendre la moindre ligne de code de projets pré-existants.
* BOB4, un drone autonome volant en intérieur
* BOB3, un robot roulant d'intérieur autonome, avec des capacités de planification de trajectoire

C'est typiquement un sujet pour lequel tu trouveras de l'aide dans la communauté DYI (Raspberry PI et surtout Arduino) mais plus coté Linux que Windows donc.
C'est impératif Windows?
Windows est impératif? Oui et non. J'aimerai bien que ma solution soit à la fois compatible Linux et Windows. Je sais, je suis en train de vouloir le beurre et l'argent du beurre.

Citer
souvent on peut partir du driver fourni par un constructeur ou faire au dessus du driver USB générique. Regardes si la puce au bout du câble USB a des API ou un driver pour Windows par exemple.
Oui, la puce FTDI2232 (interface USB) a déjà des drivers et/ou API pour l'utiliser sous Windows ou Linux. Pas de problème, cette partie là fonctionne déjà. Je sais dialoguer à plusieurs Mb/s (je sais, ça ne vous impressionne pas, mais moi si!) entre un programme fait maison sur mon PC et la carte que je développe. Il "suffit" d'utiliser des drivers simulant une connexion série, c'est à priori le plus simple. Par contre, ça ne me donne aucune piste pour l'interfaçage de mon programme sur PC avec la couche réseau (OSI L3) du PC. C'est bien ça mon plus gros problème.
Citer
J’avoue c'est très complexe. :P j'ai fait du dev de drivers a l'époque de 2000/XP pour des drivers d'imprimante et j'en n'ai pas un bon souvenir..du tout
C'est vrai qu'avec ça, tu ne me fais pas vraiment envie. Et vu mon faible niveau en programmation sur PC, je crois bien que je vais abandonner l'idée de faire des drivers, et me tourner vers une autre solution.

Qemu + un linux pour la partie intelligence?
Windows 7/8 =ETHERNET=> TAP/Qemu =ETHERNET=> Stack IP Linux =SLIP=> Accès direct COM/Qemu =serial=> HW
Euh, j'avais dit "simple". Ca ressemble un peu à une usine à gaz, ton idée! Mais je note.

En fait, mon idée du moment est de rajouter une interface Ethernet au modem, et d'embarquer toute l'intelligence nécessaire à la transformation IP-protocole radio directement dans la carte à microcontrôleur du modem. Le problème à résoudre, c'est de trouver une pile IP qui soit assez stable, et de faire fonctionner tout ça avec le peu de ressources de la carte (j'ai 256kO de RAM).

tu veux quoi exactement ( ? ) car j'ai des liens sur des radioamateurs ( et leurs bidouilles de ouf  ) qui devrait permettre de trouver ton bonheur ( je l'espère )  :)
En fait, j'ai dans la tête une idée assez folle : inventer un nouveau protocole de transport de l'IP, mais aussi de voix numérique, sur radio. Donc clairement, mon objectif est de ré-inventer la roue, et de ne pas utiliser les solutions qui existent déjà (AX.25 ou HSMM à base d'équipements WiFi ou DSTAR...). Ca peut paraitre idiot dit comme ça, mais mon objectif premier est d'apprendre par la pratique, d'explorer des solutions peu exploitées actuellement, de m'amuser. Sur ce genre de projet, je sais bien que les probabilités de réussite sont faibles, mais qui ne tente rien...  ;)
Le plus important pour moi n'est pas forcèment l'objectif final, mais plutôt la démarche qui y conduit.
Et puis d'autres (avec beaucoup plus d'expérience que moi) se sont déjà lancés dans cette avanture, voir exemple ici:
http://lea.hamradio.si/~s53mv/nbp/nbp.html
http://lea.hamradio.si/~s53mv/nbp/atnc.html

Leon.
« Modifié: 14 septembre 2017 à 19:52:53 par Leon »

octal

  • Invité
Driver réseau "fait maison" pour Windows
« Réponse #10 le: 12 juillet 2014 à 11:19:26 »
j'ai vu j'ai lut je suis sur le C.l c'est pas des plus simple a comprendre pour le voyageur  ;D en faite tu destine ton quotidien à mettre sur pied un modèle de transmission qui serait commun & modifier par tes soins  :P
j'ai trouver
http://www.networksorcery.com/enp/protocol/ip.htm
http://support.microsoft.com/kb/289892/fr
http://www.frameip.com/
je m'excuse  :-[ si je me suis planter et pour les liens
c'est ma contribution du BOULET
Bonne journée avec un p't peu de soleil  ;D

pasbefri

  • Abonné FAI autre
  • *
  • Messages: 103
  • Hagondange (57)
Driver réseau "fait maison" pour Windows
« Réponse #11 le: 12 juillet 2014 à 12:22:24 »
Ah ça, oui, et je le revendique, même ! :P
C'est ça qui m'amuse : bidouiller, découvrir des choses, avancer dans la résolution de problèmes, en amateur, sans se prendre la tête.
J'ai déjà une petite expérience en bidouille électronique/robotique avec les 3 réalisations suivantes.

Pour encourager les bonnes volontés :
http://code.msdn.microsoft.com/windowshardware/Windows-8-Driver-Samples-5e1aa62e/view/SamplePack#content

Je regarderais les exemples USBSamp et NDIS Virtual Driver.
Toaster est le tutorial qu'ils font grandir au fur et à mesure des exemples

Je viserais Windows 7 et supérieur (le modèle de drivers a évolué au moment de Vista, en particulier la couche réseau, mais devient stable à partir de 7/2008R2)


Sinon "LA" ressorce non MSFT pour les drivers c'est http://www.osronline.com/