how to code something このページをアンテナに追加 RSSフィード

2016-07-19

OSXで破壊したFTDI VCP環境を修復する

FTDIのチップ(例: FT232H、FT232RL)にはシリアルUSBデバイスとして見せるVCPモードと、bitbang転送などで使うD2XXの2つのモードがある。
OSXでは両者は共存できない。

双方のドライバインストールしたあと
http://d.hatena.ne.jp/seinzumtode/20160714/1468472593
プロセスを実行してVCPを無効にするとD2XXが有効になるが、
VCP環境に戻せなくなっていた。

FTDIの人に聞いたらマニュアル読めといわれた
http://www.ftdichip.com/Support/Documents/AppNotes/AN_134_FTDI_Drivers_Installation_Guide_for_MAC_OSX.pdf

マニュアル見て気づいたが、自分の環境ではAppleUSBFTDI.kextの場所がおかしい。
このドライバの場所をマニュアルと同じ場所へ移してみた

(command+Rでリカバリーモード起動)
# csrutil disable
(再起動)
$ cd /System/Library/Extensions
$ sudo mv AppleUSBFTDI.kext IOUSBFamily.kext/Contents/PlugIns
(再起動)
(command+Rでリカバリーモード起動)
# csrutil enable
(再起動)

なおった
f:id:seinzumtode:20160719112206p:image

てことはこれをunloadすればD2XXを有効化できる?

$ sudo kextunload /System/Library/Extensions
$ sudo kextunload FTDIUSBSerialDriver.kext

おお、今度はAppleのFTDIドライバがロードされた。

f:id:seinzumtode:20160719112752p:image

じゃあそもそもFTDIのドライバはdisableしとこう。

$ sudo mv FTDIUSBSerialDriver.kext FTDIUSBSerialDriver.disabled

で、appleドライバもアンロードする

$ cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns
$ sudo kextunload AppleUSBFTDI.kext

そうするとD2XXプログラムが動いた!

そしてAppleUSBーFTDIをロードするとシリアルが復旧した。修復完了。

sudo kextload AppleUSBFTDI.kext

その後いろいろやったらシリアルが復旧しなくなった
回復手順は

1. D2XXHelper.kextをdisable
2. csrutil disable@リカバリーモード
3. load FTDI VCP
4. csrutil enable@リカバリーモード
5 再起動

っぽい。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/seinzumtode/20160719/1468894938