Journal : Mon premier hack du kernel !

Posté par Grégory SCHMITT () le 21 mars 2005
0
Cher journal,

Je ne peux résister plus longtemps. Je viens de réussir mon premier hack du kernel ! Enfin, je peux être considéré comme un hacker, un vrai de vrai !

Mon code ajoute le support du port série d'une "docking station" (hub usb, port série, parallèle et PS/2) de marque "Mobility" et de modèle "Easidock 200". Celle-ci n'était en effet pas reconnue auparavant.

Après avoir intégré mon code dans le kernel, tout marche nickel. Joie ! J'ai même envoyé un petit e-mail à la liste de diffusion pour demander l'intégration dans le futur noyau, et je m'en vais consulter le site linux-usb afin d'ajouter les informations manquantes.

...

Bon, j'avoue: j'ai rien écrit du tout. Enfin quasiment rien. Je me suis contenté d'analyser le hub, de trouver les références du chipset (FTDI SIO FT8U100AX), de regarder dans les sources, de voir comment je pouvais l'intégrer, de récupérer les ids "vendor" et "product" du hub et d'intégrer ces mêmes ids dans le code source dans la bonne catégorie. En gros, deux lignes de patch. Pfff. Minable. Je retourne dans l'ombre avec les mécréants dans mon genre qui ne sont même pas capables de lire du C correctement. Honte à moi.

Désolé. Je ne le ferais plus, promis.

> Lire le journal (9 commentaires, moyenne: 7).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Mais non voyons

Posté par Franck () le 21/03/2005 à 02:34. (lien). Évalué à 10.

Profite de ton (1/4 d') heure de gloire, balance un lien vers ton post sur la ML ou vers ton patch directement :-)

Ah la première fois !...

Posté par xavier dumont () le 21/03/2005 à 05:49. (lien). Évalué à 10.

C'est vrai, la première fois on se sent un homme, un vrai !
Sur ce, je vais hacker mon p'tit dèj....

Détrompe toi !

Posté par Jerome Herman () le 21/03/2005 à 08:26. (lien). Évalué à 10.

Bon, j'avoue: j'ai rien écrit du tout. Enfin quasiment rien. Je me suis contenté d'analyser le hub, de trouver les références du chipset (FTDI SIO FT8U100AX), de regarder dans les sources, de voir comment je pouvais l'intégrer, de récupérer les ids "vendor" et "product" du hub et d'intégrer ces mêmes ids dans le code source dans la bonne catégorie. En gros, deux lignes de patch. Pfff. Minable. Je retourne dans l'ombre avec les mécréants dans mon genre qui ne sont même pas capables de lire du C correctement. Honte à moi.

Déjà ça c'est pas mal. Pour un certains nombre de cas, il suffit souvent de jeter deux trois coup d'oeuil à gauche pour faire que la révision B jusqu'ici inconnue fonctionne aussi bien que la révision A. Mais il faut quelqu'un pour jeter les coups d'oeuil.
En plus des fois il y a un effet boule de neige, tu réécris deux lignes parcequ'une initialisation ne se fait pas sur le bon nombre d'octet et en faisant ça tu débloques une personne qui s'arrachait les cheveux 5 drivers plus loin.

Donc bravo, et n'en reste pas là.

--
Kha
root est un privilège, pas un droit !
  • [^]Re: Détrompe toi !

    Posté par tungsten () le 21/03/2005 à 11:09. (lien). Évalué à 9.

    Je suis d'accord avec Jerome, ce que tu as fait n'est pas négligeable. Et ce serait bien que plus de personnes aient la même attitude que toi. D'ailleurs si tu pouvais mettre en ligne un document expliquant en détail la façon dont tu as procédé, je suis sûr que cela pourrait servir à certains.

    Donc bravo, continue comme ça.

    • [^]Re: Détrompe toi !

      Posté par Grégory SCHMITT () le 21/03/2005 à 15:48. (lien). Évalué à 6.

      Je m'en vais de ce pas publier ça. Avec un peu de chance, l'ami Google va répertorier le doc et ça aidera tous ceux qui ont ce hub.

      --
      R.I.P Chris Benoit, 1967-2007

Tu peux donner plus de détails ?

Posté par Christophe Merlet (page perso, ) le 21/03/2005 à 09:15. (lien). Évalué à 1.

Heu, t'es sur de ne pas te réjouir trop vite de ton hack ??

Le Mobility USB EasyDock 200 est plus ou moins fonctionnel sous linux depuis aout 2000.
http://www.qbik.ch/usb/devices/showdev.php?id=274(...)


Tu peux afficher ta modif ici ?

  • [^]Re: Tu peux donner plus de détails ?

    Posté par Grégory SCHMITT () le 21/03/2005 à 15:46. (lien). Évalué à 4.

    Mon hack ne concerne que le port série (note le signe "avertissement" en haut à droite) qui ne fonctionne pas "out of the box" sur une station linux, puisque le matériel n'est pas enregistré dans la liste de comptabilité.

    Allez zou, le diff:

    ftdi_sio.c:

    static struct usb_device_id id_table_sio [] = {
    { USB_DEVICE(FTDI_VID, FTDI_SIO_PID) },
    { USB_DEVICE(MOBILITY_VID, MOBILITY_EASIDOCK_PID) },
    { } /* Terminating entry */
    };


    ftdi_sio.h:

    /* Mobility Easidock 200
    */
    #define MOBILITY_VID 0x1342
    #define MOBILITY_EASIDOCK_PID 0x0202

    --
    R.I.P Chris Benoit, 1967-2007

t'as bien de la chance

Posté par Axel R. (page perso, ) le 21/03/2005 à 10:00. (lien). Évalué à 6.

moi j'ai essayé de corriger un bug kde et ça n'a rien changé :

http://bugs.kde.org/show_bug.cgi?id=66680(...)

je sais pas trop ce que je pourrais faire pour qu'ils intégrent mon bout de code :-(

Axel

  • [^]Re: t'as bien de la chance

    Posté par med (page perso, ) le 21/03/2005 à 10:20. (lien). Évalué à 7.

    Personnellement j'avais fait deux mini patchs pour KDE il y a pas mal de temps. Pour les faire intégrer je les ai envoyé directement sur la liste de diffusion correspondante. Ils ont été intégrés dans les heures qui ont suivi. Pour ton cas je pense que la liste kfm-devel (ou quelque chose dans le genre) devrait correspondre. Bonne chance. :)

Revenir en haut de page