no response using data transfer with cyusb-linux (libusb error)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
agba_3844561
Level 3
Level 3
5 likes given First like given

I downloaded the SDK from [ezUSB-fx3-SDK](http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit)

I start untar all the files and finally I found a instruction I could use in `cyfx3sdk/FX3_SDK_Linux_Support.pdf` I followed the instructions.

I intstalled JAVA 8 instead of 7. The rest was done as said. I didn't do: export CYUSB_ROOT=$HOME/Cypress/cyusb_linux_1.0.5 because it generates problems.

I had the following problem `Gtk-Message: 16:16:03.497: Failed to load module "canberra-gtk-module"` that I solved using `sudo apt-get install libcanberra-gtk-module`.

So far so good. I run `./cyusb_linux` without any messages. The device is found and the blue led is blinking as it is supposed to.

I go to "Data Transfer" and try to read/send packets using the bulk mode:

The first run I get to errors:

LIBUSB_ERROR NO: -1, LIBUSB_ERROR_IO

LIBUSB_ERROR NO: -7, LIBUSB_TIMEOUT

Screenshot from 2018-11-07 16-45-51.png

Screenshot from 2018-11-07 16-45-54.png

The second run I get something on the "Data Out" box and only error -7 appears.

Screenshot from 2018-11-07 16-46-03.png

This are the terminal messages after 2 tries to send the bulk packets.

```

Bytes sent to device = 0

Bytes read from device = 0

Bytes sent to device = 512

Bytes read from device = 0

```

Could somebody help me here? Thank you very much.

PS: I'm using ubuntu 18.04.

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.

Hello,

- To program the FX3 device, the device must be running on the boot-loader firmware. But, from your screenshots, I find that the device is running with the USBBulkSourceSinkLED firmware. To switch the FX3 device into boot-loader mode, connect the jumper J4 on the SuperSpeed Explorer Kit and reset the device. The device comes up with a VID/PID 0x04B4/0x00F3. Please look at the screenshots SS1, SS2 and SS3 in the attachment.

- The USBBulkSourceSinkLED firmware that comes with the SuperSpeed Explorer Kit is not meant for loopback applications and hence is the error that you have mentioned. Please follow the screenshots SS4 and SS5 to successfully send and receive data using the cyusb_linux. In case you wanted to perform loopback applications, please load a firmware that suits the same (Eg. USBBulkLoopAuto firmware that comes with the FX3 SDK).

Best regards,

Srinath S

View solution in original post

5 Replies
SrinathS_16
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello,

- Please let us know the firmware that you have loaded into the device before performing the data transfers.

- Try loading the USBBulkLoopAuto firmware example that comes with the SDK and check if the errors appear.

- Also, let us know if you are using a Cypress development kit or is it your custom board design.

Best regards,

Srinath S

0 Likes

Dear Srinath S,

Thank you for your reply.

I'm using the (CYUSB3KIT-003 EZ-USB FX3 SuperSpeed Explorer Kit)[http://www.cypress.com/documentation/development-kitsboards/cyusb3kit-003-ez-usb-fx3-superspeed-expl... ] that I recently bought.

I tired it on WIndows using the tool "Streamer" and it worked like charm.

If I understand correctly, USBBulk-SourceSinkLED firmware is loaded by default (from factory) as I have not done anything else than trying to use the data transfer. I assumed that if it works for windows it should work as well for Linux.

Best Regards,

Agustin Barrachina.

0 Likes
agba_3844561
Level 3
Level 3
5 likes given First like given

I have new light on the issue.

When compiling the code inside `Cypress/cyusb_linux_1.0.5/src` and running:

```

./08_cybulk

Successfully claimed interface

Input/output error

Test

libusb: error [submit_bulk_transfer] submiturb failed error -1 errno=9

Input/output error

Segmentation fault (core dumped)

```

yet if I do: `./09_cyusb_performance -e 129 -s 32 -q 8 -d 10`

It works correctly. And so does the other scripts (01 - 09 except for the mentioned ones). 06 only works with interface 0, interface 1 throws entity not found message.

Other important info:

```

./04_kerneldriver

This device has no kernel driver attached to this interface

Do you wish to attach/reattach a kernel driver ? (1=yes,0=no) : 1

Entity not found

```

I can't also upload a firmware to the board:

Screenshot from 2018-11-13 14-26-03.png

I'm using windows for the moment and everything so far is working perfectly. I'm already trying to program a FPGA through the kit board (once the cyusb3acc-005 module arrives). But I'll need to fix it because out company's code is mainly on linux.

Regards,

0 Likes
lock attach
Attachments are accessible only for community members.

Hello,

- To program the FX3 device, the device must be running on the boot-loader firmware. But, from your screenshots, I find that the device is running with the USBBulkSourceSinkLED firmware. To switch the FX3 device into boot-loader mode, connect the jumper J4 on the SuperSpeed Explorer Kit and reset the device. The device comes up with a VID/PID 0x04B4/0x00F3. Please look at the screenshots SS1, SS2 and SS3 in the attachment.

- The USBBulkSourceSinkLED firmware that comes with the SuperSpeed Explorer Kit is not meant for loopback applications and hence is the error that you have mentioned. Please follow the screenshots SS4 and SS5 to successfully send and receive data using the cyusb_linux. In case you wanted to perform loopback applications, please load a firmware that suits the same (Eg. USBBulkLoopAuto firmware that comes with the FX3 SDK).

Best regards,

Srinath S

Worked with firmware cyfxbulklpautoenum.img

Thank you!

Screenshot from 2018-11-20 11-58-24.png

0 Likes