28/08/2004 à 02h26 : Vive le roller !

Cette semaine c'était ma rentrée au taf... et bien y a pas à dire, c'est vraiment mieux les vacances ;-)
Du coup, ce soir, je suis allé me défouler à la rando roller et j'ai croisé plein de monde : Seb_la_Chèvre ; Mr. J, son frère et sa copine ; et un camarade de maîtrise.
J'ai reçu ma dernière commande "geek" (sur SplitReason) :


Ma souris est tombée en panne donc j'ai récupéré la souris sans fil optique que j'avais acheté pour le boulot.
J'ai eu un peu de mal à la faire fonctionner sous Linux, en cherchant sur le net j'ai fini par trouver une solution, je vais faire un résumé ici pour mes futurs visiteurs via Google ;)
Déjà les identifiants USB de ma souris sont : 0x062a:0x0000 (Amarina S1500 Surf Mouse).
Quand je la branchait au PC j'avais les erreurs USB suivantes :
Aug 27 00:28:51 royale kernel: usb 1-1.3: new low speed USB device using address 3
Aug 27 00:28:51 royale kernel: usb 1-1.3: config 0 descriptor??
Aug 27 00:28:57 royale kernel: usb 1-1.3: control timeout on ep0in
Aug 27 00:28:57 royale kernel: usb 1-1.3: string descriptor 0 read error: -110
Aug 27 00:29:02 royale kernel: usb 1-1.3: control timeout on ep0out
Aug 27 00:29:12 royale kernel: drivers/usb/input/hid-core.c: ctrl urb status -2 received
Aug 27 00:29:12 royale kernel: drivers/usb/input/hid-core.c: timeout initializing reports
Aug 27 00:29:12 royale kernel: 
Aug 27 00:29:17 royale kernel: usb 1-1.3: control timeout on ep0out
Aug 27 00:29:17 royale kernel: input: USB HID v1.10 Mouse [062a:0000] on usb-0000:00:07.2-1.3
Et bien sûr *prout* :-/
En fouilant un peu donc, je suis tombé sur ce patch. En l'adaptant un peu pour le noyau 2.6.8.1 voilà ce que j'obtiens :
royale@royale:/usr/src/linux-2.6.8.1/drivers/usb/core$ diff -u message.bak.c message.c   
--- message.bak.c       2004-08-27 18:30:33.000000000 +0200
+++ message.c   2004-08-27 18:54:14.000000000 +0200
@@ -689,7 +689,7 @@
 
        /* get langid for strings if it's not yet known */
        if (!dev->have_langid) {
-               err = usb_string_sub(dev, 0, 0, tbuf);
+               err = usb_get_string(dev, 0, 0, tbuf, dev->epmaxpacketin[0]);
                if (err < 0) {
                        dev_err (&dev->dev,
                                "string descriptor 0 read error: %d\n",
@@ -708,7 +708,7 @@
                }
        }
        
-       err = usb_string_sub(dev, dev->string_langid, index, tbuf);
+       err = usb_get_string(dev, dev->string_langid, index, tbuf, 256);
        if (err < 0)
                goto errout;
Ca suffit pour que ça marche chez moi :-D

Commentaires

Pseudo :
Site : (facultatif)
Email : (facultatif, pour votre avatar)
Message :
(pas de HTML)
: (recopiez le texte)
Se souvenir de mes informations

petitnoir2 [ 16/06 - 23:42 ] : j'ai également des soucis avec cette petite souris S1500,mais je crois que c'est le mini recepteur qui est fatigué.

Royale [ 04/10 - 01:10 ] : This version of the patch avoids random crash at boot time :

--- message.bak.c 2004-08-27 18:30:33.000000000 +0200
+++ message.c 2004-09-26 18:33:15.000000000 +0200
@@ -689,7 +689,7 @@

/* get langid for strings if it's not yet known */
if (!dev->have_langid) {
- err = usb_string_sub(dev, 0, 0, tbuf);
+ err = usb_get_string(dev, 0, 0, tbuf, dev->epmaxpacketin[0]);
if (err < 0) {
dev_err (&dev->dev,
"string descriptor 0 read error: %d\n",
@@ -708,19 +708,23 @@
}
}

- err = usb_string_sub(dev, dev->string_langid, index, tbuf);
+ /*
+ err = usb_get_string(dev, dev->string_langid, index, tbuf, 256);
if (err < 0)
goto errout;

size--; /* leave room for trailing NULL char in output buffer */
- for (idx = 0, u = 2; u < err; u += 2) {
+ /*for (idx = 0, u = 2; u < err; u += 2) {
if (idx >= size)
break;
if (tbuf[u+1]) /* high byte */
- buf[idx++] = '?'; /* non ISO-8859-1 character */
- else
+ /* buf[idx++] = '?'; /* non ISO-8859-1 character */
+ /*else
buf[idx++] = tbuf[u];
- }
+ }*/
+
+ idx = 0;
+ buf[idx++] = '?';
buf[idx] = 0;
err = idx;

tit-namour [ 31/08 - 01:27 ] : T'es pas informaticienne MaitrePo ?

MaitrePo [ 31/08 - 01:01 ] : mé ouais, klââââsse ! (j'airiencompris)

Royale [ 30/08 - 19:36 ] : Et oui je fais ma *star*. Même si pour ce patch j'ai juste fait du copier/coller :-p

Jo [ 30/08 - 19:34 ] : Ca se sent que tu as développé des trucs avec l'USB (cf http://royale.zerezo.com/zr364xx/ ).

Seb_la_Chevre [ 30/08 - 11:12 ] : Et ben enchanté d'avoir fait ta connaissance Royale :)

huats [ 30/08 - 10:53 ] : Royale ou l'art d'attirer des geeks sur son blog ;-)

Royale [ 30/08 - 00:06 ] : Ah ! Enfin un commentaire ;-)

tit-namour [ 29/08 - 23:44 ] : C'est bôôôôôôôôô !! :-)