New IT forum
22 May 2018, 04:10:58 am *
Welcome, %1$s. Please login or register.

: MiraBox now in stock.
 
Pages: [1]

Author Topic: Using JTAG with OS X 10.9 (Mavericks)  (Read 3869 times)

Don

  • Newbie
  • *
  • Posts: 5
Using JTAG with OS X 10.9 (Mavericks)
« on: 07 October 2014, 10:29:29 pm »

Having upgraded to OS X 10.9 (Mavericks), I discovered that the JTAG interface no longer worked. Apple have implemented a new kernel extension to interface with the FTDI chipset. See https://developer.apple.com/library/mac/technotes/tn2315/_index.html for details.

Unfortunately, it doesn't play nicely with the old driver, despite the document claiming that it should. I have an old version of the FDDIUSBSerialdriver (2.2.16) and my initial thought was that maybe the latest v2.2.18 driver would work. It's easy to find stuff about this problem and the majority of articles claim that the fix is to disable the new Apple driver and carry on with the existing driver from FTDI. Their installation guide at http://www.ftdichip.com/Support/Documents/InstallGuides/Mac_OS_X_Installation_Guide.pdf is probably the source of much of this advice, but it only advocates disabling the Apple driver if you need D2XX operation, otherwise it says "no driver installation is required to create a virtual COM port in Mavericks". So before disabling the Apple driver, I thought I'd try to get it to work.

Rather than start with my old system (which had the v2.2.16 FTDI driver installed as a left-over from before the upgrade to Mavericks as well as the new Apple driver) I started with another system. I just plugged in the JTAG hardware and attempted to connect with the screen utility. It didn't work, despite the comforting words in the Apple tech note. No devices were created when the hardware was plugged in.

Fortunately, the fix is easy. If the Info.plist file is modified to add the details of the JTAG interface, it works fine.

Code: [Select]
bash-3.2# cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBFTDI.kext/Contents
bash-3.2# diff -c Info.plist.orig Info.plist
*** Info.plist.orig 2014-08-18 04:12:04.000000000 +0100
--- Info.plist  2014-10-07 22:29:29.000000000 +0100
***************
*** 250,255 ****
--- 250,276 ----
            <key>idVendor</key>
            <integer>3154</integer>
        </dict>
+       <key>SheevaPlug JTAGKey FT2232D B</key>
+       <dict>
+           <key>CFBundleIdentifier</key>
+           <string>com.apple.driver.AppleUSBFTDI</string>
+           <key>IOClass</key>
+           <string>AppleUSBFTDI</string>
+           <key>IOProviderClass</key>
+           <string>IOUSBInterface</string>
+           <key>InputBuffers</key>
+           <integer>8</integer>
+           <key>OutputBuffers</key>
+           <integer>16</integer>
+           <key>bConfigurationValue</key>
+           <integer>1</integer>
+           <key>bInterfaceNumber</key>
+           <integer>1</integer>
+           <key>idProduct</key>
+           <integer>40591</integer>
+           <key>idVendor</key>
+           <integer>40584</integer>
+       </dict>
    </dict>
    <key>OSBundleLibraries</key>
    <dict>
bash-3.2#

I haven't yet modified my original system, but I'm fairly confident that if I remove the old FTDI driver and put the same modification in place, my old system will also be able to use the JTAG without any problems.

I hope this helps other Mavericks users faced with the same problem.

Don


Logged
Pages: [1]
 
 

Powered by MySQL Powered by PHP SMF 2.0.10 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!