PSoC 4 Pioneer Board - USB-UART Bridge - Debian/Ubuntu/Mint Linux

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

cross mob
Anonymous
Not applicable

I have my PSoC 4 Pioneer Board wired to bring the PSoC Rx/Tx lines over to the the PSoC 5LP in an attempt to use the PSoC 5 LP as a USB-UART Bridge. This, in fact, works as expected with PuTTY and MS Windows.

   

However, plugging that cable into a machine with a recent version of Linux, does not yield the same success.

   

The USB core code is able to query the Cypress KitProg, but, cdc_acm fails to probe the device.

   
     [2851710.639699] usb 3-1: new full-speed USB device number 26 using xhci_hcd
[2851710.658221] usb 3-1: New USB device found, idVendor=04b4, idProduct=f139
[2851710.658229] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=128
[2851710.658233] usb 3-1: Product: Cypress KitProg
[2851710.658235] usb 3-1: Manufacturer: Cypress Semiconductor
[2851710.658238] usb 3-1: SerialNumber: 191E022A021C2400
[2851710.660871] hid-generic 0003:04B4:F139.0014: hiddev0,hidraw3: USB HID v1.11 Device [Cypress Semiconductor Cypress KitProg] on usb-0000:00:14.0-1/input0
[2851710.661603] cdc_acm 3-1:1.2: This device cannot do calls on its own. It is not a modem.
[2851710.661614] cdc_acm: probe of 3-1:1.2 failed with error -22

I have scoured all through these forums and all through Google and have turned up no remedies.   
   
        
   
    Has anyone tried to use the PSoC 4 with Linux in this USB-UART bridge mode? If so, did you have to "tweak" anything to get it to work?   
0 Likes
12 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

For USBUART a device driver is needed that physically connects to the USB-port and emulates a serial port to be accessed forom the OS. Cypress provides a driver for that although windows already has got one. Neither of those will run under Linux or any other OS. I would suggest you to google for "usb uart driver linux" and see if you can find something that works.

   

 

   

Bob

ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Not sure if this would help but Cypress USB SDK does have

   

Linux drivers -

   

 

   

    

   

          http://www.cypress.com/?rID=57990

   

 

   

Regards, Dana.

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Try this app note and see if it helps you.  AN82072

0 Likes
Anonymous
Not applicable

I tried the same thing with the CY8CKIT-059, trying to use a LINUX serial terminal program to connect to the USBUART interface with the same USB vendor ID / product ID as above.  I found that it is possible to issue a modprobe command as root to get the USB device to be attached to a driver and a /dev/ttyUSBx device permitting the use of the device with terminal programs.  This is what I found:

   

modprobe usbserial vendor=0x04B4 product=0xF139
minicom –baudrate 9600 –8bit –device /dev/ttyUSB1
#minicom –baudrate 9600 –8bit –device /dev/ttyUSB0

   

USB1 was the one that ended up passing target serial data to my minicom. I don’t know what USB0 is for.

   

You probably must also turn off hardware flow control in the terminal program in order to be able to transmit data from the PC to the USBUART.

0 Likes
Anonymous
Not applicable

I know this post is old but figured I would update it for those finding this page from search results. 

   

I originally used cyc15's technique with usbserial.  However, this allowed me to only use the attached CY8CKIT-059 devices and not other serial devices needing the usbserial module simultaneously.  I discovered that if I updated the kitprog firmware to version 2.16, Ubuntu 16.04 LTS with kernel 4.4  successfully recognizes the device using the cdc-acm driver.  I can now use minicom as normal on /dev/ttyACM0.

0 Likes

Hi,i have the same problem you mentioned in the first post.Can you please elaborate on your solution?

   

user.warn kernel: cdc_acm: probe of 1-1.1:1.2 failed with error -22

   

Thanks

0 Likes
Anonymous
Not applicable

hi acotarlea

just update your kitprog

then use /dev/ttyACM0 as  device name

check this way (in this example on a raspberry pi )

pi@raspberrypi:~ $ dmesg | grep tty

[    0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

[    0.000345] console [tty1] enabled

[    0.751869] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2

[    9.037824] cdc_acm 1-1.2:1.2: ttyACM0: USB ACM device

pi@raspberrypi:~ $

then install putty terminal (easier than minicom) and test with  a loop between Tx and Rx

bye from France

0 Likes
Anonymous
Not applicable

hi

One more thing

the user (pi in my example) must be a member of le dialout group

0 Likes
DaBa_1448511
Level 3
Level 3
25 replies posted 10 replies posted 5 replies posted

Hi Bob,

   

<<This is not Linux related, but it's the closest thread I could find for my issue>>
For my latest task, I want to use the Kitprog USB-UART Bridge as a debugging aide. But when I connect a terminal (tried both PuTTY and 232Analyzer) to the Kitprog COM port (COM3 in my Windows), it's flooded with non-stop incoming data. At 9600 they're all zeroes, but a 115K, there's more variety (but it's not really the spice of life...). It happens with the PSoC 5's Tx/Rx connected to nothing, and it and it happens with a blank project loaded on the board (no hardware modules, no code). Before I realized it was seemingly unrelated to the PSoC 4, I tried a couple of different project approaches, including the example in the CY8CKIT-042 Kit Guide, but had the same problem with all and there was no sign of characters coming across from the PSOC 4 (which I thought might somehow be intermingled with all the spurious characters).

   

I did find the Community Support Page: CY8CKIT-042: Buffer Overflow of USB-UART Bridge - KBA87869, but I'm using the most recent firmware on the programmer. 

   

Target: CY8CKIT-042
Firmware Version: 2.17
IDE: PSoC Created 3.3
OS: Windows 10

   

Any thoughts?

   

Thanks.

   

-Dave

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

@Dave (1-28 ???)

   

I observe the continous flooding nonsens data are sent as long as the UART is not initialized and the pins are floating.

   

I would suggest you to check your kit's schematic for the correct Rx/Tx pins. Did you snap-off the Kitprog and re-connect it with wires?

   

On my machines the com-port is a two digit com-number, check by plugging and removing the Kit while watching the device manager.

   

 

   

Bob

0 Likes
DaBa_1448511
Level 3
Level 3
25 replies posted 10 replies posted 5 replies posted

Update: I installed the latest version of Creator on a different machine (running Windows 7) and it works fine. Will try updating my version on my main machine next.

0 Likes
DaBa_1448511
Level 3
Level 3
25 replies posted 10 replies posted 5 replies posted

Bob,

   

Thanks for the input. It's good to know about the uninitialized state. Further on the Creator 4.0 update, it fixed the problem on my main (Win 10) machine. No other changes to hardware or project.

   

Thanks again.

   

-Dave

0 Likes