Hi, I believe I have fixed a problem with my iTegno GPRS modem using the pl2303.c driver.
System: Linux 2.4.21-rc2 from linuxusb.bkbits.net Intel Celeron 1.7ghz CPU Intel 82801DB ICH4 usb-uhci bus driver pl2303.c device driver iTegno GPRS modem WM1080 Symptom: On system reboots, GPRS modem does not come up. Console reports the following message: --- hub.c: new USB device 00:1d.1-2, assigned address 3 host/usb-uhci.c: interrupt, status 2, frame# 169 usb.c: USB device not accepting new address=3 (error=-110) hub.c: new USB device 00:1d.1-2, assigned address 4 usb.c: USB device not accepting new address=4 (error=-110) --- Steps to Reproduce: 1) Boot up Linux with GPRS modem attached 2) Wait until green light on modem starts flashing. 3) Dial-up into network ("pppd call gprs") 4) reboot system (/sbin/reboot or reboot button on case) 5) On Linux boot up, error message will indicate USB GPRS modem not registered. Fix: Problem cannot be reproduced running Windows 2000 on same hardware using iTegno's shipped drivers. Also, problem only occured if the serial port was opened. I then used a USB snooper and noticed that the Windows driver does not send certain VENDOR_WRITE_REQUEST messages when opening the port. Removing these messages from the Linux driver fixed the problem. Question to Greg KH or anyone: Could someone tell me what these magic messages are supposed to do, so I can make sure I didn't break anything? Thanks, Eli --- >8 --- diff -u -r1.1.1.2 pl2303.c --- drivers/usb/serial/pl2303.c 2003/05/13 04:14:35 1.1.1.2 +++ drivers/usb/serial/pl2303.c 2003/07/31 04:05:45 @@ -265,13 +265,6 @@ dbg ("0xa1:0x21:0:0 %d - %x %x %x %x %x %x %x", i, buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6]); - - i = usb_control_msg (serial->dev, usb_sndctrlpipe (serial->dev, 0), - VENDOR_WRITE_REQUEST, VENDOR_WRITE_REQUEST_TYPE, - 0, 1, NULL, 0, 100); - - dbg ("0x40:1:0:1 %d", i); - if (cflag & CSIZE) { switch (cflag & CSIZE) { case CS5: buf[6] = 5; break; @@ -405,9 +398,6 @@ SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 0x0404, 1); FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8484, 0); FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8383, 0); - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 0, 1); - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 1, 0xc0); - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 2, 4); /* Setup termios */ if (port->tty) { ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel