Re: Issues with Fedora
From: Mike Janssen (mjanssenNOSPAM_at_PLEASEusd.edu)
Date: Tue, 25 May 2004 18:51:33 -0500
As far as the Palm is concerned, I found the following tutorial to work:
Since the release of version 0.10.99 of pilot-link, USB-based Palm handheld
devices are fully supported by the suite. To get this working will require a
few things to be configured on your desktop or server machine first, and a
few steps to verify that it is working properly.
Currently (as of 1/1/2004), the USB code has only been engineered to work
with Linux and BSD-based operating systems on several architectures. Porting
it to work with OSX, Win32, and any other POSIX-compliant environment should
not be much harder. Please see README.porting in the pilot-link docs
subdirectory for more details on how to help.
Linux USB Configuration
First, in order to get USB working with your Palm device, your
desktop machine must support the USB subsystem. Depending on your
machine configuration, this may require enabling USB in the
machine's BIOS, or a kernel recompile, or the insertion of the
required modules for your USB subsystem. Many of these are supported
by current Linux kernels.
If you should find that your kernel is older than 2.4.21 (as of the
time of this README), you will need to do a kernel upgrade. Using
kernels older than 2.4.21 are not recommended and may not work for
newer Palm devices, as the kernel-level visor.o module that is
required may not have support for your newer Palm device. More on
First, verify that you have USB working on your system. If you're
using a USB-based keyboard or mouse and it works properly, you
already have functioning USB support in your linux kernel, which was
probably provided by your Linux distribution by default.
If you are not using a USB device already, you can try to probe for
the USB host controller that your system supports (you do have a
system with USB ports on it, right?) with the following syntax, as
the 'root' user (only root can load and unload kernel modules):
# /sbin/modprobe usb-ohci
# /sbin/modprobe usb-uhci
# /sbin/modprobe usb
Each motherboard will have a specific chipset that one of these
drivers should support. You will only need one, so please don't be
alarmed if you try to modprobe one of the above, and receive errors.
If you do, it simply means that the host controller isn't what the
driver expects. Try the others.
Once you have that working, verified to be loaded with 'lsmod', you
can then try loading the USB serial support layer, using:
# /sbin/modprobe usbserial
If this is successful, you should see the following in the system
logs (/var/log/messages, generally):
kernel: usb.c: registered new driver serial
kernel: usbserial.c: USB Serial support registered for Generic
kernel: usbserial.c: USB Serial Driver core v1.4
Then on top of that, add the Visor driver. The name of the driver is
called 'visor' for historical reasons, when the only USB-based Palm
handheld device was the Handspring Visor handheld. Many vendors such
as Sony, Palm, and others provide Palm handhelds with USB support,
and this 'visor' module should contain the proper code to sync and
communicate with them; the code still is inside the driver but it
retains its legacy name.
# /sbin/modprobe visor
If successful, you should see the following entries in the logs:
kernel: usbserial.c: USB Serial support registered for Handspring Visor / Treo / Palm 4.0 / Clié 4.x
kernel: usbserial.c: USB Serial support registered for Sony Clié 3.5
kernel: visor.c: USB HandSpring Visor, Palm m50x, Treo, Sony Clié driver v1.7
Don't be alarmed if your version does not show these exact strings.
As long as you see the usbserial and visor driver load successfully,
without reporting any errors or unresolved symbols, the system is
ready for the next step.
Now if you do an '/sbin/lsmod' you should see something similar to this:
Module Size Used by Tainted: PF
visor 9036 0 (unused)
usbserial 19904 0 [visor]
usb-ohci 18080 0 (unused)
usb-uhci 23012 0 (unused)
Next we must verify that the actual USB devices are created and
registered in /dev for you.
In your kernel source directory, under the kernel source directory
Documentation/usb/usb-serial.txt, is an overview of how to create
the proper USB devices on your system.
For Palm devices, you will need no more than two of these devices,
/dev/ttyUSB0 and /dev/ttyUSB1, depending on your Palm device
manufacturer (as of the time of this README, two Sony models use
/dev/ttyUSB0, and the rest of the Sony and Palm models seem to be
# /bin/mknod /dev/ttyUSB0 c 188 0
# /bin/mknod /dev/ttyUSB1 c 188 1
If you are using devfs (currently not recommended for security
reasons), the devices supported will show up as /dev/usb/tts/0 and
/dev/usb/tts/1 respectively. More on devfs issues will be covered
later in this document.
Also, make sure your user has read and write permissions to those
# the '?' used below is a wildcard and will chmod all
# ttyUSB* devices with a single digit (USB1, USB2, USB3,
# and so on).
# /bin/chmod 0666 /dev/ttyUSB?
# /bin/chmod a+rw /dev/ttyUSB?
Linux Kernel Condfiguration
If your distrubution-supplied Linux kernel does not have native USB
support, you will have to build it into your kernel first. Building
a Linux kernel is not as hard or as daunting as it seems, and is in
fact, quite rewarding. Not only do custom kernels perform better,
but they tend to be faster, because they only include support for
hardware _on_ your system, and not hardware you don't. You wouldn't
build a kernel for SCSI support, if you didn't have SCSI drives in
your system, would you?
There is a very comprehensive and concise kernel-building-HOWTO
which will walk you through the entire process, in non-confusing
language, found here:
Once you have built a kernel, and tested it, you can easily add the
necessary support for USB devices and USB host controller support
into it afterwards.
After configuring your Linux kernel, you will find in your kernel
source directory, is a file called .config ("dot config"). In this
file, are several parameters you will need to add/change to enable
proper USB support.
If you would like to support for other USB devices (such as a
USB-based digital camera, or scanner) you can add it here as well.
Rebuild your kernel as specified in your favorite kernel HOWTO, and
then proceed to the previous section to verify that all required USB
bits are functioning.
Talking to your Palm over USB
To now "speak" to these devices you've created, using the drivers
you loaded, you must hit the HotSync button on your cradle first,
before launching any of pilot-link's various utilities, if your
version of pilot-link is earlier than 0.11.8. If your pilot-link
version is 0.11.8 or later, you don't need to hit HotSync first.
When you hit the HotSync button on the cradle or by tapping on your
HotSync icon on the Palm itself, you should see something similar to
the following in the system logs (/var/log):
kernel: Manufacturer: Palm, Inc.
kernel: Product: Palm Handheld
kernel: SerialNumber: L0JH14R12345
kernel: usbserial.c: Handspring Visor / Palm 4.0 / Clié 4.x converter detected
kernel: visor.c: Handspring Visor / Palm 4.0 / Clié 4.x: Number of ports: 2
kernel: visor.c: Handspring Visor / Palm 4.0 / Clié 4.x: port 1, is for Generic use and is bound to ttyUSB0
kernel: visor.c: Handspring Visor / Palm 4.0 / Clié 4.x: port 2, is for HotSync use and is bound to ttyUSB1
kernel: usbserial.c: Handspring Visor / Palm 4.0 / Clié 4.x converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
kernel: usbserial.c: Handspring Visor / Palm 4.0 / Clié 4.x converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
kernel: usb.c: serial driver claimed interface c76aa160
If you received errors or see a message similar to the following:
kernel: usb.c: USB device 28 (vend/prod 0x54c/0x95) is not claimed by any active driver
In this case, you will need to upgrade your 'visor' driver to a more
current version. You can do this with a kernel upgrade, or by simply
replacing the visor.c and visor.h files with more recent versions.
You can also add the proper values for your device to the visor.h
file manually, and rebuilding just the module itself, without a
kernel upgrade, using the following process:
1.) Edit the drivers/usb/serial/visor.h file and add the proper
vendor and product values for your device. You can find out what
these might be by looking at the log error message as described
above, or look at the pilot-link wiki for your device model at
the following URL:
2.) Make sure your kernel's .config is current for the target
hardware you plan on running, and execute the following:
# make dep
# make modules SUBDIRS=drivers/usb/serial # no leading slash
# make modules_install SUBDIRS=drivers/usb/serial # ditto to above
# /sbin/depmod -ae
3.) With this module installed, you can now 'modprobe' the module to
NOTE: With kernels later than 2.4.21, you can insert this module
with some parameters for your vendor and product id, without
recompiling it, using the following syntax:
# /sbin/insmod visor vendor=0x54c product=0x144
You can also put these in your /etc/modules.conf file as well, using
a similar syntax as follows:
options visor vendor=0x54c product=0x144
Once your module is loaded, and you see the successful message when
you hit HotSync, you can now launch any of pilot-link's various
conduits such as:
$ dlpsh -p /dev/ttyUSB1
$ pilot-xfer -l
It should connect and allow you to talk to your Palm device. The
$PILOTPORT environment variable will be read if the '-p' option is
not specified. If you do not specify either, /dev/pilot will be used
if it exists. Substitute ttyUSB1 for your port, based on the
USB Palm Handheld Device Kernel Matrix
Many thanks go to Greg Kroah for his tireless work supporting these
new devices as they come out. The matrix of which kernels support
which Palm handheld device can be found at the pilot-link wiki, at the following URL:
If you see your Palm in this list, you must be running the
corresponding kernel version to be able to use it with pilot-link or
ColdSync using the USB interface.
If you don't see your Palm device there, feel free to add your entry
so others can benefit from the vendor and product information you've
On Sun, 16 May 2004 19:11:52 +0000, Terry A. Haimann wrote:
> I have recently installed Redhat Fedora and have several current
> 1.I would like to connect to a RH 8.0 box, so as to have access to
> my samba directories there. It looks like I am supposed to use
> smbmount command, but I am unsure of the semantics.
> 2.Evoloution has a Palm tool, but I haven't been able to get it to
> work. It seems to be looking for a /dev/pilot device and can't
> locate it.
> 3.The sound card is tested and is working, but when I go to play a
> cd no music is played. But the cd player acts like everything is
> Thx, Terry