Snow Leopardでは特に何もせずにadbで接続できていた
Mediasが、Lionにしたとたんに急にadbでつなぐことができなく
なってしまったので、Lion対応Medias用USBドライバ(もどき)の
カーネルエクステンションを作ってみました。
※2012/03/01 変更
めんどいので、とりあえず
http://8kpx.com/android/archive/download.php
からダウンロードしてください。
で、ちゃんと使えたらカンパください。
このカーネルエクステンションを解凍して
http://8kpx.com/android/archive/download.php
からダウンロードしてください。
で、ちゃんと使えたらカンパください。
このカーネルエクステンションを解凍して
/System/Library/Extensions/
以下に配置し、ターミナルから
$sudo chown -R root:wheel /System/Library/Extensions/N06CADBDriver.kext
$sudo kextload /System/Library/Extensions/N06CADBDriver.kext
と実行すると、Snow Leopardと同じようにMediasがadbから繋がる
ようになります。ちょーべんり。
/System/Library/Extensionsをいじるのは、あっさりカーネルパニックになったりするので、
自己責任で導入してください。
-------以下詳細---------
この問題の原因は、MediasのUSBデスクリプタのbDeviceClassが、本来0のはずが、2になっており、
正しいドライバが読み込めなくなってしまっていたことでした。
なので、このカーネルエクステンションでは、bDeviceClassが2でかつデバイスがMediasの場合に、
本来のドライバ(IOUSBCompositeDriver)を読み込むという設定をしております。(実際にはplistに書いただけ)
デバイスの判定には、具体的にはidProduct, idVendorという二つのパラメータを利用しており、
この値を書き換えることで、Medias以外のデバイスで、同様の問題が発生した場合にも対応可能です。
0 件のコメント:
コメントを投稿