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.
Hi all,
I've a blackhawk XDS200 USB debugger which work well on Windows. However when we try to use it with an Ubuntu installation of CCS 6.1.0.00104 we have an host connection error. I know there are several threads about this debugger, but none of them helped us in fixing our problem.
The TI wiki page suggests to check lsusb and udev rules.
The device is listed when I run the lsusb command. This is the output:
Bus 001 Device 006: ID 0451:bef0 Texas Instruments, Inc.
If I try to test the udev rule I get the following error. I'm not expert on this, so I hope the command I used is the correct one.
luca@lucapc:~/Projects/Verity/vs_root/ws_pc_build/bin$ udevadm test /dev/bus/usb/001/006 calling: test version 204 This program is for debugging only, it does not run any program specified by a RUN key. It may show incorrect results, because some values may be different, or not available at a simulation run. === trie on-disk === tool version: 204 file size: 5773073 bytes header size 80 bytes strings 1271633 bytes nodes 4501360 bytes load module index read rules file: /etc/udev/rules.d/10-kvaser.rules read rules file: /lib/udev/rules.d/40-crda.rules read rules file: /lib/udev/rules.d/40-gnupg.rules read rules file: /lib/udev/rules.d/40-hyperv-hotadd.rules read rules file: /lib/udev/rules.d/40-inputattach.rules read rules file: /lib/udev/rules.d/40-libgphoto2-6.rules GOTO 'libgphoto2_usb_end' has no matching label in: '/lib/udev/rules.d/40-libgphoto2-6.rules' read rules file: /lib/udev/rules.d/40-libsane.rules read rules file: /lib/udev/rules.d/40-open-vm-tools.rules read rules file: /lib/udev/rules.d/40-openocd.rules read rules file: /lib/udev/rules.d/40-usb-media-players.rules read rules file: /lib/udev/rules.d/40-usb_modeswitch.rules read rules file: /lib/udev/rules.d/40-xdiagnose.rules read rules file: /lib/udev/rules.d/42-usb-hid-pm.rules read rules file: /etc/udev/rules.d/49-stlinkv1.rules read rules file: /etc/udev/rules.d/49-stlinkv2-1.rules read rules file: /etc/udev/rules.d/49-stlinkv2.rules read rules file: /lib/udev/rules.d/50-firmware.rules read rules file: /lib/udev/rules.d/50-udev-default.rules read rules file: /lib/udev/rules.d/55-dm.rules read rules file: /lib/udev/rules.d/56-hpmud.rules read rules file: /lib/udev/rules.d/60-cdrom_id.rules read rules file: /lib/udev/rules.d/60-keyboard.rules read rules file: /lib/udev/rules.d/60-pcmcia.rules read rules file: /lib/udev/rules.d/60-persistent-alsa.rules read rules file: /lib/udev/rules.d/60-persistent-input.rules read rules file: /lib/udev/rules.d/60-persistent-serial.rules read rules file: /lib/udev/rules.d/60-persistent-storage-dm.rules read rules file: /lib/udev/rules.d/60-persistent-storage-tape.rules read rules file: /lib/udev/rules.d/60-persistent-storage.rules read rules file: /lib/udev/rules.d/60-persistent-v4l.rules read rules file: /lib/udev/rules.d/61-accelerometer.rules read rules file: /lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules read rules file: /lib/udev/rules.d/62-google-cloudimg.rules read rules file: /lib/udev/rules.d/64-btrfs.rules read rules file: /lib/udev/rules.d/64-xorg-xkb.rules read rules file: /lib/udev/rules.d/66-xorg-synaptics-quirks.rules read rules file: /lib/udev/rules.d/69-cd-sensors.rules IMPORT found builtin 'usb_id --export %p', replacing /lib/udev/rules.d/69-cd-sensors.rules:89 read rules file: /lib/udev/rules.d/69-libmtp.rules read rules file: /lib/udev/rules.d/69-xorg-vmmouse.rules read rules file: /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules read rules file: /etc/udev/rules.d/70-persistent-cd.rules read rules file: /etc/udev/rules.d/70-persistent-net.rules read rules file: /lib/udev/rules.d/70-power-switch.rules read rules file: /lib/udev/rules.d/70-printers.rules read rules file: /lib/udev/rules.d/70-uaccess.rules read rules file: /etc/udev/rules.d/71-bh-permissions.rules read rules file: /etc/udev/rules.d/71-sd-permissions.rules read rules file: /lib/udev/rules.d/71-seat.rules read rules file: /etc/udev/rules.d/71-ti-permissions.rules read rules file: /lib/udev/rules.d/73-idrac.rules read rules file: /lib/udev/rules.d/73-seat-late.rules read rules file: /lib/udev/rules.d/75-net-description.rules read rules file: /lib/udev/rules.d/75-persistent-net-generator.rules read rules file: /lib/udev/rules.d/75-probe_mtd.rules read rules file: /lib/udev/rules.d/75-tty-description.rules read rules file: /lib/udev/rules.d/77-nm-olpc-mesh.rules read rules file: /lib/udev/rules.d/78-graphics-card.rules read rules file: /lib/udev/rules.d/78-sound-card.rules read rules file: /lib/udev/rules.d/80-drivers.rules read rules file: /lib/udev/rules.d/80-udisks.rules read rules file: /lib/udev/rules.d/80-udisks2.rules read rules file: /lib/udev/rules.d/85-brltty.rules read rules file: /lib/udev/rules.d/85-hdparm.rules read rules file: /lib/udev/rules.d/85-hplj10xx.rules read rules file: /lib/udev/rules.d/85-keyboard-configuration.rules read rules file: /lib/udev/rules.d/85-regulatory.rules read rules file: /lib/udev/rules.d/85-usbmuxd.rules read rules file: /lib/udev/rules.d/90-alsa-restore.rules read rules file: /lib/udev/rules.d/90-alsa-ucm.rules read rules file: /lib/udev/rules.d/90-libgpod.rules read rules file: /lib/udev/rules.d/90-pulseaudio.rules read rules file: /lib/udev/rules.d/95-cd-devices.rules read rules file: /lib/udev/rules.d/95-udev-late.rules read rules file: /lib/udev/rules.d/95-upower-battery-recall-dell.rules read rules file: /lib/udev/rules.d/95-upower-battery-recall-fujitsu.rules read rules file: /lib/udev/rules.d/95-upower-battery-recall-gateway.rules read rules file: /lib/udev/rules.d/95-upower-battery-recall-ibm.rules read rules file: /lib/udev/rules.d/95-upower-battery-recall-lenovo.rules read rules file: /lib/udev/rules.d/95-upower-battery-recall-toshiba.rules read rules file: /lib/udev/rules.d/95-upower-csr.rules read rules file: /lib/udev/rules.d/95-upower-hid.rules read rules file: /lib/udev/rules.d/95-upower-wup.rules read rules file: /lib/udev/rules.d/97-bluetooth-hid2hci.rules read rules file: /lib/udev/rules.d/97-ofono-speedup.rules read rules file: /lib/udev/rules.d/97-ofono.rules read rules file: /etc/udev/rules.d/99-icdi.rules rules contain 196608 bytes tokens (16384 * 12 bytes), 34402 bytes strings 16673 strings (147497 bytes), 13604 de-duplicated (116165 bytes), 3070 trie nodes used unable to open device '/sys/dev/bus/usb/001/006' unload module index
Once again, I'm not expert of this, but this is the content of the file /etc/udev/rules.d/71-ti-permissions.rules. Isn't the debugger we are trying to use ignored?
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="a6d0",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="a6d1",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6010",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="bcd9",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="bcda",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1cbe",ATTRS{idProduct}=="00fd",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1cbe",ATTRS{idProduct}=="00ff",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef1",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef2",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef3",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef4",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="c32a",MODE:="0666" ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef0",ENV{ID_MM_DEVICE_IGNORE}="1" ATTRS{idVendor}=="0c55",ATTRS{idProduct}=="0220",ENV{ID_MM_DEVICE_IGNORE}="1" KERNEL=="ttyACM[0-9]*",MODE:="0666"
Please let me know if you need further information.
Thanks in advance for any help.
Hi,
I just tested on my system here (Ubuntu 14.04/64) and have identical results and files - the difference is that my JTAG debugger is working fine. Therefore the problem is located somewhere else. Are you using your XDS200 on a USB3.0 port or HUB? I recall some folks having trouble with this configuration in the past, and some recommendations are described here.
Luca Gherardi said:Once again, I'm not expert of this, but this is the content of the file /etc/udev/rules.d/71-ti-permissions.rules. Isn't the debugger we are trying to use ignored?
Given the XDS200 uses ttyACM? ports, this parameter prevents it from creating its own device node. (although this seems to be deprecated in the latest udev releases and is there for compatibility - reference here).
Therefore, the error on udevadm may be originating from the absence of the device node, but I am not 100% sure.
Hope this helps,
Rafael
Also, I assume you followed the procedure shown in section 7 of the XDS200 wiki page, is that so?
Can you try to issue the command xds2xx_conf get xds2xxu 0 and see if it can recognize the XDS200? If information shows up, try to perform a soft boot by issuing the command xds2xx_conf boot xds2xxu 0. This may shake the JTAG debugger sufficiently to properly initialize.
If nothing above works, check if you have /etc/ttyACMn (where n is a number) on your system.
If nothing worked, at this point there is a strong chance your JTAG debugger is bricked. However, before you get to the point of returning it, I would definitely try to use it in a different PC and re-issue the same commands above (Windows commands are very similar).
If nothing works, at this point I would consider the JTAG debugger bricked. Check for signs of overheat or broken cables (even USB ones) before contacting the company you purchased it for a return (or repair, depending on warranty terms).
Hope this helps,
Rafael
Hi Rafael,
Yes, I followed the procedure described in section 7 of the XDS200 wiki page.
The command xds2xx_conf get xds2xxu 0 returns
Error: Failed to open port connection: xds2xxu Error: test failed
I tried to connect the debugger to 3 computers (Ubuntu, Windows and Mac). With none of them I was able to detect the device.
Should we return it to the dealer? Is there a standard procedure to return these devices or does it depend on the specific dealer?
Thanks,
Luca
Luca,
Luca Gherardi said:Should we return it to the dealer? Is there a standard procedure to return these devices or does it depend on the specific dealer?
I am sorry to hear the tests failed. The JTAG debugger seems bricked. Given the explanation you gave me then yes, I think you should contact the distributor and check what is their procedure (it varies greatly among distributors). It may be either a repair or a return depending on warranty terms.
Regards,
Rafael