How to get a Belkin USB-Serial adapter to work with OS X (Panther)

I just got a new GPS for geocaching and I wanted to hook it up to my Mac. Now since the companies who make these devices virtually ignore the Mac community, I had to get one with a serial interface (read: older and not USB). You see, Garmin’s implementation of the USB interface is so non-conforming to the standard that it will require a change to OS X to make it work (do a search in the Groundspeak forums for more info). Then I needed a serial to USB converter to make the final link.

Anyway, I dug up this old Belkin F5U103 USB to serial adapter that I figured would be just what I needed to get my Mac and GPS talking. Well, unlike most random USB devices that I have plugged into Panther, this one did not have a driver built-in. It showed up in System Profiler just fine, but when I tried to communicate with the GPS – nothing. Of course Belkin has pretty much dropped support for this device – the most recent drivers are for OS 9. I pulled down several different Mac apps that can connect to GPS devices and none of them worked. I did some hunting around the usual places and eventually found a beta home-brew driver on sourceforge. The documentation was thin, there was no installer and it didn’t really work. But after some more digital sleuthing, I got it working – Woo Hoo. Here’s how I did it:

Get the driver:

Download it from sourceforge, here. As of this writing, the only version available was 20030914. You will get the file: ubsa-kext.tgz which will expand into BelkinF5U103Driver.kext.

Tweak the driver:

It turns out there is a bug in the driver related to the baud rate of the connection. I tried the driver without this tweak and it wouldn’t work with the apps I used. The bug was reported by David Griffiths with a work-around – I’ll restate it here with some added detail:

You need to hex edit the binary. I looks like you can also edit the source, but then you have to build it, so this seemed like the easier option. I used Resorcerer. You could use any hex editor.

  • Launch Resorcerer and open this file inside the package: “BelkinF5U103Driver.kext/Contents/MacOS/BelkinF5U103Driver”
  • Open the “<Data Fork>” You will get a window with the Hex Data.
  • Select the Find/Replace/Goto option from the Hex menu – or type cmd-F
  • In the find field, type 03600084 and hit return
  • The hex view should scroll to the one location where this number is found
  • In the replace field, type 07600008 and hit return
  • Close all the windows saving at each prompt

Install the driver:

You now need to copy the driver to the correct location and then set the owner and group correctly. I found out how to do this in a thread in alt.video.ptv.tivo. Here’s the link, it’s the 3rd or 4th entry – thank you C.J. Here’s the steps:

  • Copy BelkinF5U103Driver.kext to /System/Library/Extensions/
  • Change owner and group

cd System/Library/Extensions

sudo chown -R root BelkinF5U103Driver.kext

sudo chgrp -R wheel BelkinF5U103Driver.kext

You may also need to do this:

sudo chmod -R ug+x BelkinF5U103Driver.kext

Now load it. This will load the driver without rebooting. It should tell you that it was successful.

sudo kextload BelkinF5U103Driver.kext

Try it out:

  • Plug the adapter in. Take a look in /dev You should now have 2 new files in that directory:

cu.F5U103BL6143

tty.F5U103BL6143

Run an app that talks to your GPS or the serial port and you should see a new option/port to connect to:

F5U103BL6143

Now you should be all set. Happy Geocaching, serial porting or whatever you’re using it for.

Previous Next

2 Comments (+add yours?)

  1. Paul Gauthier
    Jun 06, 2006 @ 19:00:35

    Hi Matt,
    I followed all the steps and everything went OK, except that cu.F5U103BL6143 and tty.F5U103BL6143 were not created in the /dev directory.

    Can you help???

    Running os x 1.4.6

    Thanks for your response,
    Paul

  2. matt
    Jun 06, 2006 @ 19:44:09

    Paul – Those file names could be specific to each system. Were any files created when you plugged the device in? Maybe a couple with similar names? You could check the timestamps to verify.
    -Matt

Leave a Reply