I am using a Linksys USB100TX USB/ethernet adapter (Pegasus II), 
and although it appeared to work well with 2.6.10, I had problems with 
2.6.14.3; one symptom was that a flood ping to the machine with 
the Linksys would lose lots of packets. I further localized this 
to the fact that problem occurred with CVS rev 1.42 of pegasus.c, 
but that 1.41 was fine. I also turned on a usbmon trace, and 
see that the intr_callback() routine is getting status in which 
d[0] has NO_CARRIER and LOSS_CARRIER set (although d[5] has 
LINK_STATUS set). A sample error return from intr_callback is 
18030000 00010200.

It appears as if the 1.42 version (and later) is calling
netif_carrier_off() with this status, whereas earlier versions
didn't, and my guess is that this is the source of the behavioral
problem.

What is the right thing to do here? The pegasus.c driver has 
a number of comments indicating that link status detection 
through the INTR endpoint is dicey. On the other hand, I appear 
to have encountered a genuine hardware error/symptom of some kind.
Unfortunately, I can't dig up a Pegasus datasheet on the web 
(can anyone point me to one?).

Suggestions welcomed!

sf


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to