Project

General

Profile

RTSystemsCablesAndMavericks » History » Version 1

Jens Jensen, 08/08/2014 05:50 PM

1 1 Jens Jensen
h1. RTSystemsCablesAndMavericks
2
3
RTSystems usb cables are a branded (i.e., customized) FTDI cable. They simply have different USB Vendor (VID) and Product IDs (PID) from generic FTDI USB adapters.
4
5
Apple OSX 10.9.x aka Mavericks now has a built in FTDI Driver, com.apple.driver.AppleUSBFTDI.
6
However, it does not load by default because it does not recognized the custom VID/PID combos that RTSystems cables use.
7
8
Many folks have been simply loading the FTDI OEM driver (
9
10
11
h2. Steps
12
13
stop using and unplug all FTDI usb adapters
14
15
unload existing FTDI OEM driver (if applicable):
16
@
17
sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver
18
@
19
20
Disable FTDI OEM driver (if applicable):
21
@
22
sudo mv -v /System/Library/Extensions/FTDIUSBSerialDriver.kext/ /System/Library/Extensions/FTDIUSBSerialDriver.kext_disabled
23
@
24
25
check to see that there are no FTDI drivers loaded:
26
@
27
kextstat |grep -i ftdi
28
@
29
(should not show anything)
30
31
Add RTSystems VID/PIDs to Apple FTDI driver:
32
@
33
sudo nano /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBFTDI.kext/Contents/Info.plist
34
@
35
36
add following to *IOKitPersonalities* section:
37
@          <key>AppleUSBFTDI-RTSystems</key>
38
               <dict>
39
                       <key>CFBundleIdentifier</key>
40
                       <string>com.apple.driver.AppleUSBFTDI</string>
41
                       <key>IOClass</key>
42
                       <string>AppleUSBFTDI</string>
43
                       <key>IOProviderClass</key>
44
                       <string>IOUSBInterface</string>
45
                       <key>InputBuffers</key>
46
                       <integer>8</integer>
47
                       <key>OutputBuffers</key>
48
                       <integer>16</integer>
49
                       <key>bConfigurationValue</key>
50
                       <integer>1</integer>
51
                       <key>bInterfaceNumber</key>
52
                       <integer>0</integer>
53
                       <key>idProduct</key>
54
                       <integer>0x9000</integer>
55
                       <key>idProductMask</key>
56
                       <integer>0x9000</integer>
57
                       <key>idVendor</key>
58
                       <integer>0x2100</integer>
59
               </dict>
60
@
61
               
62
63
64
plug in your rtsystems ftdi usb adapter
65
66
Force load of Apple FTDI driver:
67
@
68
sudo kextload -b com.apple.driver.AppleUSBFTDI
69
@
70
71
verify Apple FTDI driver is loaded:
72
@
73
hackpro:~ jens$ kextstat |grep -i ftdi
74
  129    0 0xffffff7f826d0000 0x7000     0x7000     com.apple.driver.AppleUSBFTDI (1.0.1b3) <77 36 5 4 3>
75
hackpro:~ jens$ 
76
@
77
78
Verify Apple FTDI device node is created:
79
@
80
ls -l /dev/cu.usbserial-*
81
@
82
83
*good result*: should list a device file
84
*bad result*: "no such file or directory"
85
86
87
h3. Note
88
89
*You may need to repeat these steps if Apple updates FTDI driver (such as in a Combo Update aka Minor update release)*