pyserial vs. Linux power save hibernate/resume - program hangs

Ned Deily nad at acm.org
Sun Nov 8 15:21:13 EST 2009


In article <4af71b7e$0$1645$742ec2ed at news.sonic.net>,
 John Nagle <nagle at animats.com> wrote:
>     I have an application running with pyserial talking to a USB to serial
> converter on a Linux EeePC 2G Surf.  This works.  Until the lid on the PC is
> closed and the device suspends.
> 
>     The application has /dev/ttyUSB0 open, and has a read pending
> with a 1 second timeout.   When the device comes out of suspend,
> the USB devices are enumerated again.  The serial device moves
> to /dev/ttyUSB1, and the application continues to poll /dev/ttyUSB0.
> No error results from polling the removed device.  So the
> application is stuck and doesn't know it.
> 
>     An attempt to write to the disconnected serial port produces
> an IOError exception, but the read side doesn't seem to notice.

If your Linux is new enough, you should be able to create a permanent 
device name for the serial converter using a udev rule.   Then your code 
won't need to be dependent on the /dev/ttyUSBx device name.

-- 
 Ned Deily,
 nad at acm.org




More information about the Python-list mailing list