Bug 432631

Summary: /dev/ttyUSB* no longer produced by pilot hotsync
Product: [Fedora] Fedora Reporter: williamnorfleet2000
Component: udevAssignee: Harald Hoyer <harald>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 8   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-13 09:57:02 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description williamnorfleet2000 2008-02-13 09:14:05 EST
Description of problem:
Hotplugging and hotsyncing a pilot no longer produces /dev/ttyUSB*

Version-Release number of selected component (if applicable):
udev-118-1.fc8

How reproducible:
Always.

Steps to Reproduce:
1. Hotplug and hotsync a pilot.
2.
3.
  
Actual results:
Hotsync times out.  No /dev/ttyUSB* is created (and, consequently, a custom udev
rule to generate /dev/pilot also is not created).

Expected results:
Hotsync is successful.  /dev/ttyUSB0, /dev/ttyUSB1, and /dev/pilot are created
for the duration of the hotsync operation.

Additional info:
I have been using this udev rule for some months to permit hotsyncing with a
Palm Pilot (Tungsten E):
SUBSYSTEMS=="usb", ATTRS{product}=="Palm Handheld", KERNEL=="ttyUSB*[13579]",
SYMLINK+="pilot"
About ten days ago the rule stopped working.  No hardware changes have been made
recently.  See below for recent software changes.  The presence or absence of
other USB devices makes no difference.
These devices are created during a hotsync attempt (ll -tr /dev):
crw-rw---- 1 root root 251, 15 2008-02-08 16:23 usbdev2.3_ep00
crw-rw---- 1 root root 251, 18 2008-02-08 16:23 usbdev2.3_ep82
crw-rw---- 1 root root 251, 16 2008-02-08 16:23 usbdev2.3_ep81
crw-rw---- 1 root root 251, 19 2008-02-08 16:23 usbdev2.3_ep02
crw-rw---- 1 root root 251, 17 2008-02-08 16:23 usbdev2.3_ep01
crw-rw---- 1 root root 189, 130 2008-02-08 16:23 usbdev2.3
In the past, this list was followed with ttyUSB1, ttyUSB0, and pilot, but no longer.

Using pilot-xfer to try to communicate with any of these devices is unsuccessful.

Running this inquiry on these new devices identifies the presence of the Pilot:
udevinfo -a -p $(udevinfo -q path -n /dev/usbdev2.3_ep01) as an example

Tail of dmesg shows during a hotplug and attempted hotsync only these two new lines:
usb 4-2: new full speed USB device using ohci_hcd and address 2
usb 4-2: configuration #1 chosen from 1 choice

and /var/log/messages shows only these two new lines:
Feb 8 17:40:39 desk kernel: usb 4-2: new full speed USB device using ohci_hcd
and address 2
Feb 8 17:40:39 desk kernel: usb 4-2: configuration #1 chosen from 1 choice

This problem exists in identical form on two machines running
kernel-2.6.23.14-115.fc8 and udev-118-1.fc8. 

My Pilot still works fine with another machine currently running FC6
(kernel-2.6.22.14-72.fc6 udev-095-17.fc6), producing all the normal ttyUSB* and
pilot devices (so the problem is not within my particular Pilot).  dmesg shows
during a hotplug and successful link these new lines:
usb 1-1: new full speed USB device using uhci_hcd and address 2
usb 1-1: configuration #1 chosen from 1 choice
usbcore: registered new interface driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for Handspring
Visor / Palm OS
drivers/usb/serial/usb-serial.c: USB Serial support registered for Sony Clie 3.5
drivers/usb/serial/usb-serial.c: USB Serial support registered for Sony Clie 5.0
visor 1-1:1.0: Handspring Visor / Palm OS converter detected
usb 1-1: Handspring Visor / Palm OS converter now attached to ttyUSB0
usb 1-1: Handspring Visor / Palm OS converter now attached to ttyUSB1
usbcore: registered new interface driver visor
drivers/usb/serial/visor.c: USB HandSpring Visor / Palm OS driver

and /var/log/messages shows these new lines:
Feb 13 08:33:25 dell kernel: usb 1-1: new full speed USB device using uhci_hcd
and address 2
Feb 13 08:33:25 dell kernel: usb 1-1: configuration #1 chosen from 1 choice
Feb 13 08:33:25 dell kernel: usbcore: registered new interface driver usbserial
Feb 13 08:33:25 dell kernel: drivers/usb/serial/usb-serial.c: USB Serial support
registered for generic
Feb 13 08:33:25 dell kernel: usbcore: registered new interface driver
usbserial_generic
Feb 13 08:33:25 dell kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core
Feb 13 08:33:25 dell kernel: drivers/usb/serial/usb-serial.c: USB Serial support
registered for Handspring Visor / Palm OS
Feb 13 08:33:25 dell kernel: drivers/usb/serial/usb-serial.c: USB Serial support
registered for Sony Clie 3.5
Feb 13 08:33:25 dell kernel: drivers/usb/serial/usb-serial.c: USB Serial support
registered for Sony Clie 5.0
Feb 13 08:33:25 dell kernel: visor 1-1:1.0: Handspring Visor / Palm OS converter
detected
Feb 13 08:33:25 dell kernel: usb 1-1: Handspring Visor / Palm OS converter now
attached to ttyUSB0
Feb 13 08:33:25 dell kernel: usb 1-1: Handspring Visor / Palm OS converter now
attached to ttyUSB1
Feb 13 08:33:25 dell kernel: usbcore: registered new interface driver visor
Feb 13 08:33:25 dell kernel: drivers/usb/serial/visor.c: USB HandSpring Visor /
Palm OS driver
Feb 13 08:33:26 dell udevd-event[3152]: udev_node_symlink: symlink(ttyUSB1,
/dev/pilot) failed: File exists


Here's a list of packages installed via yum between the date of the last
successful hotsync and the appearance of the problem (note that udev is NOT in
this list [currently udev-118-1.fc8]):
Feb 07 12:15:47 Updated: BackupPC - 3.1.0-1.fc8.noarch
Feb 07 12:16:07 Updated: readline - 5.2-10.fc8.i386
Feb 07 12:16:14 Updated: pilot-link - 2:0.12.2-17.fc8.i386
Feb 07 12:16:37 Updated: ghostscript - 8.61-6.fc8.i386
Feb 07 12:16:50 Updated: tcl - 1:8.4.17-1.fc8.i386
Feb 07 12:16:51 Updated: file-libs - 4.21-5.fc8.i386
Feb 07 12:16:53 Updated: ilmbase - 1.0.1-1.fc8.i386
Feb 07 12:16:55 Updated: OpenEXR-libs - 1.6.1-3.fc8.i386
Feb 07 12:17:01 Updated: gutenprint - 5.0.2-1.fc8.i386
Feb 07 12:18:38 Updated: foomatic - 3.0.2-53.fc8.i386
Feb 07 12:18:45 Updated: tomcat5-servlet-2.4-api - 5.5.25-3jpp.1.fc8.i386
Feb 07 12:18:52 Updated: tk - 1:8.4.17-2.fc8.i386
Feb 07 12:20:13 Installed: kernel - 2.6.23.14-115.fc8.i686
Feb 07 12:20:14 Updated: libthai - 0.1.9-2.fc8.i386
Feb 07 12:20:16 Updated: tomcat5-jsp-2.0-api - 5.5.25-3jpp.1.fc8.i386
Feb 07 12:20:16 Updated: file - 4.21-5.fc8.i386
Feb 07 12:20:25 Updated: gnupg2 - 2.0.8-2.fc8.i386
Feb 07 12:20:28 Updated: gdb - 6.6-42.fc8.i386
Feb 07 12:20:29 Updated: unzip - 5.52-6.fc8.i386
Feb 07 12:20:31 Updated: vixie-cron - 4:4.2-7.fc8.i386
Feb 07 12:20:32 Updated: notify-python - 0.1.1-2.fc8.i386
Feb 07 12:20:36 Updated: autofs - 1:5.0.2-26.i386
Feb 07 12:20:38 Updated: readline-devel - 5.2-10.fc8.i386
Feb 07 12:20:40 Updated: pilot-link-devel - 2:0.12.2-17.fc8.i386
Feb 07 12:20:51 Updated: gutenprint-foomatic - 5.0.2-1.fc8.i386
Feb 07 12:21:03 Updated: kernel-headers - 2.6.23.14-115.fc8.i386
Feb 07 12:21:04 Updated: kde-settings - 3.5-36.fc8.1.noarch
Feb 07 12:22:53 Installed: kernel-devel - 2.6.23.14-115.fc8.i686
Feb 07 12:22:53 Updated: iwl4965-firmware - 4.44.1.20-1.noarch
Feb 07 12:22:57 Installed: xorg-x11-drv-nvidia-libs - 169.09-3.lvn8.i386
Feb 07 12:23:02 Updated: NetworkManager - 1:0.7.0-0.6.7.svn3235.fc8.i386
Feb 07 12:23:03 Updated: NetworkManager-glib - 1:0.7.0-0.6.7.svn3235.fc8.i386
Feb 07 12:23:04 Updated: kde-settings-kdm - 3.5-36.fc8.1.noarch
Feb 07 12:23:08 Updated: gstreamer-plugins-bad - 0.10.5-14.lvn8.i386
Feb 07 12:23:28 Updated: NetworkManager-gnome - 1:0.7.0-0.6.7.svn3235.fc8.i386
Feb 07 12:23:30 Installed: kdebase-libs - 6:3.5.8-31.fc8.i386
Feb 07 12:25:36 Updated: kdebase - 6:3.5.8-31.fc8.i386
Feb 07 12:25:38 Updated: kmod-nvidia - 169.09-6.lvn8.i686
Feb 07 12:25:42 Updated: xorg-x11-drv-nvidia - 169.09-3.lvn8.i386
Feb 07 12:26:05 Updated: kmod-nvidia-2.6.23.14-107.fc8 - 169.09-5.lvn8.i686
Feb 07 12:26:12 Installed: kmod-nvidia-2.6.23.14-115.fc8 - 169.09-6.lvn8.i686
Feb 07 12:26:14 Updated: kdebase-devel - 6:3.5.8-31.fc8.i386
Feb 07 12:28:33 Erased: kmod-nvidia-2.6.23.9-85.fc8
Feb 08 17:23:08 Updated: xorg-x11-drv-nvidia-libs - 169.09-4.lvn8.i386
Feb 08 17:23:11 Updated: xorg-x11-drv-nvidia - 169.09-4.lvn8.i386

The problem exists with kernel-2.6.23.15-137.fc8, kernel-2.6.23.14-115.fc8,
kernel-2.6.23.14-107.fc8, and even kernel-2.6.23.8-63.fc8.i686.rpm. Rolling back
to udev-116-3.fc8.i386.rpm does not fix the problem (current version is
udev-118-1.fc8.)
Comment 1 Harald Hoyer 2008-02-13 09:21:13 EST
Feb 13 08:33:26 dell udevd-event[3152]: udev_node_symlink: symlink(ttyUSB1,
/dev/pilot) failed: File exists
Comment 2 williamnorfleet2000 2008-02-13 09:41:25 EST
"Fix":  add to /etc/rc.d/rc.local:
modprobe visor
Comment 3 Harald Hoyer 2008-02-13 09:52:33 EST
$ /sbin/modinfo /lib/modules/2.6.23.15-137.fc8/kernel/drivers/usb/serial/visor.ko
...
alias:          usb:v0E67p0002d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0C88p0021d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v4766p0001d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v091Ep0004d*dc*dsc*dp*ic*isc*ip*
...

should be autoloaded by udev, if the vendor/product matches. Maybe changed in
the latest kernel?
Comment 4 Harald Hoyer 2008-02-13 09:55:24 EST
Ah.. no visor is blacklisted and will not be loaded automatically.
See:
https://www.harald-hoyer.de/linux/console_acls_for_palm

which is where we are moving.
KERNEL=="ttyUSB*[13579]" is wrong sometimes anyway. Just use 
$ pilot-xfer -p usb: -l
and don't rely on /dev/pilot
Comment 5 Harald Hoyer 2008-02-13 09:57:02 EST
so, PolicyKit/Hal will set ACLs, which should allow the console user to use the
usb device and "-p usb:" should choose the right usb device.