MX2 on Mac OS X 6

LK/ELK/VK/PK/OK/MX/GLK/EGLK/GVK/GLT Series

Moderators: Henry, Mods

Post Reply
leetrout
LCD?
Posts: 3
Joined: Sun Jul 26, 2009 12:20 am

MX2 on Mac OS X 6

Post by leetrout »

Step 1: Download the virtual com port driver - http://www.ftdichip.com/Drivers/VCP.htm and run the installer.

Step 2: Patch the file /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist by opening the file and searching for "Matrix" and adding a new plist entry above the first existing Matrix Orbital entry. First you need to locate your product id by searching for it at http://www.linux-usb.org/usb.ids I have a MX212 so I searched for "Matrix" and the first hit was Matrix Orbital USB Serial but if you keep reading there are several choices. The choice for me is "fa01 Matrix Orbital MX2 or MX3". The fa01 is the important part and note that it is in hex so we need to convert it to decimal. There are online tools to help you do this if you need it, like http://easycalculation.com/hex-converter.php

My result was 64001. That is my product ID I need to patch into the plist. I also used the text from the entry in the list as the Key. Note that I only made 2 changes from the existing plist entries, the key and the integer following the idProduct key in the dictionary.

My plist addition looks like this:

Code: Select all

<key>Matrix Orbital MX2 or MX3</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
		<key>IOClass</key>
		<string>FTDIUSBSerialDriver</string>
		<key>IOProviderClass</key>
		<string>IOUSBInterface</string>
		<key>bConfigurationValue</key>
		<integer>1</integer>
		<key>bInterfaceNumber</key>
		<integer>0</integer>
		<key>idProduct</key>
		<integer>64001</integer>
		<key>idVendor</key>
		<integer>1027</integer>
	</dict>
Edit the plist and save the file.

Step 3: Load the module

Code: Select all

$ sudo kextload -v /System/Library/Extensions/FTDIUSBSerialDriver.kext
Requesting load of /System/Library/Extensions/FTDIUSBSerialDriver.kext.
/System/Library/Extensions/FTDIUSBSerialDriver.kext loaded successfully (or already loaded).
Step 4: Plug in the screen and see if it loaded by check the devices directory.

Code: Select all

$ ls /dev | grep cu.usb
You should see something like cu.usbserial-00001440

If that doesn't work try

Code: Select all

$ ls /dev | grep tty.usb
Step 5: Test the connection

Code: Select all

$ stty -f /dev/tty.usbserial-00001440
Try to send a command!

A simple test is to clear the screen. I use Python and here is what will test the connection: (pySerial required)

Code: Select all

import serial
s = serial.Serial('/dev/tty.usbserial-00001440', 19200, timeout=10)
s.write('\xfe\x58')

Clark
Matrix Orbital
Matrix Orbital
Posts: 881
Joined: Fri Aug 17, 2007 10:58 am
Location: Matrix Orbital
Contact:

Post by Clark »

Hi Leetrout,

An excellent step by step summary, thanks so much for sharing your work with the community. If users have trouble finding their VID or PID in the required files for some of our other displays please don't hesitate to ask.

Thanks,
~Troy
Troy Clark
Design & Development
Matrix Orbital

Post Reply