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.

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

Reply via email to