can't establish connection between Palm PDA and Ubuntu 6.06 over USB

Asked by George Fragos

Can't establish a connection between a Palm Zire 71 or Tungsten E2 and Linux over a USB connection to Ubuntu 6.06. I purchased the E2 when I couldn't get the Zire to work as it had for a number of year with Linux and Jpilot. This has been a tuchy point with Linux for years and I've always managed to find a series of steps to consistently connect. First I tried gnome-pilot without success so I went back to my old understood standbys Jpilot and Pilot-Link. I have succeed to connect once out of the last 50 attempts which shows that it can work. When pressing the cradle hotsync button, Ubuntu creates /dev/ttyUSB0 and 1 as seen with ls -l /dev/ttyUSB*. Linux is unable to establish and just hangs. This is a different result than that obtained with an invalid mount point. While the Palm is trying to connect, lsusb shows that it's recognized. There's a lot of chatter on this problem which indicates this isn't just me. I would be glad to assist in researching this problem and providing QA on the solution. -- George <email address hidden>

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
Robert W. Brewer
Solved:
Last query:
Last reply:
Revision history for this message
Robert W. Brewer (rwb123) said :
#1

I'm having similar issues with my Handspring Visor Deluxe which also uses USB. I had this working fine with the same hardware when my laptop was running Debian unstable. Now that I've switched to Ubuntu 6.06 it hangs. However, like the original submitter, I did have 1 or 2 times out of about 20 tries when it worked. These were not reproducible. The hangs occur with pilot-link directly and with the gnome pda applet.

Revision history for this message
William Haynes (william-haynes) said :
#2

having same issue with Sony Clie on Ubuntu 7.04.
Trying to use gnome-pilot to sync and selecting USB. Palm pilot times out waiting for USB to connect.

Revision history for this message
Best Robert W. Brewer (rwb123) said :
#3

My Visor worked fine with Ubuntu 6.06. When I upgraded to 7.04 it stopped working again. The fix was to ensure that the visor module was loaded. I did that by adding a line "visor" into /etc/modules so it is always loaded at boot.

Revision history for this message
George Fragos (fragos) said :
#4

Thanks Robert W. Brewer, that solved my question.

Revision history for this message
William Haynes (william-haynes) said :
#5

II understand what Robert is recommending, but I don't see a module called "visor" in the list of installable software.
How is it that putting the name of your PDA in the /etc/modules file makes this work?
i.e., if I were to put clie in the /etc/modues file would the USB suddenly start connecting?
know this sound cynical, not meant to be; just don't understand what needs to go into /etc/modules
thanks

Revision history for this message
George Fragos (fragos) said :
#6

In a terminal window do "lsmod |grep visor" and it will show up as loaded.
My driver is at:

/lib/modules/2.6.20-16-generic/kernel/drivers/usb/serial/visor.ko

Drivers are loaded with the modprobe as in "modprobe visor"

On 6/29/07, William Haynes <email address hidden> wrote:
>
> Your question #1120 on Ubuntu changed:
> https://answers.launchpad.net/ubuntu/+question/1120
>
> William Haynes posted a new comment:
> II understand what Robert is recommending, but I don't see a module called
> "visor" in the list of installable software.
> How is it that putting the name of your PDA in the /etc/modules file makes
> this work?
> i.e., if I were to put clie in the /etc/modues file would the USB suddenly
> start connecting?
> know this sound cynical, not meant to be; just don't understand what needs
> to go into /etc/modules
> thanks
>
> --
> You received this question notification because you are a direct
> subscriber of the question.
>

--
Have a nice day -- George
____________
George Fragos
<email address hidden>
73 East Swift Ave.
Fresno CA 93704

Revision history for this message
William Haynes (william-haynes) said :
#7

thanks George
this helps
still not there, don see a usb/serial driver installed
looked in /etc/modprobe.d/aliases and found #alias char-major-240-* usb-serial
so the usb-serial is commented out
wondering now if I've missed a step in the setup, but I have other USB devices, mouse, keyboard, disk drive
working just fine
...bill

Revision history for this message
Robert W. Brewer (rwb123) said :
#8

@William:
I think the visor module (which I think supports all the USB PalmOS PDAs)
depends on the usb-serial module. So by loading the visor module at boot time,
it should load usb-serial as well. You can see this dependency by doing the following:
  sudo modprobe visor
  lsmod |grep visor
On my 7.04 system, that line in /etc/modprobe.d/aliases
is also commented out.

Next I would try to verify that the kernel is seeing your device.
Try this:
  tail -f /var/log/kern.log
Then press the hotsync button for your pda. You should see some messages indicating
that it connected via USB. Also try this:
  lsusb
and you should see your PDA listed.
If not, then you have a problem at the USB hardware/driver
layer to work out.

While it is connected, verify that /dev/ttyUSB0 and /dev/ttyUSB1 exist:
  ls -l /dev/ttyUSB*
Might also be worthwhile to see if /dev/pilot is created:
  ls -l /dev/pilot

If any of these /dev files are not there, then your udev configuration may not be right.
I don't know as much about that, but /etc/udev/rules.d/60-symlinks.rules has a line
for creating /dev/pilot based on a name string that is shown in the lsusb output. You
may need to change that for a different model PDA.

Revision history for this message
Robert W. Brewer (rwb123) said :
#9

I think I got my Ubuntu versions confused in my earlier answer to the question.
I was having trouble syncing my PDA with Ubuntu 6.06 (Dapper Drake).
I believe that was a kernel/driver bug in Dapper.
When I upgraded to 6.10 (Edgy Eft), things worked fine "out of the box".
Then when I upgraded to 7.04 (Feisty Fawn), it didn't work again. This time
I tracked it down to the visor module not getting loaded.

Revision history for this message
William Haynes (william-haynes) said :
#10

Robert
we're getting closer
apparently there is a new module that replaces visor
got this Warning (gnome-pilot) ...(1st time I've gotten this)
Failed to connect using device 'Cradle', on port usb:. Check your configuration, as you requested new-style libsub 'usb:' syncing, but have the old-style 'visor' kernel module loaded. You may need to select a 'ttyUSB...' device.

I know we can create the ttyUSB devices, but I'd like to know what we could do to use the newer kernel module and what it may be called.

any ideas here.
btw, I REALLY appreciate the way you have responded to me.
Bill

Revision history for this message
William Haynes (william-haynes) said :
#11

Robert
more clues
in /etc/udev/rules.d/60-symlinks.rules there is a rule to create a symlink to pilot but this is not happening
when I look in /dev and search for a device named pilot, it is not there
...bill

Revision history for this message
Robert W. Brewer (rwb123) said :
#12

I changed my gnome-pilot configuration to use usb:. Syncing worked for me
with that config also. Based on the message you posted, I first unloaded the visor module:
  modprobe -r visor
That seemed to unload usbserial also. My guess is that the visor module may be grabbing
the device and then libusb can't work with it or something.

Since it sounds like the libusb method is a newer way to do it and it could have worked
"out of the box" on Feisty for me, I'm going to make using usb: my permanent configuration.
I commented out the visor module in my /etc/modules.

Revision history for this message
William Haynes (william-haynes) said :
#13

Robert
this is like discovering where the "magic" is hidden
followed your steps and still have my PDA still timing out trying to connect.
is there something that goes into /etc/modules besides lp?
that is the only thing in there right now
...bill

Revision history for this message
William Haynes (william-haynes) said :
#14

Robert
is alias char-major-240-* usb-serial
commented out in your /etc/modporb.d/aliases file?
it is in my system
wonder what this means

just had a thought
the 7.04 I'm running came pre-installed from Dell
wondering if this has anything to do with why your PDA connects and mine does not?
...bill

Revision history for this message
Robert W. Brewer (rwb123) said :
#15

Here is my current /etc/modules. I doubt any of these affect syncing:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp
rtc
sbp2
# webcam - would be nice to put this in /etc/udev somehow
uvcvideo
fuse
#visor

Also, char-major-240-* usb-serial is commented out in my /etc/modprobe.d/aliases.

One other thing I may have changed a long time ago in my gnome-pilot config is the timeout
setting on the same Devices screen where you choose usb:. I have mine set to 4 seconds.

Have you been able to make it work with the visor module loaded? You can try both /dev/ttyUSB0 and
/dev/ttyUSB1 instead of /dev/pilot if that udev symlink thing is not working.

Revision history for this message
William Haynes (william-haynes) said :
#16

Robert
not familiar with the modules rtc, sbp2 or fuse. uvcvideo sound like a video card interface.

tried changing timeout to 4 seconds. Palm still times out.
did not try setting up /dev/ttyUSB0 or /dev/ttyUSB1, didn't want to create something I have to "remember" to do later if I have to rebuild the system. what are the major/minor #s on these devices? can certainly try and see if that will work.

do you know what the module is that uses the usb: ?
...bill

Revision history for this message
Robert W. Brewer (rwb123) said :
#17

Bill,

I think the only change needed for /dev/ttyUSB* to be used is to add visor into /etc/modules.
These devices are supposed to be created on the fly by the udev subsystem.

Based on the error message you showed, usb: has to do with libusb, which is a user-space
library. My guess is that it ultimately depends on the usbcore module.

I would give the /etc/modules a try and see if it works, and then try to get the libusb solution
working.

-Rob

Revision history for this message
William Haynes (william-haynes) said :
#18

Rob
did as you suggested
looks like /dev/ttyUSB* are created when visor is in /etc/modules

when to hotsync and get Fatal Alert window ...Fatal Exception...Reset
repeated hotsync attempt several times, same results
going to boot and try again
...bill

Revision history for this message
John Wilson (jwilsondmartin) said :
#19

My PDA has not hotsynced since I had to do a system restore.
I was hotsyncing to usb:
Somewhere along the way I installed the kernal module and also the visor module
Here is the output when I run: gksudo gedit /etc/udev/rules.d/10-custom.rules
BUS="usb", SYSFS{product}="Palm Handheld*", KERNEL="ttyUSB*", NAME{ignore_remove}="pilot", MODE="666"
When I try and hotsync I get the message that the connection between my device and the desktop could not be established
Any suggestions on how to remove kernal and visor and get back to usb:?
Regards,
John