Search code examples
serial-porttty

What does pl2303 "error sending break" mean?


I have a problem with my pl2303 converter. I'm using two of them like this:

LAPTOP <-USB-SERIAL-> <-SERIAL-SERIAL-> <-SERIAL-USB-> RASPBERRYPI

In other words, I'm connecting Raspberry Pi with my laptop using two usb-to-serial converters and having null modem in the middle.

I can communicate through minicom and "visually" it looks fine (all information is sent properly), but when I look into the logs it produces following dmesg output:

[  343.390610] pl2303 ttyUSB1: pl2303_get_line_request - failed: -32
[  343.685367] pl2303 ttyUSB1: error sending break = -32

I could live with that as long as everything works fine... but it doesn't. For example, I can't connect with RPi via ser2net. The "other side" simply doesn't get the messages. I suspect that this error is the cause of this problem. I was googling around, but I didn't find any solution. Could somebody help me with it?

Also - when I try to connect via ser2net, one thing breaks. Before that I can to stuff like

cat -v < /dev/ttyUSB0

and

echo "blablabla" > /dev/ttyUSB0

with success. After I try to connect via ser2net, it stops working and only minicom communication is fine.


Solution

  • This is a late answer but maybe someone can use it.

    TLDR: Replace PL2303 USB to serial with FTDI FT232.

    Had the same problem with my Pi monitoring my solar controller. Got the same two errors every 10 seconds when i started scanning data. I use pymodbus for communication.

    Changing PL2303 to FTDI FT232 have solved the problem.

    I guessed it is a timeout in the PL2303 driver. I open the serial connection once, and keeps it open forever.

    To test, I tried changing my code to open the connection before scan and close the connection again afterwards. This did not change anything, except my program survives unplugging and replugging the USB.