Re: Attaching MEGAWIN USB Bridge with USB generic driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alan Stern <stern@...> writes:

> > 
> > > 
> > > This error message indicates that the device cannot be used as a serial
> > > interface, since it doesn't have any bulk endpoints.  So usbserial
> > > isn't the right driver for it.  Also, it runs at low speed (1.5 Mb/s) 
> > > and doesn't have any way to send data to the computer -- the listing 
> > > below shows that it is output only.
> > 
> > Bad news, I guess...?
> 
> Probably.  Perhaps it indicates the device doesn't need to receive any
> data from the computer.  Or only minimal data, that can be wrapped up
> in a control transfer on endpoint 0.
> 

Thank you, Alan!

You were right: My investigations of the usb snoop log bring up that there are 
only control messages used. Even though you do not know the vendor´s USB 
protocol (nor me), I hope to get some answers how the host can access the 
responses of the device and how I can implement that with legancy libusb.

Here is a draft interpretation of a sample section which represents the first 
of many communication sequences:

URB7: 
- host sends an APL specific request packet (91 01 00 01 93) to the clock 
(that´s for sure)
- device seems to respond with a setup packet?
URB 8: 
- host then starts an asynchronous read (am I right?)
- device answers with the first APL-specific response packet (fore sure)
URB 9:
- host polls length of incoming data (am I right?)
- device responses with 00 0b, wich seems to be the recent uplink packet length
URB 10: 
- host sends an APL specific ACK packet (a1 01 00 01 a3)
- device seems to respond with a setup packet?


[442391 ms]  >>>  URB 7 going down  >>> 
-- URB_FUNCTION_VENDOR_DEVICE:
  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, 
~USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000005
  TransferBuffer       = 822ac210
  TransferBufferMDL    = 00000000
    00000000: 91 01 00 01 93
  UrbLink                 = 00000000
  RequestTypeReservedBits = 00000040
  Request                 = 00000004
  Value                   = 00005001
  Index                   = 00000000
[442400 ms] UsbSnoop - MyInternalIOCTLCompletion(b8da7126) : fido=00000000, 
Irp=817e3008, Context=818094b0, IRQL=2
[442400 ms]  <<<  URB 7 coming back  <<< 
-- URB_FUNCTION_CONTROL_TRANSFER:
  PipeHandle           = 820d2bd8
  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, 
USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000005
  TransferBuffer       = 822ac210
  TransferBufferMDL    = 8214a840
  UrbLink              = 00000000
  SetupPacket          =
    00000000: 40 04 01 50 00 00 05 00
[442400 ms] UsbSnoop - FilterDispatchAny(b8da6fd2) : 
IRP_MJ_INTERNAL_DEVICE_CONTROL
[442400 ms] UsbSnoop - FdoHookDispatchInternalIoctl(b8da71ea) : fdo=81f069a0, 
Irp=82073db0, IRQL=0
[442400 ms]  >>>  URB 8 going down  >>> 
-- URB_FUNCTION_VENDOR_DEVICE:
  TransferFlags          = 00000001 (USBD_TRANSFER_DIRECTION_IN, 
~USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000fa0
  TransferBuffer       = 81bd6008
  TransferBufferMDL    = 00000000
  UrbLink                 = 00000000
  RequestTypeReservedBits = 000000c0
  Request                 = 00000004
  Value                   = 00005002
  Index                   = 00000000
[442920 ms] UsbSnoop - MyInternalIOCTLCompletion(b8da7126) : fido=00000000, 
Irp=82073db0, Context=818094b0, IRQL=2
[442920 ms]  <<<  URB 8 coming back  <<< 
-- URB_FUNCTION_CONTROL_TRANSFER:
  PipeHandle           = 820d2bd8
  TransferFlags        = 0000000b (USBD_TRANSFER_DIRECTION_IN, 
USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 0000000b
  TransferBuffer       = 81bd6008
  TransferBufferMDL    = 81b1a548
    00000000: 11 07 00 1e 48 b4 98 85 be 00 0d
  UrbLink              = 00000000
  SetupPacket          =
    00000000: c0 04 02 50 00 00 a0 0f
[442921 ms] UsbSnoop - FilterDispatchAny(b8da6fd2) : 
IRP_MJ_INTERNAL_DEVICE_CONTROL
[442921 ms] UsbSnoop - FdoHookDispatchInternalIoctl(b8da71ea) : fdo=81f069a0, 
Irp=816b2008, IRQL=0
[442921 ms]  >>>  URB 9 going down  >>> 
-- URB_FUNCTION_VENDOR_DEVICE:
  TransferFlags          = 00000001 (USBD_TRANSFER_DIRECTION_IN, 
~USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000002
  TransferBuffer       = 81e88c98
  TransferBufferMDL    = 00000000
  UrbLink                 = 00000000
  RequestTypeReservedBits = 000000c0
  Request                 = 00000004
  Value                   = 0000500d
  Index                   = 00000000
[442924 ms] UsbSnoop - MyInternalIOCTLCompletion(b8da7126) : fido=00000000, 
Irp=816b2008, Context=818094b0, IRQL=2
[442924 ms]  <<<  URB 9 coming back  <<< 
-- URB_FUNCTION_CONTROL_TRANSFER:
  PipeHandle           = 820d2bd8
  TransferFlags        = 0000000b (USBD_TRANSFER_DIRECTION_IN, 
USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000002
  TransferBuffer       = 81e88c98
  TransferBufferMDL    = 81b78c40
    00000000: 00 0b
  UrbLink              = 00000000
  SetupPacket          =
    00000000: c0 04 0d 50 00 00 02 00
[443054 ms] UsbSnoop - FilterDispatchAny(b8da6fd2) : 
IRP_MJ_INTERNAL_DEVICE_CONTROL
[443054 ms] UsbSnoop - FdoHookDispatchInternalIoctl(b8da71ea) : fdo=81f069a0, 
Irp=816b2008, IRQL=0
[443054 ms]  >>>  URB 10 going down  >>> 
-- URB_FUNCTION_VENDOR_DEVICE:
  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, 
~USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000005
  TransferBuffer       = 82344910
  TransferBufferMDL    = 00000000
    00000000: a1 01 00 01 a3
  UrbLink                 = 00000000
  RequestTypeReservedBits = 00000040
  Request                 = 00000004
  Value                   = 00005001
  Index                   = 00000000
[443062 ms] UsbSnoop - MyInternalIOCTLCompletion(b8da7126) : fido=00000000, 
Irp=816b2008, Context=818094b0, IRQL=2
[443062 ms]  <<<  URB 10 coming back  <<< 
-- URB_FUNCTION_CONTROL_TRANSFER:
  PipeHandle           = 820d2bd8
  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, 
USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000005
  TransferBuffer       = 82344910
  TransferBufferMDL    = 81b78c40
  UrbLink              = 00000000
  SetupPacket          =
    00000000: 40 04 01 50 00 00 05 00




--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux