> The Tiva C launchpad with onboard TI ICDI is creating 3 different devices 
> under
> the same VID:PID. Using the listdevs example util from libusb-1.0 bundle:
> 
> 1cbe:00fd (bus 3, device 3) path: 1.1
> 1cbe:00fd (bus 3, device 3) path: 1.1

Please try xusb as it should report more complete info afaik. I do not
think ICDI presents itself as 2 devices, it's a single device with 4
interfaces.

An output from my launchpad is at the end of this mail.

Current ICDI driver in openocd is using libusb_claim_interface passing
2 for bInterfaceNumber, and since that's part of the device
descriptor, enumeration order shouldn't affect this anyhow at all.

So I'd be quite willing to fix windows 8 compatibility before the
final release but instead of just applying that serial patch blindly
I'd prefer to really understand what's going on there. Please try to
investigate, I hope libusb devs can help you there.

Bus 002 Device 053: ID 1cbe:00fd Luminary Micro Inc. In-Circuit Debug Interface
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x1cbe Luminary Micro Inc.
  idProduct          0x00fd In-Circuit Debug Interface
  bcdDevice            1.00
  iManufacturer           1 Texas Instruments
  iProduct                2 In-Circuit Debug Interface
  iSerial                 3 0E202B60
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          116
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              250mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       2 Abstract (modem)
      bFunctionProtocol       1 AT-commands (v.25ter)
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              0 
      CDC Header:
        bcdCDC               1.10
      CDC ACM:
        bmCapabilities       0x06
          sends break
          line coding and serial state
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      CDC Call Management:
        bmCapabilities       0x01
          call management
        bDataInterface          1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       254 Application Specific Interface
      bInterfaceSubClass      1 Device Firmware Update
      bInterfaceProtocol      1 
      iInterface              0 
      Device Firmware Upgrade Interface Descriptor:
        bLength                             9
        bDescriptorType                    33
        bmAttributes                       15
          Will Detach
          Manifestation Tolerant
          Upload Supported
          Download Supported
        wDetachTimeout                  65535 milliseconds
        wTransferSize                    1024 bytes
        bcdDFUVersion                   1.10
Device Status:     0x0000
  (Bus Powered)


---

** [tickets:#96] ti_icdi_usb not choosing the right interface on Windows 8.1**

**Status:** new
**Milestone:** 0.9.0
**Created:** Tue Apr 28, 2015 10:10 PM UTC by Eugene Sh.
**Last Updated:** Wed Apr 29, 2015 02:55 PM UTC
**Owner:** nobody

The Tiva C launchpad with onboard TI ICDI is creating 3 different devices under 
the same VID:PID. Using the `listdevs` example util from libusb-1.0 bundle:

1cbe:00fd (bus 3, device 3) path: 1.1
1cbe:00fd (bus 3, device 3) path: 1.1

And "Stellaris Virtual serial port" in addition. The ti_icdi_usb.c is using the 
"libusb_open_device_with_vid_pid" function to find the FIRST device with the 
given VID:PID and 
attempt to open it, which is failing on Windows 8.1 (it worked on Windows 7). 
It appears that the enumeration order have changed between the win versions. 
[This patch](http://openocd.zylin.com/#/c/2527/) appears to address this issue 
partially.



---

Sent from sourceforge.net because [email protected] is 
subscribed to http://sourceforge.net/p/openocd/tickets/

To unsubscribe from further messages, a project admin can change settings at 
http://sourceforge.net/p/openocd/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to