How to set up Subaru FreeSSM v1.2.5 on MacBook Air

This is a successful example of using Subaru FreeSSM v1.2.5 software and the USB diagnostic cable on MacBook Air. Enjoy!

 

Although I am a Windoze guy through and through, I now am stuck with a MacBook Air, running OSX Yosemite. It has a really small internal hard drive (well, ok, SSD), so I didn’t want to waste valuable storage space. I wanted to use FreeSSM without adding all the bloatware of Ubuntu, Virtualbox, Parallels, etc., and I decided to just try to use Wine.

I am using Wine ver.1.6.1 Stable for OSX, which packages with Winebottler, that is available for free here:WineBottler | Downloads of WineBottler and Wine.app

Once you “create a prefix” and start up Wine, the little wine glass appears in your top task bar, and you can get a dropdown menu with various options. If you choose “File Manager”, it’s like operating from within a Windows shell.

At that point, I spent $10 around to buy tested FreeSSM v1.2.5 software for Windows (better use software tested without issues for sake of pc security :D), put it into a folder that could be viewed from within Wine’s File Manager, and double clicked it there in the File Manager. Wine installed FreeSSM no problem. I didn’t need to do this through Winebottler, I just did it through the included version of Wine itself.

Once FreeSSM software installed, it creates a new folder in the “Program Files” folder that can be viewed with the Wine File Manager. Double clicking FreeSSM.exe from within the Wine File Manager starts up FreeSSM with no issues.

But the problem was, I had no options in the “Serial Port” box when FreeSSM started up. It was just greyed out, exactly like that. It could not see the COM port.

After lots of Googling, I found that this is a pretty common problem, getting Wine to recognize a COM port when using a USB serial device like a Freessm Subaru cable (I got mine from obdii365.com). It takes some effort, but I have it running now.
Freessm usb cable should be like this: (USB 2.0)

subaru-freessm-v1-2-5-usb-cable
First, I downloaded and installed the FTDI VCP drivers for OSX (driver ver.2.3), and installed them as per the FTDI instructions. This may not be necessary if you are running OSX Yosemite or newer, because Apple has their own built-in drivers now, but that’s what I did.

Then after you plug in the Subaru diagnostic cable to your USB jack on the Mac, you open a terminal and check the /dev directory of your Mac, and you see the name of the new USB device, which should be something like “tty.usbserial-A601XXXL”. The digits at the end of the name will be the serial number, if it’s a genuine FTDI chip in your USB cable.

So now you have the path and filename to the Subaru USB diagnostic cable, as the Mac sees it. You need to create a “symbolic link” so that Wine can use this. Do this by opening a terminal, and changing directories to user/Wine Files/dosdevices. Then, type:

ln -s /dev/tty.usbserial-A601XXXL com1

If you now close the terminal and navigate to the dosdevices folder by using the Mac Finder app, then you will see a new icon there, labeled “com1”. If you forgot to change directories in the terminal before creating the symlink, then your “com1” icon will be located in your Home or User folder, or wherever you were pointing to in the terminal when you created the symlink. Find the icon and cut and paste it into the “Wine Files/dosdevices” folder.

Now, use the Mac Finder to navigate into “Wine Files”, and you’ll see a text file icon there, “system.reg”. Open that with the Mac’s “TextEdit” program. Add the following lines to this file (I added them near the top, just after the entry #arch=win32):

[HARDWARE\\DEVICEMAP\\SERIALCOMM] 1131331688
“COM1″=”COM1”
“COM2″=”COM2”

Then, save this new version of the system.reg file.

Now go back to the Wine dropdown list of options, and choose “Registry Editor”. This looks just like a Windows registry.

Navigate to the folder, HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM in the file tree on the left. Probably there will be no entries in this folder, so create two new keys:

“COM1″=”COM1”
“COM2″=”COM2”

This gives the new keys a Value name of COM1 (or COM2), and a Vaue data of COM1 (or COM2).

Now leave the Registry open without exiting it, start up FreeSSM through Wine’s File Manager, and FreeSSM should give you COM1 and COM2 as options.

Since I had set my Subaru FreeSSM USB cable to COM1 by the symlink, above, that’s what plugged into the Subaru and worked perfectly at this stage.

(I actually created a second symlink in the dosdevices folder, as COM2, pointing to cu.usbserial-A601XXXL, which I found in my /dev directory, but I think this was unnecessary. The symlink described above, with COM1 defined as tty.usbserial-A601XXXL was all that was needed to have FreeSSM connect to the Subaru USB cable on COM1.)

While everything else in this “How To” is a permanent change, the Registry entry changes are apparently volatile. I have not experimented with this, but I believe that the folder HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM will be blank every time you start Wine fresh. So you may have to edit the Registry through Wine every time you start FreeSSM, unless you just leave it open in the background.

Hope this helps someone. Took me a long time of Googling and fighting with this Mac to get it straight.
freessm-macbook-air

(BIG THANKS to freessm user at subaruoutback.org forums).

 

OBDII365