Dear list,
I wanted to share my findings regarding flashing an iotlab-m3 board from
OS X 10.11.
The good thing, the 3rd party FTDI driver is not needed anymore. Apple
delivered
a FTDI kernel extension for some releases already but I didn't find them
working
until this release. So, when connecting an iotlab-m3 board to your Mac
without
having the old FTDI driver loaded you should already be able to connect
to the
/dev/tty.usbserial-xxxxxB device with by executing
`BOARD=iotlab-m3 PORT=/dev/tty.usbserial-xxxxxB make term`
The bad thing, flashing fails as the Apple driver also assigns
/dev/tty.usbserial-xxxxxA
to the first serial device on the board and openocd can't claim it. I
could
successfully prevent it from doing so by these steps:
DISCLAIMER: backup first and you do this on your own reliability.
1. `sudo nvram boot-args=kext-dev-mode=1`
We will change the kext's Info.plist so the signature will not be valid
anymore.
2. Boot into recovery mode by holding cmd + r during start up
3. In recovery mode open a terminal and execute
`csrutil disable`
to turn off System Integrity Protection.
4. Restart into normal mode an use your editor of choice to edit the
file
/System/Library/Extensions/AppleUSBFTDI.kext/Contents/Info.plist
and comment out the <key> and <dict> entries for "AppleUSBEFTDI-6010-0"
with <!-- ... -->
See the snip below.
5. Restart into recovery mode again and enable System Integrity
Protection again by
`csrutil enable`
6. Restart into normal mode and you should only see one remaining
/dev/tty.usbserial-xxxB
device. Flashing the board should work now.
If somebody found an easier approach, please let me know, else, good
luck.
Best, Thomas
The snip:
```
<!--<key>AppleUSBEFTDI-6010-0</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBFTDI</string>
<key>IOClass</key>
<string>AppleUSBFTDI</string>
<key>IOProviderClass</key>
<string>IOUSBHostInterface</string>
<key>InputBuffers</key>
<integer>8</integer>
<key>OutputBuffers</key>
<integer>16</integer>
<key>bConfigurationValue</key>
<integer>1</integer>
<key>bInterfaceNumber</key>
<integer>0</integer>
<key>idProduct</key>
<integer>24592</integer>
<key>idVendor</key>
<integer>1027</integer>
</dict>-->
```
_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel