After moving to 2.6.10 from 2.4.x, trying to use firmware upload in kernel, 
I've got the following:

Feb 27 03:16:33 lapcio kernel: speedtch_test_sequence failed on URB147: -32
Feb 27 03:16:33 lapcio kernel: speedtch_test_sequence failed on URB148: -32
Feb 27 03:16:33 lapcio kernel: speedtch_test_sequence failed on URB149: -32
Feb 27 03:16:33 lapcio kernel: speedtch_test_sequence failed on URB150: -32
Feb 27 03:16:33 lapcio kernel: SpeedTouch: Failed to start ADSL 
synchronisation: -32

I've seen other people already reporting something like this, with no useful 
solutions, so I've decided to try to resolve it myself.

First of all it appears that it only happens if I connect the modem via usb 
2.0 hub. I never had any problems connecting it directly to my laptop. To 
make the whole thing more misterious, it sometimes works ok via hub - like 
every 5-10th try. 

It appears that the check that the driver performs at the beginning to see if 
the firmware is loaded is the reason. After plugging in the device it always 
returns -110 (ETIMEDOUT) on ep0in, but it also (sometimes, see above) makes 
all subsequent requests to ep0 fail with EPIPE (STALL condition). I haven't 
seen windows driver doing anything like that after plugging in - it goes 
directly to firmware upload stuff.

Attached patch solved the problem for me  (by resetting the usb device before 
firmware upload), modem starts up properly every time. I'm not sure what is 
the real reason - is it endpoint 0 in the device really getting STALLed, or 
is it some EHCI hcd/hub implementation weirdness. It's hard to say without 
digging very deep into ehci implementation ;) 

Best Regards,
Przemyslaw


-- Binary/unsupported file stripped by Listar --
-- Type: text/x-diff
-- File: speedtch-reset.patch


Liste de diffusion modem ALCATEL SpeedTouch USB
Pour se d�sinscrire : mailto:[EMAIL PROTECTED]

        

Reply via email to