/dev/ttyUSB0 spontaneously changes to /dev/ttyUSB1
Jonathan Ryshpan
jonrysh at pacbell.net
Tue Jun 5 21:10:23 UTC 2012
This is a problem which is being kicked around on another mailing list,
devoted to the wview weather server, without very good results, so I
have taken the liberty of putting it to a wider audience:
I have a system with a device (a Davis VantagePro2 weather console)
attached to a USB port. When the system starts, the device is visible
as /dev/ttyUSB0. A wview server attaches to /dev/ttyUSB0 and runs fine
till suddenly the device disappears from /dev/ttyUSB0 and appears
as /dev/ttyUSB1, at which time the server fails.
I suspect (though without much evidence) that the reason for the device
moving around is that there is a brief interruption of service from the
device, so that it appears to the computer that a *new* device has
appeared, which it has to find a device name for before it had deleted
the old name of the device.
I have tried the obvious, to open what ought to be the permanent
location of the device, namely:
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
But the software stops working when the change takes place, evidently
because
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
is a dynamically updated symbolic link to /dev/ttyUSB0 or /dev/ttyUSB1,
as the case may be. The server can only be made to work again by
restarting it.
Does anyone know of a way to keep the USB device open at a known
location, maybe by creating a permanent entry in /dev, and bypassing
udev? Any more theories about what, in general, is happening?
Thanks - jon
More information about the users
mailing list