This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EV2400: Virtualized Windows 10 makes EV2400 "disappear"

Part Number: EV2400

I am attempting to use an EV2400 in a Windows 10 virtual machine (VM). Not only is it not detected but once connected to the VM it 'disappears' from both the host and guest machines!

This looks like a manifestation of a firmware fault but I don't know what I can do about it,

Details:

I am running Virtualbox on a Linux host with Windows-10 in a VM. Virtualbox allows any USB device seen by the host to be connected through to the VM. The EV2400 is recognized and reported on the Linux host which reports it as a HID device - see below. However, when I tell Virtualbox to connect it through to the Windows VM, it not only does not show up on the guest but disappears from the host too.

Once this has happened the Linux host it is not reported by 'lsusb' (all other devices assigned to a VM still appear). On the Windows guest, it does not show up in device manager, or in UsbView. I have used this Virtualbox setup for a long time and have used many other USB devices but have never seen this behavior before.

I cannot confirm the version of the installed firmware on the EV2400 since all the tools to recognize or change it run on Windows, which doesn't see it (is it 0.12?). Here is the output on the Linux host before I attempt to connect it to Windows:

$ sudo lsusb -v -d 0451:0037

Bus 001 Device 079: ID 0451:0037 Texas Instruments, Inc. EV2400
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0451 Texas Instruments, Inc.
  idProduct          0x0037
  bcdDevice            0.12
  iManufacturer           1 Texas Instruments
  iProduct                2 EV2400
  iSerial                 3 41F4425108001E00
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0029
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 HID Interface
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              5 Default port
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.01
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      36
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)

and after trying to connect - nothing:

$ sudo lsusb -v -d 0451:0037
$

For comparison, here is a TI XDS110 (CC1352R1 Launchpad):

Before connection to VM (not verbose output)

$ sudo lsusb -d 0451:bef3
Bus 001 Device 085: ID 0451:bef3 Texas Instruments, Inc. CC1352R1 Launchpad

After connection to VM it is identical

$ sudo lsusb -d 0451:bef3
Bus 001 Device 085: ID 0451:bef3 Texas Instruments, Inc. CC1352R1 Launchpad

but in USBView on the VM I get:

[Port1]  :  USB Composite Device


Is Port User Connectable:         yes
Is Port Debug Capable:            no
Companion Port Number:            9
Companion Hub Symbolic Link Name: USB#ROOT_HUB30#4&24054718&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Protocols Supported:
 USB 1.1:                         yes
 USB 2.0:                         yes
 USB 3.0:                         no

Device Power State:               PowerDeviceD0

       ---===>Device Information<===---
English product name: "XDS110 (02.03.00.15) Embed with CMSIS-DAP"
etc.

Host is Arch Linux x86-64, Virtualbox 6.1.10 r138449, xHCI USB 3.0 controller (I have also tried USB2.0 OHCI + EHCI controller).

Guest is Windows 10 Pro, version 1909, build 18363.778

  • Hello,

    TI only supports Windows for EV2400. Linux is not a supported operating system and we have not tested with VMs. The VM is running under Linux in this case which adds more complexity which as not been tested with the EV2400.

    I believe the best recommendation we can give you is to try to obtain a windows operating system to use with the EV2400.

    Sincerely,

    Wyatt Keller

  • I kind of thought I'd get an answer like that. My operating system is Windows - it is just running in a virtualized environment and I cannot change that. However, I did manage to scrounge a laptop running an older version of Windows for half an hour and was able to update the firmware on the EV2400. It is now recognized and works on my system as I'd expect so problem solved!

    It surprises me that a brand new EV2400 was shipped with firmware that is years out of date (v0.18) - it is clear from internet searches that these earlier versions didn't work properly with Windows 10, the only Windows version that currently has mainstream support.