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)* |