Re: Issues with Fedora

From: Mike Janssen (mjanssenNOSPAM_at_PLEASEusd.edu)
Date: 05/26/04


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
        this later.

        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

        ..or

                # /sbin/modprobe usb-uhci

        ..or

                # /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
        using /dev/ttyUSB1)

                # /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
        device nodes:

                # 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?
        ..or

                # /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:

                http://howto.gnu-designs.com/kernel-HOWTO

        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.

                CONFIG_USB=y
                CONFIG_USB_DEBUG=y
                CONFIG_USB_DEVICEFS=y
                CONFIG_USB_UHCI=m
                CONFIG_USB_UHCI_ALT=m
                CONFIG_USB_OHCI=m

                CONFIG_USB_SERIAL=m
                CONFIG_USB_SERIAL_GENERIC=y
                CONFIG_USB_SERIAL_VISOR=m

        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:

                http://wiki.pilot-link.org/index.php/DeviceMatrix

        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
            install it.

        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

        ..or

                export PILOTPORT=/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
        DeviceMatrix above.

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:

                http://wiki.pilot-link.org/index.php/DeviceMatrix

        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
        added.

======================

On Sun, 16 May 2004 19:11:52 +0000, Terry A. Haimann wrote:

> I have recently installed Redhat Fedora and have several current
> issues.
>
> 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
> normal.
>
> Thx, Terry



Relevant Pages

  • Re: m130 Palm Pilot and Windows XP
    ... > I've been trying to get a new Palm Pilot m130 with USB cradle to Hotsync ... > and let Windows XP reinstall them on the next boot, and try again, the USB ... OK, so I uninstall the Palm Desktop software, and remove any keys ...
    (microsoft.public.windowsxp.general)
  • Palm Zire 72 and FC2 USB connection
    ... I'm just wondering if anyone else here uses a Palm Zire 72 on FC2? ... USB Serial support registered for Generic ... converter now attached to ttyUSB0 ... Palm OS converter now disconnected from ttyUSB0 ...
    (Fedora)
  • USB / Gnome 2.2 / Tungsten T2
    ... There's piles of traffic concerning USB palms out there. ... kernel: usb.c: registered new driver usbdevfs ... kernel: SerialNumber: ef80 ... When I press the hotsync button on the cradle, usbview shows the palm ...
    (Debian-User)
  • Re: Using USB and Visor module
    ... > I am a bit stuck with connecting the Palm TX via the ... > USB to my Debian system. ... the default use of pilot-xfer for me doesn't work. ... plug in the Palm and let it settle for a second or two ...
    (Debian-User)
  • Re: Please explain how hotplug works in lay terms.
    ... No matter which USB port I plug it into it works. ... > that no matter what USB slot I plug in my Palm, ... A camera might, since it'd probably be accessed by the USB mass storage ...
    (comp.os.linux.misc)