3 Replies Latest reply on Jul 4, 2018 6:02 AM by abga

    Error: CyJtagDevice Not found (Linux - Ubuntu 16.04 LTS)

    adrian.fiergolski_3331326

      I would like to debug FX3 on Ubuntu 16.04 LTS.

       

      I use the latest SDK 1.3.3.

       

      I have a problem with openocd:

       

      $ /opt/cypress/cyfx3sdk/JTAG/OpenOCD/Linux/x64/openocd -f  /opt/cypress//cyfx3sdk/JTAG/OpenOCD/Config/arm926ejs_fx3.cfg

      Open On-Chip Debugger 0.8.0 (2014-12-03-16:28)

      Licensed under GNU GPL v2

      For bug reports, read

          http://openocd.sourceforge.net/doc/doxygen/bugs.html

      Warn : Adapter driver 'cy7c65215' did not declare which transports it allows; assuming legacy JTAG-only

      Info : only one transport option; autoselect 'jtag'

      adapter_nsrst_delay: 200

      jtag_ntrst_delay: 200

      adapter speed: 1000 kHz

      trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst

      RCLK - adaptive

      adapter speed: 1000 kHz

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      USB Device: Vid=9fb Pid=6001 Intf=1

      USB Interface 0: Type=255

      Error: CyGetDeviceInfo failed

       

      USB Device: Vid=4b4 Pid=5 Intf=5

      USB Interface 0: Type=0

      USB Interface 1: Type=0

      USB Interface 2: Type=0

      USB Interface 3: Type=0

      USB Interface 4: Type=5

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyGetDeviceInfo failed

       

      Error: CyJtagDevice Not found

       

      in procedure 'init'

       

       

      The same error is returned inside ezUsbSuite trying to launch openocd.

       

      If I understand correctly, openocd detects USB-Serial device correctly.

       

      $lsusb

      Bus 004 Device 003: ID 17ef:3070 Lenovo

      Bus 004 Device 002: ID 17ef:3070 Lenovo

      Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

      Bus 003 Device 005: ID 17ef:3075 Lenovo

      Bus 003 Device 008: ID 046d:c52b Logitech, Inc. Unifying Receiver

      Bus 003 Device 007: ID 17ef:306f Lenovo

      Bus 003 Device 123: ID 04b4:00f3 Cypress Semiconductor Corp.

      Bus 003 Device 006: ID 09fb:6001 Altera Blaster

      Bus 003 Device 101: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)

      Bus 003 Device 100: ID 04b4:0005 Cypress Semiconductor Corp.

      Bus 003 Device 099: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)

      Bus 003 Device 097: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub

      Bus 003 Device 003: ID 17ef:3071 Lenovo

      Bus 003 Device 002: ID 17ef:3071 Lenovo

      Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

      Bus 002 Device 003: ID 0bda:0316 Realtek Semiconductor Corp.

      Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

      Bus 001 Device 005: ID 04f2:b604 Chicony Electronics Co., Ltd

      Bus 001 Device 003: ID 04f2:b613 Chicony Electronics Co., Ltd

      Bus 001 Device 002: ID 17ef:3074 Lenovo

      Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

      On the custom board, I have a 4-port hub:

      • port 1: not used
      • port 2:  FTDI231
      • port 3: CY7C65215
        • port 0: FX3 UART (works fine)
        • port 1: FX3 jTag (openocd has a problem described above)
      • port 4: FTDI231

      $dmesg

      ...

      [ +15,759768] usb 3-1.2.1: new high-speed USB device number 16 using xhci_hcd

      [  +0,148158] usb 3-1.2.1: New USB device found, idVendor=0424, idProduct=2514

      [  +0,000002] usb 3-1.2.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

      [  +0,000879] hub 3-1.2.1:1.0: USB hub found

      [  +0,000018] hub 3-1.2.1:1.0: 4 ports detected

      [  +0,286859] usb 3-1.2.1.2: new full-speed USB device number 17 using xhci_hcd

      [  +0,108158] usb 3-1.2.1.2: New USB device found, idVendor=0403, idProduct=6015

      [  +0,000001] usb 3-1.2.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3

      [  +0,000001] usb 3-1.2.1.2: Product: FT231X USB UART

      [  +0,000001] usb 3-1.2.1.2: Manufacturer: FTDI

      [  +0,000001] usb 3-1.2.1.2: SerialNumber: DM00D53X

      [  +0,003890] ftdi_sio 3-1.2.1.2:1.0: FTDI USB Serial Device converter detected

      [  +0,000028] usb 3-1.2.1.2: Detected FT-X

      [  +0,000403] usb 3-1.2.1.2: FTDI USB Serial Device converter now attached to ttyUSB0

      [  +0,079480] usb 3-1.2.1.3: new full-speed USB device number 18 using xhci_hcd

      [  +0,106464] usb 3-1.2.1.3: New USB device found, idVendor=04b4, idProduct=0005

      [  +0,000001] usb 3-1.2.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0

      [  +0,000001] usb 3-1.2.1.3: Product: USB-Serial (Dual Channel)

      [  +0,000001] usb 3-1.2.1.3: Manufacturer: Cypress Semiconductor

      [  +0,001637] cdc_acm 3-1.2.1.3:1.0: ttyACM0: USB ACM device

      [  +0,000425] cdc_acm 3-1.2.1.3:1.2: ttyACM1: USB ACM device

      [  +0,015808] usb 3-1.2.1.4: new full-speed USB device number 19 using xhci_hcd

      [  +0,108836] usb 3-1.2.1.4: New USB device found, idVendor=0403, idProduct=6015

      [  +0,000001] usb 3-1.2.1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3

      [  +0,000001] usb 3-1.2.1.4: Product: FT231X USB UART

      [  +0,000001] usb 3-1.2.1.4: Manufacturer: FTDI

      [  +0,000001] usb 3-1.2.1.4: SerialNumber: DM00CXDF

      [  +0,003762] ftdi_sio 3-1.2.1.4:1.0: FTDI USB Serial Device converter detected

      [  +0,000021] usb 3-1.2.1.4: Detected FT-X

      [  +0,000364] usb 3-1.2.1.4: FTDI USB Serial Device converter now attached to ttyUSB1

       

        • 1. Re: Error: CyJtagDevice Not found (Linux - Ubuntu 16.04 LTS)
          abga

          Hi,

           

          Could you please try to install a new version of libusb and then try again. If the problem persist you can download USB Serial SDK, go to the following link:

          http://www.cypress.com/documentation/software-and-drivers/usb-serial-software-development-kit

          Install the SDK.

          It contains test utility which you can use to test serial device. Please note that you have to install "libusb" provided along with this SDK.

           

          Thanks & Regards

          Abhinav 

          • 2. Re: Error: CyJtagDevice Not found (Linux - Ubuntu 16.04 LTS)
            adrian.fiergolski_3331326

            Hi abga,

            Thank you for your message.

             

            I have installed libusb(version 1.0.9) from USB Serial SDK. However, it doesn't solve the problem of openocd.

             

            I knew SDK comes with CyUSBSerialTestUtility. However, it didn't work also (no devices were listed). The insllation of the specific libusb didn't solve the issue.

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

            Device Number | VID | PID | INTERFACE NUMBER | FUNCTIONALITY

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

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

             

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

            1: Print list of devices

            2: Select device...No device selected !!

            3: Enter I2C/SPI Flash page address and length to write/read.

            4: Verify data

            5: Exit

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

            5

             

            I installed libusb under /usr/local. The tool uses proper libraries:

            $ ldd CyUSBSerialTestUtility

                linux-vdso.so.1 =>  (0x00007ffcd9bcf000)

                libcyusbserial.so => /usr/local/lib/libcyusbserial.so (0x00007fdab0ae2000)

                libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdab0718000)

                libusb-1.0.so.0 => /usr/local/lib/libusb-1.0.so.0 (0x00007fdab0508000)

                /lib64/ld-linux-x86-64.so.2 (0x00007fdab0cec000)

                librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fdab0300000)

                libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdab00e3000)

            To avoid uncertainty regarding source of the issue, I have installed udev rules beforehand (91-cyusbserial.rules) as well.

            • 3. Re: Error: CyJtagDevice Not found (Linux - Ubuntu 16.04 LTS)
              abga

              Hi,

               

              I found that the VID and PID of USB Serial bridge to be 0x04b4 and 0x0005 which indicates that both the channels of the bridge are configured as CDC. I also have seen it enumerating as ttyACM device supporting my assumption.

               

              Can you please connect the USB serial bridge to a windows PC and use the USB Serial configuration Utility to reconfigure it to use one channel for UART CDC and other for JTAG vendor protocol?

              FYI- Once you update the configuration in windows PC, that configuration retains when you connect to Linux machine.

               

              Thanks & Regards

              Abhinav