03-11-2026, 09:44 PM
Rudy,
That behavior is normal on Linux and it’s not your imagination.
The device name change (ttyACM0 vs ttyUSB0) is about which driver binds to the USB-serial chip.
ttyUSBx usually means a USB-to-serial adapter using the usbserial/ftdi/cp210x/ch34x style driver.
ttyACMx usually means a CDC-ACM device (different driver stack).
Both can work fine, but they behave a bit differently with buffering/latency and line settings, so it’s plausible that ttyUSB feels “more stable”.
The A/B swap is also normal.
RS-485 naming is messy in the real world: some vendors label A/B inverted, some use A+/B-, some use D+/D-, and it’s not consistent. The bus doesn’t care about the labels; it only cares that the differential pair polarity matches. So depending on the adapter labeling, you sometimes have to cross A/B and sometimes not. Your observation fits that perfectly.
That behavior is normal on Linux and it’s not your imagination.
The device name change (ttyACM0 vs ttyUSB0) is about which driver binds to the USB-serial chip.
ttyUSBx usually means a USB-to-serial adapter using the usbserial/ftdi/cp210x/ch34x style driver.
ttyACMx usually means a CDC-ACM device (different driver stack).
Both can work fine, but they behave a bit differently with buffering/latency and line settings, so it’s plausible that ttyUSB feels “more stable”.
The A/B swap is also normal.
RS-485 naming is messy in the real world: some vendors label A/B inverted, some use A+/B-, some use D+/D-, and it’s not consistent. The bus doesn’t care about the labels; it only cares that the differential pair polarity matches. So depending on the adapter labeling, you sometimes have to cross A/B and sometimes not. Your observation fits that perfectly.

