Welcome      Zaurus      Projects      Papers      Contact   

  Mac OS X USB driver  

  Mac OS X cross compiler  

  Mac OS X tools for Qtopia  

  Qtopia and Mac OS X (mini tutorial)  

  Overview    News    Installation    Limitations/Bugs    FAQ    Download   

Please note: Development of this driver is continued by DSITRI. Please look there for current developments and new versions: http://www.dsitri.de/wiki.php?page=AJZaurusUSB

This is a USB driver for connecting Linux PDAs to a computer running Mac OS X. It allows you to transfer data via USB so you don't need a network card for the PDA. The following models are reported to work (with the problems mentioned later on):

  • Sharp Zaurus SL-5500G, SL-5600, SL-6000, SL-A300, SL-B500, SL-C700, SL-C760, and SL-C860 (running with original Sharp ROM or OpenZaurus)
  • Compaq iPaq H3635, H3760, H3870, and H3950 running Familiar Linux
  • YOPY YP3000 and YP3700
On the Mac you need at least OS X 10.2.1.

Important: This is not a complete sync solution! The only thing the driver does is to provide a network connection.

This driver is based on the USBCDCEthernet example provided by Apple (thanks to Russ Winsper for providing the latest version). Portions have been ported from usbdnet.c (Linux driver) written by Stuart Lynne and Tom Rushworth with some algorithms adopted from usbnet.c written by David Brownell. eMail addresses of these people can be found in the source code available at the bottom of this page.

  Overview    News    Installation    Limitations/Bugs    FAQ    Download   


New driver version 0.2.8:
  • Support for the Zaurus SL-6000.
  • Fixes for possible problems caused by uninitialized variables (thanks to Dr H. Nikolaus Schaller for the patch).


New driver version 0.2.7:
  • Bugfix for Mac OS X 10.3.5. The previous version would clash with new Apple supplied drivers. Attention: This version has only been tested with OS X 10.3.5 and a Zaurus SL-5500. If there are problems, please report them.
  • Before installing this version, you should delete the old "AJZaurusUSB.kext" in the "/System/Library/Extensions" folder.


New driver version 0.2.5:
  • Bugfix for Mac OS X 10.3 (Panther). If the Zaurus is turned on and off in rapid succession, older driver versions could freeze the USB subsystem on the Mac. This issue might also appear on OS X 10.2 (Jaguar), so updating to version 0.2.5 of the driver is recommended for all users.

  Overview    News    Installation    Limitations/Bugs    FAQ    Download   

Disclaimer: This driver may potentially damage your operating system or prevent it from booting (although both is highly unlikely). Use this software at your own risk! (However, this site says the driver is "certified by Sharp" - at least for the SL-5600 -, so it's probably OK to use it ;-))

Installation of the driver is really simple:

  1. Download the compressed installer package (see bottom of this page). Double click on the downloaded file to extract the package.
  2. Double click on the extracted package ("AJZaurusUSB.pkg") and follow the instructions on screen. The installer will place a directory "AJZaurusUSB.kext" in the folder "/System/Library/Extensions".
  3. At the end of the installation process, reboot the computer (the installer will ask you to).
  4. After rebooting (or before, it doesn't matter) connect the cradle to a free USB port, put the Zaurus into the cradle and turn it on.
  5. Start the System Preferences application and select "Network". You will be notified that a new network interface is available.
  6. Configure the new interface with a manual IP address of and click "Apply Now".
  7. Open the terminal application and try to ping the Zaurus. Usually its address is, but you can change that on the Zaurus (note that I never tested with another address). If the ping works everything is OK - if not please read the FAQ below. If this still doesn't help you can eMail me and I can try to find the cause of the problem.
The Zaurus SL-5500 runs an FTP server on port 4242 that you can use to transfer files (user is "root", password is empty). The command line syntax for connecting is:
  ftp -P 4242
Newer Zaurus models (and also the SL-5500 with ROM version 3.x) run an SMB server, so you can use the Finder's "Connect to server" command to mount your home directory. You can use "smb://" as the URL - alternatively, use "smb://sla300" for the SL-A300 and "smb://zaurus" for the SL-5600 (I don't know the URLs for the other models). Enter "guest" as the user name and leave the password blank - although in my tests every other combination of user and password also worked.

To remove the driver, simply delete the folder "AJZaurusUSB.kext" in "/System/Library/Extensions".

  Overview    News    Installation    Limitations/Bugs    FAQ    Download   

The following problems and bugs are known:

  • There is a bug in OS X 10.2.2 through 10.2.6 (and possibly 10.2.8, but not 10.3) that leads to network problems when the driver is used. For example, Apple Mail may not be able to receive eMail anymore. However, there are reliable workarounds:
    1. If you're using a dial-up connection, terminate it and re-reconnect again.
    2. If your internet connection works through an ethernet interface, bring this interface down and then up again (thanks to Geoff Beier for finding that out). To do so, open the Terminal application and type the following (pressing <enter> after each line):
        sudo ifconfig en0 down
        sudo ifconfig en0 up
      You will be asked for a password. This is your administration password (the same that was asked when installing the driver). If your internet connection doesn't work through the primary ethernet interface, you have to replace en0 in the above commands accordingly. For example, the AirPort interface is usually en1.
    3. If your internet access works through AirPort, you can also turn AirPort off and on again (thanks to Matthew Hixson for this tip).
    After that, you will be able to use Mail until you change the status of the Zaurus (e. g. turn it on after it was turned off).
  • When you type on the virtual keyboard while transferring files, the driver will hang. Solution: Disconnect (or turn off) the Zaurus and connect it again.
  • The USB components on the Zaurus are fairly unstable. This is probably caused by problems in the built-in USB controller, and I don't know of any workarounds. Transferring small amounts of data seems to work fine, but I've seen all sorts of problems when trying to repeatedly copy a 16 MB file to the Zaurus (including the Zaurus freezing, rebooting, or corrupting the file). Note that this is not Mac specific; I noticed exactly the same when doing some tests on Windows. Also, I can only speak about the SL-5500G - other models may be more stable.

  Overview    News    Installation    Limitations/Bugs    FAQ    Download   

Q   It doesn't work. What now?

A   First make sure that the following prerequisites are fulfilled:

  1. Your Zaurus is an SL-5x00, SL-A300, SL-B500, SL-C700, SL-C760, or SL-C860. If not, make sure that Info.plist of /System/Library/Extensions/AJZaurusUSB.kext contains an IOKit personality with product and vendor id matching those of your Zaurus.
  2. Your OS X version is 10.2 or higher.
  3. You have installed the driver correctly (easily verified by checking if AJZaurusUSB.kext is present under /System/Library/Extensions).
  4. You have rebooted after installing the driver.
If you have verified all of the above and it still doesn't work, read on below.


Q   No new network interface appears in System Preferences.

A   The new interface is only recognized if System Preferences is started after connecting and turning on the Zaurus. You should be successful using the following steps:

  1. If System Preferences is already running, quit it.
  2. If the Zaurus is already plugged in and turned on, then turn it off.
  3. Now connect the Zaurus to your Mac and turn it on.
  4. Wait a few seconds.
  5. Start System Preferences.
  6. Click on "Network".
You should now get a notification that a new network interface appeared. Even if you don't get this message, look if the interface is present anyway (usually the name is "Ethernet (en1)" or "Ethernet (en2)"). If you cannot find it, read on below.


Q   My Mac crashed (prompting me to turn off the computer).

A   I've tried to eliminate all problems that could result in a crash, but there is of course no guarantee I've found them all. In case of a crash, please send me the file /Library/Logs/panic.log. It contains a crash log that should allow me to determine if the driver was responsible for the crash and what exactly caused it.


Q   I've checked the FAQs above and it still doesn't work. What information can I provide to help finding the problem?

A   Please connect and turn on the Zaurus, then wait a few seconds. After that, execute the following commands in the Terminal application and send me their output:

  • ifconfig
  • grep -E "AppleUSBCDC|org_lucidcake_driver_AJZaurusUSB" /var/log/system.log

  Overview    News    Installation    Limitations/Bugs    FAQ    Download   

Installer package for the driver (packed with tar and gzip, version 0.2.8 (09/27/2004), 168 KB - tested with OS X 10.3.5, should also work with all other versions starting with 10.2.1).AJZaurusUSB_0_2_8.tgz
Source code (packed with tar and gzip, version 0.2.8 (09/27/2004), 212 KB). This includes the installer package.AJZaurusUSB_src_0_2_8.tgz
Installer package for the driver (packed with tar and gzip, version 0.2.5 (10/31/2003), 104 KB - tested with OS X 10.2.1 through 10.3.4).AJZaurusUSB_0_2_5.tgz
Source code (packed with tar and gzip, version 0.2.5 (10/31/2003), 144 KB). This includes the installer package.AJZaurusUSB_src_0_2_5.tgz

Last update: 05/10/2006