Driver modem OS X

SuperCed

Membre expert
Club iGen
20 Juin 2001
1 353
72
46
superced.rb38.eu
Je dois developper une driver de modem USB sous MacOS X. Je connais le C++, et j'ai un peu lu les docs et les exemples sur IOKit. Le probleme, C que je suis assez perdu dans tout ca.
De ce que j'ai compris, il faut que je realise un serveur pour la couche BSD, et un client pour USB. Est-ce que j'ai bien compris? Donc les classe que je vais devoir realiser vont heriter des classe Network? Est-ce que je dois faire une adaptation de PPP ou ecrire une classe pour PPP?
J'ai du mal a cerner l'organisation du projet, est-ce que quelqu'un peut m'aider?
 
Bon, je ne me suis pas encore interesser à la partie driver de OSX... je peux simplement te conseiller la liste de developement de darwin, franchement c'est ce qu'il y a de mieux (tu peux aussi aller voir du coté de macnn)

darwin dev liste : http://lists.apple.com/mailman/listinfo/darwin-development

macnn forums : http://forums.macnn.com/cgi-bin/ultimatebb.cgi?ubb=forum&f=34

apple vient juste de sortir une doc sur les kext dans sa partie opensource de son site : http://www.opensource.apple.com/projects/documentation/howto/

...sans oublier la doc sur le site developer d'Apple...

J'espere que ca pourras t'aider, et n'hesite pas a nous tenir au courrant, j'aime bien ca
wink.gif
 
J'ai l'interface de communication pour le modem, et j'ai meme trouve 3 pipes. Un synchrone qui est en mode OUT (C'est a dire qu'on ecrit dedant depuis le driver), et 2 pipes Interrupt qui sont en mode IN.
Savez-vous a quoi servent ces pipes respectivement? Par ou passent les donnees recues, celles envoyees, les commandes?
Tx
 
Visiblement c'est pas facile de trouver des infos techniques (tres techniques) sur ces forums ( que ce soit macnn ou autre), la tu ferais vraiment mieux de poster sur la liste de darwin (que je t'ai indiqué je ne sais plus ou...), T'as des gars d'Apple dedans qui s'occupent de darwin, et qui par consequent sont tous a fait au courant sur la question : http://lists.apple.com/mailman/listinfo/darwin-development


Aller un avis pour ta question en Out sont les données recues, un des In est les commandes, et le dexieme in, les données émises
 
Non, desole, C pas le speed touch... Mais je crois qu'il y a des sources pour celui-ci.
Non, le mien, C un modem ISDN Zyxel. Mais G pas le droit de donner le code source...
Je commence a comprendre 2 ou 3 trucs dans le code sourec OS 9, et je commence aussi a comprendre un peu ce que je dois faire. De quelle classe je dois deriver : USBSerialStreamSync. De quelle classe je dois me servir. Quelles sont les fonctions a detourner. Je commence a capter un peu quoi. Mais j'ai peu d'infos pour le moment. Plus tard, si ca te dis, des que j'aurais fini celui-la, je m'attaquerai au Speed touch, mais il faut que je finisse le premier. Le probleme avec celui-la, C qu'il respecte aucune norme.
Si tu veux m'aider pour celui-la deja, tu peux regarder les classe IOSerialStreamSync de la SerialFamily de Darwin, le USBSimpleExample qui doit trainer dans les developpeur tools, et surtout, le AppleUSBCDCDriver de la USBFamily de Darwin. C ce projet la qui m'a un peu aider a comprendre. Mais si tu veux me donner un coup de main, C pas de refus!
Tx
 
J'ai commencé à me documenter.

Je t'apporterai toute l'aide que je peux.

Déjà ce que j'ai compris c'est qu'un driver de ce genre doit forcément résider dans le kernel. Donc attention aux crashs !!

Pour le reste ton driver va se décomposer en deux parties : la premire partie devra hériter du média (USB ...) et l'autre du traitement (Network).

Je m'en suis arrter là. Mais c'est sûr je traduit pas tellement bien ce que j'ai compris !

[04 juillet 2001 : message édité par PowerMike]
 
C'es toi qui developpe pour xxxxxxxx USB???? Oh merci!!! Donc on risque d'avoir les drivers OS X bientot??? Thx SuperCed, j'ai un peu ras-le-cul du 56 k, je dois dire
grin.gif
Je t'aiderais bien volontiers, mais j'ai des notions de programmations tellement limités (je sais faire dire bonjour, faire des tests et des boucles... et c'es tout... en C++... ouh-la, ce que je suis utile, moi
grin.gif
) Donc je ne peux que t'encourager! Sors nous les meilleurs drivers! Je les attends....
wink.gif


[04 juillet 2001 : message édité par PowerMike]
 
ok, je suis demasque. Je vais reutiliser une bonne partie de l'existant du driver. C a dire que je vais utiliser une partie du code source OS 9.
Sinon, je tenais a repondre au sujet des classes a utiliser. Le driver ne doit pas heriter de la partie Network. D'ailleur, l'heritage multiple est impossible. Ce n'est pas vraiment du C++, il s'agit d' Embed C++. Celui-ci interdit l'heritage multiple, et interdit les template.
La classe de mon driver herite de la classe IOSerialDriverSync.
 
Je ne parlais pas d'héritage au sens C++. Je sais que c'est du embeded C++. Je me suis très mal exprimé. C'est à peu près clair dans ma tête mais c'est difficile à coucher sur le papier. Mais enfin, je pense que tu est au fait de ce que je voulais dire.
 
Ce que je pourrais faire, C t'envoyer une partie du code source pour me dire ce que tu en penses. Et si G des problemes, tu pourras me filer un coup de main.
Pourrais-tu enlever la marque de l'appareil sur les post d'avant?
Tx