I was having problems syncing my PDA with Fedora Core 3 and was able to quickly find a page with helpful information on the subject. However, the instructions there didn’t completely work with my Handspring Treo. I tried to post my resolution on that page but it seems to be bugged, so I’ll post it here for crawlers to grab.
I noticed that my Handspring Treo was not working with this configuration, and later figured out it was due to no “product” file existing for it! I was able to find a line that related to the device that worked, though:
# udevinfo -a -p `udevinfo -q path -n /dev/ttyUSB0`
udevinfo starts with the device the node belongs to and then walks up the
device chain, to print for every device found, all possibly useful attributes
in the udev key format.
Only attributes within one device section may be used together in one rule,
to match the device for which the node will be created.
looking at class device '/sys/class/tty/ttyUSB0':
SYSFS{dev}="188:0"
follow the class device's "device"
looking at the device chain at '/sys/devices/pci0000:00/0000:00:02.0/usb1/1-2/1-2.2/1-2.2:1.0/ttyUSB0':
BUS="usb-serial"
ID="ttyUSB0"
SYSFS{detach_state}="0"
looking at the device chain at '/sys/devices/pci0000:00/0000:00:02.0/usb1/1-2/1-2.2/1-2.2:1.0':
BUS="usb"
ID="1-2.2:1.0"
SYSFS{bAlternateSetting}=" 0"
SYSFS{bInterfaceClass}="ff"
SYSFS{bInterfaceNumber}="00"
SYSFS{bInterfaceProtocol}="00"
SYSFS{bInterfaceSubClass}="00"
SYSFS{bNumEndpoints}="04"
SYSFS{detach_state}="0"
SYSFS{iInterface}="00"
looking at the device chain at '/sys/devices/pci0000:00/0000:00:02.0/usb1/1-2/1-2.2':
BUS="usb"
ID="1-2.2"
SYSFS{bConfigurationValue}="1"
SYSFS{bDeviceClass}="00"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bMaxPower}=" 2mA"
SYSFS{bNumConfigurations}="1"
SYSFS{bNumInterfaces}=" 1"
SYSFS{bcdDevice}="0100"
SYSFS{bmAttributes}="a0"
SYSFS{detach_state}="0"
SYSFS{devnum}="14"
SYSFS{idProduct}="0200"
SYSFS{idVendor}="082d"
SYSFS{maxchild}="0"
SYSFS{speed}="12"
SYSFS{version}=" 1.00"
looking at the device chain at '/sys/devices/pci0000:00/0000:00:02.0/usb1/1-2':
BUS="usb"
ID="1-2"
SYSFS{bConfigurationValue}="1"
SYSFS{bDeviceClass}="09"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bMaxPower}="100mA"
SYSFS{bNumConfigurations}="1"
SYSFS{bNumInterfaces}=" 1"
SYSFS{bcdDevice}="0110"
SYSFS{bmAttributes}="e0"
SYSFS{detach_state}="0"
SYSFS{devnum}="3"
SYSFS{idProduct}="1446"
SYSFS{idVendor}="0451"
SYSFS{maxchild}="4"
SYSFS{speed}="12"
SYSFS{version}=" 1.10"
looking at the device chain at '/sys/devices/pci0000:00/0000:00:02.0/usb1':
BUS="usb"
ID="usb1"
SYSFS{bConfigurationValue}="1"
SYSFS{bDeviceClass}="09"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bMaxPower}=" 0mA"
SYSFS{bNumConfigurations}="1"
SYSFS{bNumInterfaces}=" 1"
SYSFS{bcdDevice}="0206"
SYSFS{bmAttributes}="e0"
SYSFS{detach_state}="0"
SYSFS{devnum}="1"
SYSFS{idProduct}="0000"
SYSFS{idVendor}="0000"
SYSFS{manufacturer}="Linux 2.6.9-1.724_FC3 ohci_hcd"
SYSFS{maxchild}="3"
SYSFS{product}="OHCI Host Controller"
SYSFS{serial}="0000:00:02.0"
SYSFS{speed}="12"
SYSFS{version}=" 1.10"
looking at the device chain at '/sys/devices/pci0000:00/0000:00:02.0':
BUS="pci"
ID="0000:00:02.0"
SYSFS{class}="0x0c0310"
SYSFS{detach_state}="0"
SYSFS{device}="0x01c2"
SYSFS{irq}="10"
SYSFS{subsystem_device}="0x0c11"
SYSFS{subsystem_vendor}="0x10de"
SYSFS{vendor}="0x10de"
looking at the device chain at '/sys/devices/pci0000:00':
BUS=""
ID="pci0000:00"
SYSFS{detach_state}="0"
You can see above there’s a field for “idVendor” of “0451″. So I just used that instead of “product”:
BUS="usb", SYSFS{idVendor}="082d", KERNEL="ttyUSB*", SYMLINK="pilot"


