On Thu, Apr 06, 2006 at 03:27:39PM -0400, Jamie Guinan wrote: > > Hi, > > While the new lh7_udc driver performs great when plugged into a > Linux host, I found that plugging into WinXP with g_ether doesn't > quite work. On the gadget side I see, > > usb0: full speed config #2: 100 mA, Ethernet Gadget, using RNDIS > rndis_msg_parser: unknown RNDIS message 0x00430209 len -1073151486 > usb0: rndis_command_complete: rndis parse error -524 > > On the WinXP side, I ran usbsnoop with, > > a) linux-2.6.14, patched lh7a40x_udc driver > b) linux-2.6.16-rc4-ms28, new lh7_udc driver > > (I know that's changing 2 things at once, but I didn't see any major > changes in the g_ether/rndis code, and I wasn't up to porting > my lh7a40x_udc hacks to 2.6.16). > > In both configs I have, > > CONFIG_USB_ETH=m > CONFIG_USB_ETH_RNDIS=y > > In both cases, rhe first 4 URB transactions were identical (except for > bcdDevice == [15 02] for new driver, and [09 02] for the old one), but > on the 5th URB (URB_FUNCTION_CLASS_INTERFACE) the response from > lh7_udc has TransferBufferLength == 0, after which USB traffic comes > to a dead stop. With lh7a40x_udc, I see TransferBufferLength == 0x18, > and things roll merrily along.
Suspicious. I won't be able to look at this for at least a week. And, it's disappointing that the USB tests weren't enough to vet the driver. Moreover, I don't know if I'll be able to run the test you're doing since I don't have any MSWindows hosts. It would help me to see the raw data of the urbs since I'm a little more familiar with the format that way. The TALK stuff might help as well. > Log excerpts: > > <lh7a40x_udc> > [125 ms] >>> URB 5 going down >>> > -- URB_FUNCTION_CLASS_INTERFACE: > TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, > ~USBD_SHORT_TRANSFER_OK) > TransferBufferLength = 00000018 > TransferBuffer = 84e3c000 > TransferBufferMDL = 00000000 > 00000000: 02 00 00 00 18 00 00 00 01 00 00 00 01 00 00 00 > 00000010: 00 00 00 00 00 40 00 00 > UrbLink = 00000000 > RequestTypeReservedBits = 00000000 > Request = 00000000 > Value = 00000000 > Index = 00000000 > [131 ms] UsbSnoop - MyInternalIOCTLCompletion(f799fdb0) : fido=00000000, > Irp=850fd008, Context=850493d0, IRQL=2 > [131 ms] <<< URB 5 coming back <<< > -- URB_FUNCTION_CONTROL_TRANSFER: > PipeHandle = 8507d700 > TransferFlags = 0000000a (USBD_TRANSFER_DIRECTION_OUT, > USBD_SHORT_TRANSFER_OK) > TransferBufferLength = 00000018 > TransferBuffer = 84e3c000 > TransferBufferMDL = 86253f88 > UrbLink = 00000000 > SetupPacket = > 00000000: 21 00 00 00 00 00 18 00 > [131 ms] UsbSnoop - DispatchAny(f799e610) : IRP_MJ_INTERNAL_DEVICE_CONTROL > [131 ms] UsbSnoop - MyDispatchInternalIOCTL(f799fe80) : fdo=850b3030, > Irp=85bf52e8, IRQL=0 > </lh7a40x_udc> > > > <lh7_udc> > [118 ms] >>> URB 5 going down >>> > -- URB_FUNCTION_CLASS_INTERFACE: > TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, > ~USBD_SHORT_TRANSFER_OK) > TransferBufferLength = 00000018 > TransferBuffer = 85873000 > TransferBufferMDL = 00000000 > 00000000: 02 00 00 00 18 00 00 00 01 00 00 00 01 00 00 00 > 00000010: 00 00 00 00 00 40 00 00 > UrbLink = 00000000 > RequestTypeReservedBits = 00000000 > Request = 00000000 > Value = 00000000 > Index = 00000000 > [5165 ms] UsbSnoop - MyInternalIOCTLCompletion(f7927db0) : fido=00000000, > Irp=84ff9008, Context=863c88b0, IRQL=2 > [5165 ms] <<< URB 5 coming back <<< > -- URB_FUNCTION_CONTROL_TRANSFER: > PipeHandle = 850048f8 > TransferFlags = 0000000a (USBD_TRANSFER_DIRECTION_OUT, > USBD_SHORT_TRANSFER_OK) > TransferBufferLength = 00000000 > TransferBuffer = 85873000 > TransferBufferMDL = 861a12d8 > UrbLink = 00000000 > SetupPacket = > 00000000: 21 00 00 00 00 00 18 00 > [10166 ms] UsbSnoop - DispatchAny(f7926610) : IRP_MJ_PNP > (IRP_MN_REMOVE_DEVICE) > [10166 ms] UsbSnoop - MyDispatchPNP(f7928ee0) : IRP_MJ_PNP > (IRP_MN_REMOVE_DEVICE) > [10166 ms] UsbSnoop - RemoveDevice(f7928e90) : fido=8503a108 pdx=8503a1c0 > [10167 ms] UsbSnoop - DriverUnload(f7928de0) : DriverObject 8619a318, IRQL=0 > [10167 ms] Driver unloaded! > </lh7_udc> > > Next I can try turning on TALK in lh7_udc.c, if that might be helpful. > > Full usbsnoop logs at, > > http://www.bluebutton.com/misc/lh7usb/ > > -Jamie > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting language > that extends applications into web and mobile media. Attend the live webcast > and join the prime developer group breaking into this new coding territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > linux-usb-devel@lists.sourceforge.net > To unsubscribe, use the last form field at: > https://lists.sourceforge.net/lists/listinfo/linux-usb-devel ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel