FS#19659 - [hal] USB to serial adapter changes name in /dev after suspend & resume

Attached to Project: Arch Linux
Opened by Max Pray (synthead) - Monday, 31 May 2010, 06:13 GMT
Last edited by Jan de Groot (JGC) - Thursday, 21 October 2010, 21:01 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No



I have a USB to serial adapter using the kernel module pl2303, and lsusb reports it as:
Bus 007 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

When hotplugged, hal assigns it to /dev/ttyUSB0. When the system is suspended and resumed, the device is renamed as /dev/ttyUSB1. I have inputattach running to interface a serial trackball, so in my circumstance, my mouse stops working after the resume.

This occurs with hal 0.5.14-2. My system was updated to this version on 5/31/10.

Steps to reproduce:
1. Power on machine with USB to serial adapter
2. Verify that the mouse functions properly
3. Suspend the machine
4. Resume the machine
(5). At this point, the mouse will not function as /dev/ttyUSB0 disappeared; the USB to serial adapter now lives at /dev/ttyUSB1
This task depends upon

Closed by  Jan de Groot (JGC)
Thursday, 21 October 2010, 21:01 GMT
Reason for closing:  Won't fix
Additional comments about closing:  This is fixable by configuration.
Comment by Jan de Groot (JGC) - Monday, 04 October 2010, 12:12 GMT
This is not related to hal at all, hal does not assign device nodes, udev does. What happens here is that your device is re-initialized before the system knows it is gone. You could try to unload the module before suspending. Assuming you use pm-utils to suspend (KDE and GNOME do), you can place a file in /etc/pm/config.d with contents "SUSPEND_MODULES=pl2303". The file can be named anything, so just name it suspend_modules for example. pm-suspend will unload and reload the pl2303 driver on suspend and resume with that.