From owner-freebsd-questions@FreeBSD.ORG Wed Jun 11 22:00:32 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8677937B40F for ; Wed, 11 Jun 2003 22:00:32 -0700 (PDT) Received: from mail.clubplus.net (mail.clubplus.net [216.191.22.200]) by mx1.FreeBSD.org (Postfix) with ESMTP id E053343FF7 for ; Wed, 11 Jun 2003 22:00:25 -0700 (PDT) (envelope-from russbernhardt@sbcglobal.net) Received: from skytrackercanada.com (cust29.209.188.66.dsl.accessv.com [209.188.66.29]) by mail.clubplus.net (8.12.7/8.12.7) with ESMTP id h5C55WpG008554 for ; Thu, 12 Jun 2003 01:05:32 -0400 Received: (from root@localhost) by skytrackercanada.com (8.12.9/8.12.9) id h5C50Nq0021053 for freebsd-questions@freebsd.org; Thu, 12 Jun 2003 01:00:23 -0400 (EDT) (envelope-from russbernhardt@sbcglobal.net) Received: from skytrackercanada.com (localhost [127.0.0.1]) by skytrackercanada.com (8.12.9/8.12.6) with ESMTP id h5C50LRI021023; Thu, 12 Jun 2003 01:00:21 -0400 (EDT) (envelope-from david@skytrackercanada.com) Received: (from david@localhost) by skytrackercanada.com (8.12.9/8.12.9/Submit) id h5C50LuM021022; Thu, 12 Jun 2003 01:00:21 -0400 (EDT) (envelope-from david) Date: Thu, 12 Jun 2003 01:00:21 -0400 From: David Banning To: Russ Bernhardt Message-ID: <20030612050021.GA20791@skytrackercanada.com> References: <3EE7FF75.1040904@sbcglobal.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3EE7FF75.1040904@sbcglobal.net> User-Agent: Mutt/1.4.1i X-scanner: scanned by Inflex 0.1.5c - (http://www.inflex.co.za/) X-RAVMilter-Version: 8.4.2(snapshot 20021217) (mail) cc: freebsd-questions@freebsd.org Subject: Re: Palm USB Cradle Compatability X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jun 2003 05:00:32 -0000 On Wed, Jun 11, 2003 at 09:20:05PM -0700, Russ Bernhardt wrote: > I can't seem to find any recent (anything from 2003) information as to > whether or not the current release of FreeBSD supports Palms on USB > Cradles running Palm OS 4.0+. I have a Tungsten T with Palm OS 5.0 and a > USB cradle and would very much like to merge to BSD, but it's an > important aspect as I need a method of backing up my palm short of > buying a serial connector. > > I have no idea as to where to start with what software. Any tips would > greatly be appreciated! I have been trying to sync my palm over USB for some time now. It doesn't look good. Both coldsync and pilot-link acknowledge there are FreeBSD-USB-Palm combination problems. The only thing I've seen that looks promising is a ppp solution which follows. My ucom port errs as soon as I push my sony clie button so I can't even try the ppp option. I have been monitoring the coldsync and pilot-link lists, and checking FreeBSD's list occasionally. If you find anything out that is helpful please let me know. Here is the ppp solution posted to both the coldsync and pilot-link lists; Date: Wed, 26 Feb 2003 13:02:52 -0500 (EST) From: "David A. Desrosiers" Subject: FreeBSD/USB PPP solution (need testers) To: pilot-link General List , ColdSync Hackers -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 For those wishing to sync their USB Palm devices under BSD, I think we have a tempoarary workaround that will satisfy your needs for now.. After a great deal of testing, I believe we've worked out a solution that will enable users to sync their Palm USB handheld devices with FreeBSD using pilot-link until the pilot-link team and the BSD team figure out what exactly the issue is that causes this process to fail "natively". Feel free to email me back privately if you have anything you'd wish to add or comment on that may not be useful on the lists. This may also work for ColdSync users who wish to use the same sort of process. I'm not familiar with the innards of how ColdSync handles the equivalent of pi-csd for network connections, so I hope someone can fill me in on that and get back to me with some details. At this point, we need some testers to verify that this works. So far we've tested it on both OHCI and UHCI platforms (Intel/Via and SiS chipsets on both desktop and laptop machines) with systems using ugen, ucom, and a combination of both of them. Here's what you'll need to do: In your BSD kernel config, you'll need at least the following: ############################## pseudo-device ppp 1 # Kernel PPP pseudo-device tun # Packet tunnel. device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) device uvisor # For Palm->USB interface device ucom # Generic serial layer ############################## Rebuild your kernel with that, using 'make buildkernel' and then 'make installkernel' and make sure you 'make world' to ensure that your usbd and other userland tools are current with the changes in your kernel. Now, in /etc/ppp/ppp.conf, add the following: ############################## palm: set device /dev/ucom0 set cd off set dial set speed 230400 set timeout 300 set redial 5 0 set reconnect 3 5 set ctsrts on set ifaddr 10.0.1.30 10.0.1.40 enable dns add default HISADDR open bg "/usr/local/bin/pi-sync.sh" ############################## Note that in ppp.conf, 10.0.1.30 is my actual BSD machine's IP address, and 10.0.1.40 is the IP I wish to assign to my Palm when it connects to the BSD machine using ppp. The last line of the 'palm' section in ppp.conf references one script, pi-sync.sh. This script consists of the following two lines: ############################## #!/bin/sh /usr/local/bin/pi-csd -H ler -a 10.0.1.30 -n 255.255.255.0 ############################## This roughly translates to pi-csd -H -a -n 255.255.255.0 In my case 'ler' is the hostname of the BSD machine and 10.0.1.30 is the IP of the interface on this machine. This is NOT the hostname of the Palm or the IP of the Palm device. NOTE: The hostname you present here with pi-csd with -H must match *EXACTLY* what the hostname you use in the "Primary PC Setup" section on the Palm below. If you use 'ler' with pi-csd, you must use 'ler' on the Palm, not 'ler.domain.com'. On the Palm itself, you'll have to make some changes as well. Follow these steps exactly: - Tap the HotSync icon in the application launcher. - Select [Modem] from the two options above the center icon - Tap 'Select Service' below the icon, and pick an unused one or create a new one. - Service : Unix - User Name : - Password : [- Prompt -] - Connection: Cradle/Cable - Tap Details... - Connection type: PPP - Idle timeout: Never - Query DNS: [X] # checked - IP Address [X] # checked - Tap Script... - Set the first value to 'End' - Tap Ok - Tap Ok - Tap Done This will bring you back to the HotSync screen. - Tap Menu - Modem Sync Prefs: Network - LANSync Prefs: LANSync - Primary PC Setup - Primary PC Name: - Primary PC Address - Subnet Mask (optional): - Connection Setup: Cradle/Cable - Tap Edit... - Name: Cradle/Cable - Connect to: PC - Via: Cradle/Cable - Tap Details... - Speed: 230,400 bps - Flow Ctl: On - Tap Ok - Tap Ok - Tap Done In your /etc/usbd.conf, you should have something similar to the following: ############################## device "Palm Handheld Device" devname "ucom0" vendor 0x0830 product 0x0002 attach "/usr/sbin/ppp -auto palm" ############################## The important part here is the attach line. This will spawn ppp every time the Palm handheld connects, which then launches the pi-sync.sh script, which attaches ppp to the Palm. From here, you can run any of the various pilot-link conduits you wish, as long as you pass it the port of 'net:any' or 'net:10.0.1.30' (the local IP of the BSD box itself). To find out your Palm vendor_id and product_id, you should be ableto hit HotSync on the Palm (local HotSync this time, not modem) and then run 'usbdevs -v' and look for it. If you get stuck, there's also some help on the pilot-link wiki here: http://wiki.pilot-link.org/index.pl?DeviceMatrix Feel free to check that list and modify as needed. If yours is not listed, please report back, or add it to the wiki, so others can benefit from your data and results. You will then need to kill usbd and restart it ('killall -9 usbd && usbd') to re-read the /etc/usbd.conf file, or kill it and run the following for debugging purposes: /usr/sbin/usbd -c /etc/usbd.conf -vv -d To run this as a normal user, you will need to also be added to the 'network' group. You can add yourself to this group manually by adding it in /etc/group. Now open up a term and run the following: pilot-xfer -p net:any -b /tmp/backup You can change the path to the backup if you wish, this is just one example of how to use this over the ppp connection. In this case, it will connect to your Palm handheld and back it up into /tmp/backup, creating the 'backup' directory if it doesn't already exist. Feel free to point this elsewhere. It will sit there waiting for a connection. If you get this far without any major errors, you're doing well. Tap the HotSync icon in the HotSync applet (do NOT use the HotSync button on the cradle or cable, this will default to a local (non-net) USB connection, which is not what you want). Then pilot-xfer should wake up and begin sync'ing your data. Good luck, and let us know how you fare. If this proves useful, I'll drop it into a more concise HOWTO with some screenshots to guide you along, and drop it on http://howto.pilot-link.org with the others.