Issue with USB Serial communication

Hello,

When I connect my program to a finger sensor that uses serial communication using USB the data doesn’t send or receive, If I unplug and plug the USB again the issue fixes, this also happens on another device.

If i shut down the robot and power it up again the issue is back and I have to unplug/replug the usb.

I tried to reset the usb by various software methods, neither worked.

The device is ID 04b4:f232 Cypress Semiconductor Corp.

Any solution to this problem?

UR Version 3.3.4.310

Thanks in advance.

Hi Raul,

Do you get the same issue with the device on other Linux systems? Sounds like a mounting issue and will almost certainly not be related to UR software.

What methods did you try to reset it? Can you tell from lsusb or dmesg commands whether it’s actually being mounted correctly each time?

I tried this solution How do you reset a USB device from the command line? - Ask Ubuntu and this 12.04 - restart/power on usb port or modem? - Ask Ubuntu

At startup:
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
cdc_acm 1-1.3.4.4:1.0: This device cannot do calls on its own. It is not a modem.
cdc_acm 1-1.3.4.4:1.0: ttyACM0: USB ACM device

When I reconnect it:
usb 1-1.3.4.4: USB disconnect, device number 9
usb 1-1.3.4.4: new full-speed USB device number 12 using ehci-pci
cdc_acm 1-1.3.4.4:1.0: This device cannot do calls on its own. It is not a modem.
cdc_acm 1-1.3.4.4:1.0: ttyACM0: USB ACM device

The problem I don’t get it on my laptop

Ok so certainly a driver issue - the device is not binding to the ehci-pci driver every time as it should.

Assuming you’re using a robot with a v3.1 motherboard with 4 USB ports, try plugging it into the blue coloured USB 3.0 port instead of one of the black ones (you may need to move the UR system USB to another port to try this).

If we’re lucky that will help, if not need to look deeper into drivers. Before you change anything in the Linux system i’d recommend burning a new UR system boot disk using one of the “robot software image” files available on the support site, and use that for your testing as there’s a reasonable chance of something going wrong.

https://www.universal-robots.com/download/?option=28541#section18982

To bind the driver you will need to do something along these lines:

https://askubuntu.com/questions/575882/binding-device-to-a-driver-module

Thanks for the reply.
The problem persists. I will see if there’s any other solutions that I can apply

Removing the relevant driver modules from the kernel and adding them back in again in some order would probably result in it being bound correctly, but not a permanent solution as you don’t really want to have to do that every time.

rmmod ehci-pci modprobe ehci-pci

or

rmmod usbhid modprove usbhid

Hey, I’ve sent a feedback to the company that made the sensors, the issue is from their side and will be fixed soon.

Thanks for your help. I will post more info about our URCap plugin for this sensor soon.

1 Like