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.

EK-TM4C1294XL: USB_DEV_BULK Example problem with device connection to PC

Part Number: EK-TM4C1294XL


Hello,

I have TM4C1294XL launchpad and I would like to test usb_dev_bulk example. I run usb_bulk_example.exe but is unable to initialize device.

I successfully upload example to launchpad but I can not see anything in device manager.

I have already install stellaris icdi drivers.

Do I have to install something else in order to see device in device manager?

Tell me that is not a hardware problem with the USB ):

Is there any other way in order to check is USB is working?

  • Hi,

     Below is the description of the usb_dev_bulk example.

    2.23 USB Generic Bulk Device (usb_dev_bulk)

    This example provides a generic USB device offering simple bulk data transfer to and from the host.

    The device uses a vendor-specific class ID and supports a single bulk IN endpoint and a single bulk

    OUT endpoint. Data received from the host is assumed to be ASCII text and it is echoed back with

    the case of all alphabetic characters swapped.

    A Windows INF file for the device is provided on the installation media and in the C:/ti/TivaWare-CSeries-

    X.X/windows_drivers directory of TivaWare releases. This INF contains information required

    to install the WinUSB subsystem on WindowsXP and Vista PCs. WinUSB is a Windows subsystem

    allowing user mode applications to access the USB device without the need for a vendor-specific

    kernel mode driver.

    A sample Windows command-line application, usb_bulk_example, illustrating how to connect to and

    communicate with the bulk device is also provided. The application binary is installed as part of the

    “TivaWare for C Series PC Companion Utilities” package (SW-TM4C-USB-WIN) on the installation

    CD or via download from . Project files are included to allow

    the examples to be built using Microsoft Visual Studio 2008. Source code for this application can

    be found in directory ti/TivaWare_C_Series-x.x/tools/usb_bulk_example.

      On the host PC you need to run the command line tool usb_bulk_example.exe. See below where the string I entered is echoed back by the MCU.

    Make sure your PC has the driver installed for the TivaWare generic bulk device. See below. The INF file is in <TivaWare_Installation>/windows_drivers/usb_dev_bulk.inf.

  • Hi Charles,
    Thank you for your quick responce.
    The problem is that when I connect the LaunchPad running the usb_dev_bulk example nothing pop-ups in the device manager( I can't see the Highlighted device in your posted picture) so I can't install the drivers.
    Is that maybe a hardware problem with the launchpad?
    The crazy think is that I successffully run usb_host_mouse example.
    Is that indicates that USB is working?
  • Hi,
    When you plug and unplug the usb from the launchpad did you see the device manager refresh the screen? You might want to check under the Universal Serial Bus Controller to see if something got added/deleted after you plug/unplug the usb.

    If you had run usb_host_mouse before then the USB is working.
  • Unfortunately noooo,
    Nothing added/deleted after I plug/unplug the usb.
    I am thinking of trying another PC first and then buying an second TM4C1294XL to see what's is going on
    :(
  • One more thing is that you need to plug the usb to the 'Device' USB port on the launchpad. There are two usb ports on the launchpad. Simply plugging to the 'Debug' USB port is not enough. The Debug USB port is for debugging the target and supply power to the LP only.
  • Charles Tsai said:
    The device uses a vendor-specific class ID and supports a single bulk IN endpoint and a single bulk OUT endpoint.

    Yet the Tivaware USB bulk device initialization configures 7 endpoints. Makes one concerned why 7 if only one is being used by the low level bulk device driver. That bulk driver has to be installed in windows after windows plug play manager detects the cable being plugged in.

    FYI; The bulk.exe must be launched with -e to enable echo mode. 

  • Hi BP101,

      I think it configures 2 end points. Each end point as a size of 7.

  • I have actually connect 4 endpoints via 4 OTG (EK-TM4C1294XL) into USB hub with 4 separate client addresses. The echo client is made to read the CDC pipe for infinite time frame to get the target data from USB buffer unless the pipe disconnects.
  • The problem still exist :(
    I have not made any modifications to TI's example and I USE latest TIVAWARE.
    I search other post with similar problems but in all of them at least there is an unknown device in the device manager.
    I used 3 different PCs one WINDOWS XP one WINDOWS 7 and one WINDOWS 10 But no luck.
    I am start thinking that is launchpad issue.
    I read TI workbook, in the USB chapter says after you build, run and download code, In a few moments, your computer will detect that a generic bulk device has been plugged into the USB port.... mine computers (all of them) not.
    What is going on ?
    I am so desperate.
  • Alex_Kor said:
    I am start thinking that is launchpad issue.

    It could be OTG port failure or JP1 set to power from OTG? Your PC has 2 USB ports, if power JP1 = VBUS from IDCI port it too must be plugged in to computer. Otherwise CCS debug check USB control register to see if VBUS & ID pins BITS are toggling high when you plug in cable. Don't forget to make register debug window continuous refresh, clicking on refresh icon/s.

    Alex_Kor said:
    In a few moments, your computer will detect that a generic bulk device has been plugged into the USB port.... mine computers (all of them) not.
    What is going on ?

    Windows bulk CDC driver is not detecting the target endpoint FIFO data being passed to register the device UUID is actually active. The target CCS debug FIFO must show data action, issue is with USB port VBUS or ID pins not toggling. Curious have you ever left the OTG port plugged into computer for extended time without power on MCU?

  • Do you have another launchpad(s) you can borrow and try it?
  • Man do these Prodigy forum posters take ever long coffee breaks!
  • I finally made the example to work by changing the line

    USBStackModeSet(0, eUSBModeDevice, 0);
    with
    USBStackModeSet(0, eUSBModeForceDevice, 0);

    I don't understand, I remember running the same example in the past without changing anything.
    In usblib.h says for the first line
    "Operate in USB device mode with active monitoring of VBUS and the ID pin must be pulled to a logic high value."
    And for the second line
    "Forcing device mode so that the VBUS and ID pins are not used or monitored by the USB controller.

    Why is that happening I didn't make any modification to the program. Can this be a hardware problem?
  • Hi,
    Glad that you made great progress!

    Did you mean that you had run the example before without modifying and it was working and now it is not unless you change to eUSBModeForceDevice? You never mentioned this information in your original post.

    Can you try on another launchpad as I suggested before?
  • Yes and sorry for the omission. It was during a universite's lab. With a different launchpad of course.
    I purchased a new launchpad and I will get it till the end of the week.
    I will test it and I will let you know.
    Thank you.
  • Hi Alex,
    Is this issue resolved now with the new launchpad?
  • Hi Alex,
    I didn't hear back from you. I will close the thread for now. You can reopen the thread or create a new thread if you have new questions.