mahnaz.n0098 | 16 Nov 07:30 2014
Picon

mahnaz.n0098 <at> gmail.com has indicated you're a friend. Accept?

Click here to discover mahnaz.n0098 <at> gmail.com's favorite websites!
mahnaz.n0098 <at> gmail.com wants to follow you
I would like to add you as a friend
-mahnaz.n0098 <at> gmail.com
Accept Decline
Following mahnaz.n0098 <at> gmail.com helps you discover great websites they recommend :)
Click here to unsubscribe from such emails from mahnaz.n0098 <at> gmail.com or all friends


P.O. BOX 70928, Sunnyvale, CA 94086
------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
Libusb-win32-devel mailing list
Libusb-win32-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Sandor Otvos | 4 Nov 11:22 2014
Picon

filter-driver installer wizard do not show device

Hi

Filter driver wizard show this:

If your device isn't listed, it may already be filtered, be in a "driverless" state, or incompatible with the libusb-win32 filter driver.

However my device showed with win8/usb3 
My target device is an external hub, if i connect it to win8/usb3 port  ( driven by MS usbhub3.sys )
it works well
If i connect other usb2 port, or used on win7 , libusb-filter-installer do not list my hub device

Is libusb filter compatible only MS usbhub3.sys driver ?
Any other combinations wont work for me. 

How can i install filter driver to external hub on win7 ?

Thanks for any advice on this.....
------------------------------------------------------------------------------
_______________________________________________
Libusb-win32-devel mailing list
Libusb-win32-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Chris Chaffey | 30 Oct 20:59 2014

Packets that are exactly a multiple of the EP size fail

Hi All,

 

I’m using LibUsb-Win32 version 1.2.6 to communicate with a device that I am trying to reverse engineer.  When the device sends data to me that is not equal to a multiple of the endpoints wMaxPacketSize, I never receive that packet.  I have used a program called freeusbanalyzer that has given me the following output (with some annotations on my part):

 

<-------------- In the middle of streaming download from device

00000348            30.10.2014 16:24:47.289               +0.094   UP          0x00000000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Streaming data

00000350            30.10.2014 16:24:47.392               +0.100   DOWN  0x00000000               URB_FUNCTION_ABORT_PIPE

00000351            30.10.2014 16:24:47.392               +0.0       UP          0xc0010000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Zero byte

00000352            30.10.2014 16:24:47.392               +0.0       UP          0x00000000               URB_FUNCTION_ABORT_PIPE

00000354            30.10.2014 16:24:47.488               +0.094   UP          0x00000000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Streaming data

00000356            30.10.2014 16:24:47.591               +0.100   DOWN  0x00000000               URB_FUNCTION_ABORT_PIPE

00000357            30.10.2014 16:24:47.591               +0.0       UP          0xc0010000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Zero byte

00000358            30.10.2014 16:24:47.591               +0.0       UP          0x00000000               URB_FUNCTION_ABORT_PIPE

00000360            30.10.2014 16:24:47.688               +0.095   UP          0x00000000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Streaming data

00000362            30.10.2014 16:24:47.791               +0.100   DOWN  0x00000000               URB_FUNCTION_ABORT_PIPE

00000363            30.10.2014 16:24:47.791               +0.0       UP          0xc0010000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Zero byte

00000364            30.10.2014 16:24:47.791               +0.0       UP          0x00000000               URB_FUNCTION_ABORT_PIPE

00000366            30.10.2014 16:24:47.894               +0.100   DOWN  0x00000000               URB_FUNCTION_ABORT_PIPE

00000367            30.10.2014 16:24:47.894               +0.0       UP          0xc0010000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Zero byte

00000368            30.10.2014 16:24:47.894               +0.0       UP          0x00000000               URB_FUNCTION_ABORT_PIPE

00000370            30.10.2014 16:24:47.899               +0.002   DOWN  0x00000000               URB_FUNCTION_CONTROL_TRANSFER

00000371            30.10.2014 16:24:47.899               +0.0       UP          0x00000000               URB_FUNCTION_CONTROL_TRANSFER

00000372            30.10.2014 16:24:47.900               +0.0       DOWN  0x00000000               URB_FUNCTION_CONTROL_TRANSFER

00000373            30.10.2014 16:24:47.900               +0.0       UP          0x00000000               URB_FUNCTION_CONTROL_TRANSFER

00000374            30.10.2014 16:24:47.901               +0.0       DOWN  0x00000000               URB_FUNCTION_CONTROL_TRANSFER

00000375            30.10.2014 16:24:47.901               +0.0       UP          0x00000000               URB_FUNCTION_CONTROL_TRANSFER

00000376            30.10.2014 16:24:47.902               +0.0       DOWN  0x00000000               URB_FUNCTION_CONTROL_TRANSFER

00000377            30.10.2014 16:24:47.902               +0.0       UP          0x00000000               URB_FUNCTION_CONTROL_TRANSFER

00000378            30.10.2014 16:24:47.997               +0.094   DOWN  0x00000000               URB_FUNCTION_ABORT_PIPE

00000379            30.10.2014 16:24:47.997               +0.0       UP          0xc0010000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Streaming data; never receive this "chunk"

00000380            30.10.2014 16:24:47.997               +0.0       UP          0x00000000               URB_FUNCTION_ABORT_PIPE

00000382            30.10.2014 16:24:48.099               +0.100   DOWN  0x00000000               URB_FUNCTION_ABORT_PIPE

00000383            30.10.2014 16:24:48.099               +0.0       UP          0xc0010000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Zero byte

00000384            30.10.2014 16:24:48.099               +0.0       UP          0x00000000               URB_FUNCTION_ABORT_PIPE

00000386            30.10.2014 16:24:48.193               +0.091   UP          0x00000000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Next block of streaming data.  Fails because previous chunk was not received.

00000388            30.10.2014 16:24:48.197               +0.002   DOWN  0x00000000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Stop stream message

00000390            30.10.2014 16:24:48.292               +0.095   UP          0x00000000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Stop stream ACK

00000392            30.10.2014 16:24:48.300               +0.005   DOWN  0x00000000               URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER  <-- Restart at failed chunk

 

The problem pops up at 30.10.2014 16:24:47.997.  This chunk is exactly 64 bytes in length.  It doesn’t matter how many times I request that chunk it will always fail.  This happens in other parts of the stream as well, and it only seems to be when the chunk is a multiple of 64 bytes in length.  The only other difference I see between that chunk and all the other chunks that do go through is that it always has a status of USBD_STATUS_CANCELED (0xc0010000).

 

My code is fairly straight-forward and it is executed in a thread:

 

        int size = maxInSize * 4;

        uint8_t buf[size];

        int len = 0;

        int r = libusb_bulk_transfer(handle, epIn, buf, size, &len, MAX_RECV_TIMEOUT);

        if ((r != LIBUSB_ERROR_TIMEOUT) && (r != LIBUSB_SUCCESS))

        {

                // This method will timeout every MAX_RECV_TIMEOUT milliseconds when no data is available.  No need to log this condition.

                LogLibUsbReturn(r, "libusb_bulk_transfer");

        }

        if ((r == LIBUSB_SUCCESS) && (len > 0))

        {

                std::lock_guard<std::recursive_mutex> lock(readMutex);

               inData.append((char*)buf, len);

        }

 

Thanks for your time,

 

Chris

------------------------------------------------------------------------------
_______________________________________________
Libusb-win32-devel mailing list
Libusb-win32-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Aymen JEBALI | 29 Sep 16:29 2014
Picon

Bulk USB transfers works with USB3.0 ports and not with USB2.0

Hi All,
 
I am developping an USB to I2C bridge using the SAM3U4E microcontroller.
The USB communication works fine untill I used the USB isolator cable : https://iftools.com/isolator/isousbcable/index.en.php
 
With this configuration I still have control transfers to work correctly but not the bulk transfers.
But I noticed that the bulk transfers are working fine when I connect the USB cable to an USB3.0 port. but it fails with USB2.0.
 
I am using the libusb-win32 APIs.
 
The failure is always at usb_claim_interface:
[12224] libusb0-dll:err [claim_interface] could not claim interface 0, invalid configuration 0
Could anyone please suggest a solution ?
 
I upgraded to lubsubK drivers 3.0.7.0 but no success.
 
Best regards,
Aymen Jebali
 
------------------------------------------------------------------------------
Slashdot TV.  Videos for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
Libusb-win32-devel mailing list
Libusb-win32-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Pradeepa Senanayake | 23 Sep 14:26 2014
Picon

LibusbK API clarification for UsbK_ReadPipe

Hello,

I have a quick question.

Are UsbK_ReadPipe and UsbK_WritePipe functions synchronous? 

If I set a timeout using the SetPipePolicy function will these functions wait that time until the timeout or data transfer complete?

During the timeout what is the return value coming from GetLastError() ?

Best Regards,
Pradeepa Senanayake.
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Libusb-win32-devel mailing list
Libusb-win32-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
samira taremi | 14 Sep 19:18 2014
Picon

Errno:۱۹ _Please Help

Hi
Good time
Excuse me, I want to run a sample by site nfcpy
And library libusb-win32-bin-1.2.6.0 and pyusb-1.0.0a2 and
  pyserial-2.7.win32_py3k.exe and add nfc and bzrlib but unfortunately I did not recognize the usb device and run the following simple command does not show the error below:

import nfc
clf = nfc.ContactlessFrontend ('udp')
print (clf)
The error:

IOError: [Errno: 19] No such device

For libusb-win32-bin-1.2.6.0 file named install-filter-win.exe ran to the library to recognize mobile usb nfc c drive in a folder in the installation program copied Lib pyserial
2.7.win32_py3k.exe file and then run run was added in the library itself pyusb bzr, and I added to my library.

But still the above error is shown
Thank you for helping me get my

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Libusb-win32-devel mailing list
Libusb-win32-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Stephen B | 25 Aug 22:55 2014
Picon

LibUsbK Isochronous Write C# example

Hello,

I am trying to write isochronous data to my USB device. I tried the xfer-iso c example but had no luck to compile it, and preferably I want to use C# anyway. So I looked at the C# examples and found Read.Isochronous. This compiles and works, but unfortunately there is no Write example.

I tried to create it myself using the c example and the Read.Isochronous example, but with no luck yet. When writing, the following line always returns error 50 (the request is not supported):
usb.IsoWritePipe(pipeInfo.PipeId, dataBuffer, dataBuffer.Length, ovlkHandle, Iso.Handle);

I also can't find any iso out packets with USBPcap.

Does anyone have any idea what's causing this? I have attached my code along with a descriptor report of my device. There are 5 unnecessary endpoints from my base firmware code, but I decided to keep them in for now to prevent causing more bugs, as my device has worked and transferred iso data with libusb in the past.

Thanks in advance for any help!

Kind regards,
Stephen
-Device:
  bLength             :18
  bDescriptorType     :0x01
  bcdUSB              :0x0200
  bDeviceClass        :0x00 (Defined at Interface level)
  bDeviceSubClass     :0x00
  bDeviceProtocol     :0x00
  bMaxPacketSize0     :8
  idVendor            :0x03EB (Atmel Corp.)
  idProduct           :0x2423
  bcdDevice           :0x0100
  iManufacturer       :1 (LaserFX)
  iProduct            :2 (LaserFX USB Interface)
  iSerialNumber       :3 (9CEF79E83953333838362020FF1816)
  bNumConfigurations  :1
!End Device
-Configuration:
  bLength             :9
  bDescriptorType     :0x02
  wTotalLength        :69
  bNumInterfaces      :1
  bConfigurationValue :0x01
  iConfiguration      :0
  bmAttributes        :0xC0
  MaxPower            :50 (100ma)
 -Interface:
    bLength             :9
    bDescriptorType     :0x04
    bInterfaceNumber    :0x00
    bAlternateSetting   :0x00
    bNumEndpoints       :0
    bInterfaceClass     :0xFF (Vendor Specific Class)
    bInterfaceSubClass  :0xFF (Vendor Specific Subclass)
    bInterfaceProtocol  :0xFF (Vendor Specific Protocol)
    iInterface          :0
 !End Interface
 -Interface:
    bLength             :9
    bDescriptorType     :0x04
    bInterfaceNumber    :0x00
    bAlternateSetting   :0x01
    bNumEndpoints       :6
    bInterfaceClass     :0xFF (Vendor Specific Class)
    bInterfaceSubClass  :0xFF (Vendor Specific Subclass)
    bInterfaceProtocol  :0xFF (Vendor Specific Protocol)
    iInterface          :0
   -Endpoint:
      bLength             :7
      bDescriptorType     :0x05
      bEndpointAddress    :0x81
      bmAttributes        :0x03 (Interrupt)
      wMaxPacketSize      :64
      bInterval           :0x01
   !End Endpoint
   -Endpoint:
      bLength             :7
      bDescriptorType     :0x05
      bEndpointAddress    :0x02
      bmAttributes        :0x03 (Interrupt)
      wMaxPacketSize      :64
      bInterval           :0x01
   !End Endpoint
   -Endpoint:
      bLength             :7
      bDescriptorType     :0x05
      bEndpointAddress    :0x83
      bmAttributes        :0x02 (Bulk)
      wMaxPacketSize      :512
      bInterval           :0x00
   !End Endpoint
   -Endpoint:
      bLength             :7
      bDescriptorType     :0x05
      bEndpointAddress    :0x04
      bmAttributes        :0x02 (Bulk)
      wMaxPacketSize      :512
      bInterval           :0x00
   !End Endpoint
   -Endpoint:
      bLength             :7
      bDescriptorType     :0x05
      bEndpointAddress    :0x85
      bmAttributes        :0x01 (Isochronous, No Synchonization, Data Endpoint)
      wMaxPacketSize      :128
      bInterval           :0x01
   !End Endpoint
   -Endpoint:
      bLength             :7
      bDescriptorType     :0x05
      bEndpointAddress    :0x06
      bmAttributes        :0x01 (Isochronous, No Synchonization, Data Endpoint)
      wMaxPacketSize      :128
      bInterval           :0x01
   !End Endpoint
 !End Interface
!End Configuration
Attachment (Write.Isochronous.rar): application/rar, 10 KiB
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Libusb-win32-devel mailing list
Libusb-win32-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Børge Strand-Bergesen | 22 Aug 14:47 2014
Picon

OvlK_Wait() fails for iso EP poll rate >1ms

Hi guys,

I'm working on a USB ASIO driver based on libusbK. It uses an
isochronous IN endpont for a feedback from the Device. Descriptor dump
is attached.

The ASIO driver fails when the IN endpoint's poll rate becomes >1ms.
(See w5.txt line 220.) Rapid polling isn't needed in the application,
and I'd like to make it slower.

Values of 4 and below work as expected in libusbK and mimic what I see
in Linux. 4 gives 1ms polling rate, 3->1/2ms, 2->1/4ms etc. But on
Linux I also have 5->2ms, 6->4ms, 7->8ms, 8->16ms. (Testing on OS X
roughly tracks what I see on Linux, but with fewer transitions. There
may be bugs in the descriptors which cause libusbK and OS X to
misunderstand them in different ways, where Linux seems to be OK.)

What seems to happen is a failure in OvlK_Wait(). When called,
GetLastErrorInternal(); returns 00000057h.

The calling code is line 138 of:
https://github.com/nikkov/Win-Widget/blob/experimental/uaclib/UsbDevice.h

I use the latest libusbK 3.0.7.0 which I downloaded, linked to and
installed today. The built .dll is a 32-bit application. My system is
Win7-64.

One thing I notice is that OvlK_Wait() parameter TransferredLength is
now PUINT. In the ASIO driver code it was PULONG for a while, but I
believe I have fixed that in all of the code now.

I hope you can help me out with this issue. I hope device performance
will be better on weaker computers with slower polling.

Let me know if you need more details about my system.

Thanks,
Børge
Information for device Henry Audio USB DAC 128      (VID=0x16D0 PID=0x075D): 

Connection Information:
------------------------------
Connection status: Device connected
Device actual bus speed: High 
Device is hub: No
Device adress: 0x0005
Current configuration value: 0x01
Number of open pipes: 4

Device Descriptor:
------------------------------
0x12	bLength
0x01	bDescriptorType
0x0200	bcdUSB
0xEF	bDeviceClass   (Miscellaneous device)
0x02	bDeviceSubClass   
0x01	bDeviceProtocol   
0x40	bMaxPacketSize0   (64 Bytes)
0x16D0	idVendor
0x075D	idProduct
0x1000	bcdDevice
0x01	iManufacturer   "Audio-Widget"
0x02	iProduct   "Henry Audio USB DAC 128     "
0x03	iSerialNumber   "2014082000BSB"
0x01	bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A	bLength
0x06	bDescriptorType
0x0200	bcdUSB
0xEF	bDeviceClass   (Miscellaneous device)
0x02	bDeviceSubClass   
0x01	bDeviceProtocol   
0x40	bMaxPacketSize0   (64 Bytes)
0x01	bNumConfigurations 
0x00	bReserved 

Configuration Descriptor:
------------------------------
0x09	bLength
0x02	bDescriptorType
0x00C1	wTotalLength
0x04	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0x80	bmAttributes   (Bus-powered Device)
0xFA	bMaxPower   (500 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0x00	bInterfaceClass   
0x00	bInterfaceSubClass   
0x00	bInterfaceProtocol   
0x00	iInterface

Interface Association Descriptor:
------------------------------
0x08	bLength
0x0B	bDescriptorType
0x01	bFirstInterface
0x02	bInterfaceCount
0x01	bFunctionClass   (Audio Device Class)
0x00	bFunctionSubClass   
0x20	bFunctionProtocol   
0x00	iFunction

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x01	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0x01	bInterfaceClass   (Audio Device Class)
0x01	bInterfaceSubClass   (Audio Control Interface)
0x20	bInterfaceProtocol   
0x07	iInterface   "Henry Audio USB DAC 128     "

AC Interface Header Descriptor:
------------------------------
0x09	bLength
0x24	bDescriptorType
0x01	bDescriptorSubtype
0x0200	bcdADC
0x04	bCategory
0x0040	wTotalLength
0x00	bmControls

AC Clock Source Descriptor:
------------------------------
0x08	bLength
0x24	bDescriptorType
0x0A	bDescriptorSubtype
0x05	bClockID
0x01	bmAttributes
0x07	bmControls
0x03	bAssocTerminal
0x05	iClockSource   "Clock 2"

AC Input Terminal Descriptor:
------------------------------
0x11	bLength
0x24	bDescriptorType
0x02	bDescriptorSubtype
0x11	bTerminalID
0x0101	wTerminalType   (USB Streaming)
0x00	bAssocTerminal
0x05	bCSourceID
0x02	bNrChannels
0x00000003	bmChannelConfig
0x00	iChannelNames
0x00	bmControls
0x08	iTerminal   "Audio-widget"

AC Feature Unit Descriptor:
------------------------------
0x12	bLength
0x24	bDescriptorType
0x06	bDescriptorSubtype
0x12	bUnitID
0x11	bSourceID
0x00000003	bmaControls(0)
0x00000003	bmaControls(1)
0x00000003	bmaControls(2)
0x00	iFeature

AC Output Terminal Descriptor:
------------------------------
0x0C	bLength
0x24	bDescriptorType
0x03	bDescriptorSubtype
0x13	bTerminalID
0x0302	wTerminalType   (Headphones)
0x00	bAssocTerminal
0x12	bSourceID
0x05	bCSourceID
0x0000	bmControls
0x00	iTerminal

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x02	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0x01	bInterfaceClass   (Audio Device Class)
0x02	bInterfaceSubClass   (Audio Streaming Interface)
0x20	bInterfaceProtocol   
0x00	iInterface

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x02	bInterfaceNumber
0x01	bAlternateSetting
0x02	bNumEndPoints
0x01	bInterfaceClass   (Audio Device Class)
0x02	bInterfaceSubClass   (Audio Streaming Interface)
0x20	bInterfaceProtocol   
0x00	iInterface

AS Interface Descriptor:
------------------------------
0x10	bLength
0x24	bDescriptorType
0x01	bDescriptorSubtype
0x11	bTerminalLink
0x07	bmControls
0x01	bFormatType
0x00000001	bmFormats
0x02	bNrChannels
0x00000003	bmChannelConfig
0x00	iChannelNames

AS Format Type 1 Descriptor:
------------------------------
0x06	bLength
0x24	bDescriptorType
0x02	bDescriptorSubtype
0x01	bFormatType
0x04	bSubslotSize
0x18	bBitResolution   (24 Bits/sample)

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x02	bEndpointAddress   (OUT Endpoint)
0x05	bmAttributes	(Transfer: Isochronous / Synch: Asynchronous / Usage: Data)
0x0188	wMaxPacketSize   (392 Bytes) 
0x02	bInterval

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x08	bLength
0x25	bDescriptorType
0x01	bDescriptorSubtype
0x00	bmAttributes
0x00	bmControls
0x00	bLockDelayUnits   (Undefined)
0x0000	wLockDelay

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress   (IN Endpoint)
0x11	bmAttributes	(Transfer: Isochronous / Synch: None / Usage: Feedback)
0x0004	wMaxPacketSize   (4 Bytes) 
0x05	bInterval

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x03	bInterfaceNumber
0x00	bAlternateSetting
0x02	bNumEndPoints
0x03	bInterfaceClass   (Human Interface Device Class)
0x00	bInterfaceSubClass   
0x00	bInterfaceProtocol   
0x00	iInterface

HID Descriptor:
------------------------------
0x09	bLength
0x21	bDescriptorType
0x0111	bcdHID
0x00	bCountryCode
0x01	bNumDescriptors
0x22	bDescriptorType   (Report descriptor)
0x0043	bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x84	bEndpointAddress   (IN Endpoint)
0x03	bmAttributes	(Transfer: Interrupt / Synch: None / Usage: Data)
0x0008	wMaxPacketSize   (8 Bytes) 
0x05	bInterval

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x05	bEndpointAddress   (OUT Endpoint)
0x03	bmAttributes	(Transfer: Interrupt / Synch: None / Usage: Data)
0x0008	wMaxPacketSize   (8 Bytes) 
0x05	bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09	bLength
0x07	bDescriptorType
0x00C1	wTotalLength
0x04	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0x80	bmAttributes   (Bus-powered Device)
0xFA	bMaxPower   (500 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0x00	bInterfaceClass   
0x00	bInterfaceSubClass   
0x00	bInterfaceProtocol   
0x00	iInterface

Interface Association Descriptor:
------------------------------
0x08	bLength
0x0B	bDescriptorType
0x01	bFirstInterface
0x02	bInterfaceCount
0x01	bFunctionClass   (Audio Device Class)
0x01	bFunctionSubClass   (Audio Control Interface)
0x20	bFunctionProtocol   
0x07	iFunction   "Henry Audio USB DAC 128     "

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x01	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0x01	bInterfaceClass   (Audio Device Class)
0x01	bInterfaceSubClass   (Audio Control Interface)
0x20	bInterfaceProtocol   
0x07	iInterface   "Henry Audio USB DAC 128     "

AC Interface Header Descriptor:
------------------------------
0x09	bLength
0x24	bDescriptorType
0x01	bDescriptorSubtype
0x0200	bcdADC
0x04	bCategory
0x0040	wTotalLength
0x00	bmControls

AC Clock Source Descriptor:
------------------------------
0x08	bLength
0x24	bDescriptorType
0x0A	bDescriptorSubtype
0x05	bClockID
0x01	bmAttributes
0x07	bmControls
0x01	bAssocTerminal
0x00	iClockSource

AC Input Terminal Descriptor:
------------------------------
0x11	bLength
0x24	bDescriptorType
0x02	bDescriptorSubtype
0x11	bTerminalID
0x0101	wTerminalType   (USB Streaming)
0x00	bAssocTerminal
0x05	bCSourceID
0x02	bNrChannels
0x00000003	bmChannelConfig
0x00	iChannelNames
0x00	bmControls
0x00	iTerminal

AC Feature Unit Descriptor:
------------------------------
0x12	bLength
0x24	bDescriptorType
0x06	bDescriptorSubtype
0x12	bUnitID
0x11	bSourceID
0x00000003	bmaControls(0)
0x00000003	bmaControls(1)
0x00000003	bmaControls(2)
0x00	iFeature

AC Output Terminal Descriptor:
------------------------------
0x0C	bLength
0x24	bDescriptorType
0x03	bDescriptorSubtype
0x13	bTerminalID
0x0302	wTerminalType   (Headphones)
0x00	bAssocTerminal
0x12	bSourceID
0x05	bCSourceID
0x0000	bmControls
0x00	iTerminal

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x02	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0x01	bInterfaceClass   (Audio Device Class)
0x02	bInterfaceSubClass   (Audio Streaming Interface)
0x20	bInterfaceProtocol   
0x00	iInterface

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x02	bInterfaceNumber
0x01	bAlternateSetting
0x02	bNumEndPoints
0x01	bInterfaceClass   (Audio Device Class)
0x02	bInterfaceSubClass   (Audio Streaming Interface)
0x20	bInterfaceProtocol   
0x00	iInterface

AS Interface Descriptor:
------------------------------
0x10	bLength
0x24	bDescriptorType
0x01	bDescriptorSubtype
0x11	bTerminalLink
0x07	bmControls
0x01	bFormatType
0x00000001	bmFormats
0x02	bNrChannels
0x00000003	bmChannelConfig
0x00	iChannelNames

AS Format Type 1 Descriptor:
------------------------------
0x06	bLength
0x24	bDescriptorType
0x02	bDescriptorSubtype
0x01	bFormatType
0x04	bSubslotSize
0x18	bBitResolution   (24 Bits/sample)

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x02	bEndpointAddress   (OUT Endpoint)
0x05	bmAttributes	(Transfer: Isochronous / Synch: Asynchronous / Usage: Data)
0x0188	wMaxPacketSize   (392 Bytes) 
0x01	bInterval

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x08	bLength
0x25	bDescriptorType
0x01	bDescriptorSubtype
0x00	bmAttributes
0x00	bmControls
0x00	bLockDelayUnits   (Undefined)
0x0000	wLockDelay

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress   (IN Endpoint)
0x11	bmAttributes	(Transfer: Isochronous / Synch: None / Usage: Feedback)
0x0004	wMaxPacketSize   (4 Bytes) 
0x01	bInterval

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x03	bInterfaceNumber
0x00	bAlternateSetting
0x02	bNumEndPoints
0x03	bInterfaceClass   (Human Interface Device Class)
0x00	bInterfaceSubClass   
0x00	bInterfaceProtocol   
0x00	iInterface

HID Descriptor:
------------------------------
0x09	bLength
0x21	bDescriptorType
0x0111	bcdHID
0x00	bCountryCode
0x01	bNumDescriptors
0x22	bDescriptorType   (Report descriptor)
0x0043	bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x84	bEndpointAddress   (IN Endpoint)
0x03	bmAttributes	(Transfer: Interrupt / Synch: None / Usage: Data)
0x0008	wMaxPacketSize   (8 Bytes) 
0x05	bInterval

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x05	bEndpointAddress   (OUT Endpoint)
0x03	bmAttributes	(Transfer: Interrupt / Synch: None / Usage: Data)
0x0008	wMaxPacketSize   (8 Bytes) 
0x05	bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409 
0x01   0x0409  "Audio-Widget"
0x02   0x0409  "Henry Audio USB DAC 128     "
0x03   0x0409  "2014082000BSB"
0x04   0x0409  "Clock 1"
0x05   0x0409  "Clock 2"
0x06   0x0409  "Select clock"
0x07   0x0409  "Henry Audio USB DAC 128     "
0x08   0x0409  "Audio-widget"
0x09   0x0409  "Audio Out Trm"
0x0A   0x0409  "Widget-Lite"
0x0B   0x0409  "Audio In Alt"

------------------------------

Connection path for device: 
Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E2D
Root Hub
Generic USB Hub
Henry Audio USB DAC 128      (VID=0x16D0 PID=0x075D)

Brought to you by TDD v1.82.0, Aug 20 2013, 17:17:20
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Libusb-win32-devel mailing list
Libusb-win32-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
Magnus Therning | 19 Aug 13:13 2014

libusbK: interrupt transfer

I'm feeling a little stupid here, but hopefully this is so simple to
answer that you'll forgive me.

I've been experimenting with LibUsbDotNet, but ran into an issue that
I couldn't figure out so I switched to experimenting with the second
lib on my list: libusbK.

I need to first do a bunch of control transfers, which is easily
handled using UsbK_ControlTransfer.  Then I need to do an interrupt
transfer (a read).  But I can't for the life of me figure out the API
for getting an interrupt endpoint to read from.  What is it that I'm
missing?

/M

--

-- 
Magnus Therning                      OpenPGP: 0xAB4DFBA4
email: magnus <at> therning.org   jabber: magnus <at> therning.org
twitter: magthe               http://therning.org/magnus

------------------------------------------------------------------------------
jebali.aymen | 12 Aug 18:15 2014
Picon

Best example to do isochronous streaming

Hi,

I am implementing a solution for continuous ADC sampling using the SAM3U
microcontroller from Atmel.
In this use case, the SAM3U sends packets of 512 bytes over USB and the PC
is reading this data through libusb.

the sampling rate is 48000 Hz each sample is 16 bits length.

When reading reading the data from USB pipes, I see that sometimes the
number of samples is less that what was sent from the SAM3U.

Even sometimes more :( .

I tried the latest versions of libusb0 and libusbK and both had the same
issues, except that with libusbK the problem is less frequent.

I use:
- a windows 7 32 bits OS.
- a C DLL that wraps teh libsub .

With the libsubK I tried the available examples:
- xfer-stream.c
- xfer-iso-read.c
- xfer-iso.c

and none have fixed the issue.

Could anyone recommend please a solution or send me an example of libsub
implmentation that could fix this problem?

Thanks,
Aymen

--
View this message in context: http://libusb.6.n5.nabble.com/Best-example-to-do-isochronous-streaming-tp5713552.html
Sent from the LibUSB Dev - Win32 mailing list archive at Nabble.com.

------------------------------------------------------------------------------
vancv | 11 Aug 17:30 2014
Picon

Windows HID Control Endpoint

Hello, I have joystick (Saitek X52) with LCD Display and I want to be able to
control it.
For example under Linux I can use this snippet to control brightness:

libusb_control_transfer (
                        devh,
                        LIBUSB_ENDPOINT_OUT | LIBUSB_REQUEST_TYPE_VENDOR |
LIBUSB_RECIPIENT_DEVICE,
                        X52PRO_REQUEST,
                        20,
                        X52PRO_MFDBRI,
                        NULL,
                        0,
                        1000);

Under windows I get following error:
libusb: warning [hid_submit_control_transfer] unsupported HID control
request
Error sending Feature report

If I change USB driver from HID to WINUSB (using Zadig), I can successfully
control display, but joystick itself does not work. Is there a way to have
working joystick with functional control endpoint under windows?

Thanks. 

--
View this message in context: http://libusb.6.n5.nabble.com/Windows-HID-Control-Endpoint-tp5713548.html
Sent from the LibUSB Dev - Win32 mailing list archive at Nabble.com.

------------------------------------------------------------------------------

Gmane