Click to See Complete Forum and Search --> : Udev and hotsyncing a palm device.


Gogeta_44
10-12-2004, 06:52 PM
I'm trying desperately to get hotsyncing to work with udev in my linux system with gnome-pilot. I already made a PAM config with gnome-pilot so it has access to all devices and I don't have to worry about that. The problem is the pilot device. It's not there. Niether is ttyUSB* or anything that could stand for the palm device. I get how hotsync works, and that its only connected when your hotsyncing. Here's lsusb while im hotsyncing:
Bus 005 Device 002: ID 0d7d:0100 Phison Electronics Corp. PS1001/1011/1006/1026 Flash Disk
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 003: ID 07a6:0986 ADMtek, Inc. AN986 Pegasus Ethernet
Bus 004 Device 002: ID 04a9:220e Canon, Inc. CanoScan N1240U/LiDE 30
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 008: ID 12ef:0100 <====PALM DEVICE, (goes away when not hotsyncing)
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 002: ID 045e:0053 Microsoft Corp.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

I found its /sys location when hotsyncing at:
/sys/bus/usb/devices/3-1
which is a symlink to:
/sys/devices/pci0000:00/0000:00:1d.1/usb3/3-1

So far I have this in /etc/udev/rules.d/udev.rules for my palm device:
BUS="usb", SYSFS{serial}="Tapwave0001", NAME="pilot"

note that i'v tryed using a million different versions of this (with the KERNEL, SYMLINK and other keywords, and found that this without SYSFS{serial}="Tapwave0001" actually makes the node, but it's blank cause it doesn't refer to anything. I did keep my palm hotsyncing while looking for the device, so hotplug should tell udev, which should find the /sys key (file serial in /sys/devices/pci0000:00/0000:00:1d.1/usb3/3-1 with the line Tapwave0001 in it) and create the node. But the thing is, IT DOESN'T and thats where i'm stuck :( .
Thanks

JamminJoeyB
08-08-2005, 02:40 PM
OK I just spotted this thread as I am doing some testing on my system with a 2.6.10 kernel from the slackware cd. I was trying to get my pilot to sync also and needed to figure it out. and found some interesting info on the Arch Linux forums. http://bbs.archlinux.org/viewtopic.php?t=9735&highlight=&sid=11995b4ad33f9033a991920c29f09481

Since I am at work I cant check most of the info in this thread. Any one else here use a palm pilot with thier 2.6 system that provide more insight?

cybertron
08-08-2005, 05:26 PM
Hmm, I've always had the best luck using the /dev path to the USB device (/dev/tts/USB1 for me at the moment, though it used to be /dev/ttyUSB1 or something like that). I guess I always thought that sysfs was taking some entries from /proc rather than /dev, but I could be wrong.:)

Anyway, the only change I had to make to get things working was to change the line in my /etc/udev/rules.d/50-udev.rules that refers to palm pilots and add a MODE="0666" to the end of it so the permissions would allow a normal user to sync. Then IIRC I just looked in dmesg after trying to sync to see where it was actually putting the device (the /dev/tts/USB1 I mentioned above) and then point the sync program to that location. Obviously you have to hit sync on the palm before the computer so the device exists, but otherwise it's worked pretty smoothly for me.

One note: I used to make /dev/pilot a symlink to /dev/tts/USB1 or whatever since /dev/pilot seems to be where most programs look by default for the device. For some reason this quit working for me the last time I re-installed, so now I point directly to the device. I'm sure there's a way to make it work, but I've never been anywhere near motivated enough to figure it out since it works as-is. :cool:

Edit: Ah, but maybe nothing I said above is actually related to the problem. After re-reading the posts, the problem is that the /dev file isn't getting created at all, perhaps? In that case I'd be much more interested in the dmesg output for figuring out what's going on, particularly that related to the palm device.

JamminJoeyB
08-08-2005, 11:17 PM
Good info cybertron,

I'll have to boot into my testing partician and check out your advice. From my understanding of other things I have read on the web is that it should be creating the /dev/pilot automatically, but it's not. I did the same as you, locating where USB1 was but still wasn't able to sync after pointing directly to it. So I thought it might be a problem with the visor module ( which is loaded)

I'll also need to check the pilot-link site and see if they have any updated infor on udev.

MMYoung
08-09-2005, 08:42 AM
I found its /sys location when hotsyncing at:
/sys/bus/usb/devices/3-1
What was the output of:

udevinfo -a -p /sys/bus/usb/devices/3-1

Just wondering,
MMYoung

cybertron
08-09-2005, 11:18 PM
Well, I have to admit I know nothing at all about udev other than what's in my previous post, which I got from the Gentoo wiki. One comment I'd make is that my Palm shows up as two different devices: USB0 and USB1. It was just trial-and-error that I figured out mine needed to be USB1, and neither worked until I added the MODE part to my udev config. Anyway, good luck with this.

je_fro
08-10-2005, 02:44 AM
did you try adding SYMLINK='pilot' to your udev rule?

BUS="usb", SYSFS{manufacturer}="Handspring Inc", NAME="tts/USB1" SYMLINK="pilot"

Mine works fine...it's a handspring that uses:

USB Serial Converter support --->
<M> USB Handspring Visor / Palm m50x / Sony Clie Driver

Gogeta_44
08-12-2005, 05:30 AM
Wow, I posted this thread 8 months ago.
I figured this out a while ago, I just rigged the sony visor kernel module to except my zodiac device:
modprobe visor vendor=0x12ef product=0x0100

and it appeared as /dev/tts/USB0. Unfortunantly pilot-link doesnt seem to like the zodiac (gives some error about canaveral-data).

EDIT:
http://www.emuboards.com/invision/lofiversion/index.php/t21220.html
for more info.