まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

トラブル

MacOSX10.9(Mavericks)とFTDIドライバについて→10.9.5アップデートで解決

※MacOSX10.9.5アップデートで解決した模様。

 FTDIドライバ対策を行っていなかったMacOSX10.8をMavericksにアップデートし、10.9.5アップデート後、FTDIチップを使用しているArduino(例:互換機のCrowduino)を接続しbrinkスケッチを転送。接続時はドライバは以下のようにFTDIドライバは1つだけ認識。書き込み可能。

$ kextstat | grep FTDI

  155    0 0xffffff7f82c33000 0x8000     0x8000     com.FTDI.driver.FTDIUSBSerialDriver (2.2.16) <138 36 5 4 3 1>

 もともとのAppleUSBFTDI.kextは削除していない。

$ cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/

$ ls -al

total 0

drwxr-xr-x  24 root  wheel  816  8 21 03:26 .

drwxr-xr-x   8 root  wheel  272  9 19 13:21 ..

drwxr-xr-x   3 root  wheel  102  6  4 13:22 AppleUSBCDC.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:22 AppleUSBCDCACMControl.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:22 AppleUSBCDCACMData.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:23 AppleUSBCDCDMM.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:23 AppleUSBCDCECMControl.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:23 AppleUSBCDCECMData.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:23 AppleUSBCDCEEM.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:22 AppleUSBCDCWCM.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 AppleUSBEHCI.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:33 AppleUSBFTDI.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 AppleUSBHub.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 AppleUSBMergeNub.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 AppleUSBOHCI.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 AppleUSBOpticalMouse.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 AppleUSBUHCI.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:35 AppleUSBVideoSupport.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 AppleUSBXHCI.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 IOUSBCompositeDriver.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 IOUSBHIDDriver.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:26 IOUSBHIDDriverSafeBoot.kext

drwxr-xr-x   3 root  wheel  102  6  4 13:27 IOUSBLib.bundle

drwxr-xr-x   3 root  wheel  102  6  4 13:26 IOUSBUserClient.kext 



ーーー以下は以前の記事

 MacOSXを10.9にアップデートしたらFTDIチップを使っているArduinoが通信できなくなるという話を聞いて、10.9.1のアップデータが来るまで待っていたのだけど相変わらず直ってなかったので以下を適用した。
☆Arduino UNO R3、Arduino LeonardoなどFTDIチップを使わずにシリアル通信を実現しているものは問題なかった。

Arduino in OS X 10.9 Mavericks - Serial Port Issues

 AppleがMacOSX10.9からFTDIドライバをつけるようになったのだが、それに不具合があるらしい。修正方法は、標準のApple FTDIドライバを削除してFTDICHIPが配布しているドライバをインストールすること。
Virtual COM Port Drivers こちらからMacOSX用2.2.18をダウンロードする。ダウンロードして展開したFTDIUSBSerialDriver_v2_2_18.dmgを開くと2つのパッケージがあるが、FTDIUSBSerialDriver_10_4_10_5_10_6_10_7の方をインストールする。

ドライバの確認はkextstatコマンドで確認できる。デバイスを接続しないと現れない。

以下は2つのドライバが入ってしまっている例。

$ kextstat | grep FTDI

  127    0 0xffffff7f8259d000 0x7000     0x7000     com.apple.driver.AppleUSBFTDI (1.0.1b1) <114 37 5 4 3>

  128    0 0xffffff7f825a4000 0x8000     0x8000     com.FTDI.driver.FTDIUSBSerialDriver (2.2.18) <114 37 5 4 3 1>


先ほどのリンクにあった手順
cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns 
    sudo mv AppleUSBFTDI.kext AppleUSBFTDI.disabled 
    sudo touch /System/Library/Extensions
で削除して再起動し、FTDIのドライバをインストールすると以下の様に確認できる。

$ kextstat | grep FTDI

  125    0 0xffffff7f81ca1000 0x8000     0x8000     com.FTDI.driver.FTDIUSBSerialDriver (2.2.18) <114 36 5 4 3 1>

 動作確認はCrowduinoで行った。これはArduino Duemilanove互換でFTDIのチップを使ってシリアル通信をしている。クロウディーノ(Arduino互換) (801-ECP-C328) 

ついでにこんなのも見つけた。FTDIドライバをON/OFFするらしいが試していない。Arduinoに限らず影響があったみたい。OS X Mavericks (10.9) - IMPORTANT


追記:
Mac OS X MavericksにおけるFTDIシリアルポートドライバの取扱い 

Windows7/WindowsXPで消せないファイルを消去する

WindowsXP上でインストールしたcygwinを消そうとc:¥cygwinをエクスプローラからゴミ箱に移動しても「できません」、コマンドプロンプトから DEL c:¥cygwin と入力しても「アクセスが拒否されました」と出て消せない。Administrator権限でやってもダメ、[F8]を押して再起動しコマンドプロンプトのみの状態で操作してもダメ。なぜ?
 原因らしきものがわかった。このパソコンは母が使うようにとアカウントを作っており、cygwinをインストールしたのはそのアカウント。現在は自分のアカウントを作って母のアカウントは消去した。このため、所有者のいないファイルが出来てしまったようだ。
 色々調べたらアクセス制御リストを操作するSetACL: Windows ACL managementというので変更するらしい。やり方は“アクセスが拒否されました。”を解除 - Cox Caféに詳しい。

 以下、操作メモ。SetACL.exeは準備しているものとする。ユーザ名はtakesita、消したいディレクトリはc:¥cygwinとする。
setacl -on "C:¥cygwin" -ot file -rec cont_obj -actn setowner -ownr "n:takesita" 
完了するまで待って、以下のコマンドを実行。caclsは内部コマンドである。
cacls "C:¥cygwin" /t /g takesita:f 
cygwinは細かいファイルが多いのでこれもしばらく待たされるが、完了したら
del c:¥cygwin
で無事消去できた。cacls /?と入力すれば詳しいヘルプが表示される。WindowsXPでもWindows7でも実行できた。ただしWindows7ではcaclsは非推奨で、icaclsを使え、と表示された。
 
Cox Caféに感謝。
 
記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ