Citation:
Envoyé par NeedHelp
je suis nouveau sur le forum et totalement débutant en C (euh, j'ai déjà fais mon "Hello world" ;-) ).
Et tu as tout compris ?
http://emmanuel-delahaye.developpez.com/init_c.htm
Citation:
Ce qui m'amène sur ce forum aujourd'hui, outre le fait de vouloir apprendre à programmer en C (j'ai télécharger les tutoriels), est que je voudrais pouvoir soit créer un driver, soit "modifier" les sources linux d'un driver existant pour faire fonctionner le chipset ethernet intégré à ma carte mère sous BeOS.
Ce n'est pas une question sur le langage C...
Ecrire un driver, c'est compliqué. Il y a plusieurs champs de connaissances à maitriser et surtout à bien délilmiter, car ils font appels à des ressources et à des techniques différentes.
- Le fonctionnement du matériel (registres de commandes et d'état, interface physique, interruptions, comportement, etc.)
- L'integration du matériel dans l'architecture de la machine (espace mémoire, MMU, bus I/O etc.)
- L'interface avec le système (SPI ou System Programming Interface) : regles de codage et de mise en oeuvre.
- L'interface avec l'application (API ou Application Programming Interface) : constantes, structures, fonctions, comportement, code d'erreur...
Citation:
C'est un 'VIA Velocity Family Gigabit Ethernet Adapter' (chipset VT6122/VT6103L), et les seuls drivers existants sont sous Windows, Novell, Linux, Unix et Mac.
BeOS ne faisant partie d'aucune famille des systèmes d'exploitation que je viens de citer, il n'y a pas de "driver compatible".
Le buit est donc d'écrire un driver pour cette carte sous BeOS et ce, pour une machine particulière, c'est bien ça ?
Citation:
Cela m'ennuierais de devoir désactiver la carte réseau intégrée à ma carte mère pour mettre une carte PCI reconnue.
Ce serait pourtant la solution la plus sage. Parce que se lancer dans le développement d'un driver BeOS pour une carte peu connue en connaissant à peine "Hello world" en C... Franchement j'y crois pas... (les drivers 'BLOCK' Linux branchés sur les cartes réseau sont particulièrement complexes, notamment les mécanismes de bufférisation haut débit)
Citation:
Non pas que j'ai "besoin" du Gigabit, je n'ai qu'un réseau de 2 pc et une connection internet qui atteint péniblement les 10 Mbps (les 10 ou 100 Mbps de ma carte me suffisent); mais autant utiliser "ce qui est en place", si je puis dire.
Bref, je voudrais savoir comment programmer un driver réseau, les infos de ma carte dont j'ai besoin (j'ai déjà l' ID Vendor; l'ID Device, l'IRQ et les plages E/S et mémoires) ?
Ca peut aider, effectivement.
Citation:
Je voudrais savoir aussi si il est possible (et assez simple) de modifier les sources de ce driver prévu pour un autre système d'exploitation (j'ai les sources du driver Linux) ??
Simple, non. Certaines parties devraient être récupérables, d'autres non (ça dépend comment c'est codé). Il faut d'abord comprendre comment sont organisés les modules linux (forum "Développement Linux" pour les détails) et les drivers BeOS (j'espère que tu as les documents adéquates).
Citation:
J'ai du temps devant moi, je n'ai pas peur d'y passer des heures (voir des jours), alors si vous pouvez m'aider, ce serait sympa.
Le gros problème est la mise au point du driver. Il faut en effet une autre machine de référence sachant emettre et recevoir les trames qui vont bien, avec les outils d'analyse adaptés (EtherReal, par exemple)...
Je doute fort que ce soit à la porté du premier amateur venu, fusse-t-il génial...
Evalue bien la charge avant de te lancer. N'essais pas de manger d'un coup un poisson si gros qu'il pourrait t'étouffer...