LinuxがUSBストレージとしてAndroid携帯をマウントしようとするのを停止するにはどうすればよいですか?


2

Motorola Triumphをfedora 17 LinuxボックスUSBポートに接続すると、携帯電話を必死にUSBドライブとしてマウントしようとするため、Linuxボックスで無限のエラーが発生します。このようなもの:

Jun 23 10:26:00 zooty kernel: [528926.714884] end_request: critical target error, dev sdg, sector 4
Jun 23 10:26:00 zooty kernel: [528926.715865] sd 16:0:0:1: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Jun 23 10:26:00 zooty kernel: [528926.715869] sd 16:0:0:1: [sdg]  Sense Key : Illegal Request [current] 
Jun 23 10:26:00 zooty kernel: [528926.715872] sd 16:0:0:1: [sdg]  Add. Sense: Invalid field in cdb
Jun 23 10:26:00 zooty kernel: [528926.715876] sd 16:0:0:1: [sdg] CDB: Read(10): 28 20 00 00 00 00 00 00 04 00

LinuxにUSBストレージのマウントを許可するように電話に指示すると、メッセージが停止し、マウントされたドライブが取得されますが、デバッグブリッジを使用するだけであれば、Linuxのログは引き続きいっぱいになりますこのジャンク。usbストレージに関する限り、この特定のデバイスをシステムに無視させるためにできるudevマジックはありますか?

USBストレージを有効にするように電話に指示し、Linuxに新しいディスクを認識させてから、USBストレージを再び無効にするように電話に指示すると、容量がゼロに変わることに関する追加のログメッセージが1つ表示されますが、メッセージの無限の表示が停止することに気付きましたので、回避策の1つはUSBをすぐに有効または無効にすることです。


デフォルトアクションとしてディスクとしてマウントするのではなく、「充電する」ように電話に指示できます。まあ、少なくとも私のHTCでできることです。

回答:


0

VID / PIDの組み合わせを無視するようにusb-storageモジュールに指示できます

/etc/modprobe.d/android.confなどのフォームの内容を持つファイルを作成します

オプションusb-storage quirks = vid ##:pid ##:i

vid / pidがプレフィックスなしで16進数で指定されている場合

この手法の重大な制限は、/ etcが存在して優先される前のinitreadステージで一部のインストールがusb-storageドライバーをロードするため、無視することなくロードされる可能性があることです。この問題を回避するには、initreadアーカイブを変更するか、usb-storageモジュールをアンロードして再ロードします(システムに他に何も使用されていない場合)。

もう1つの欠点は、マウントすることを決定した場合、ドライバーを癖なしでリロードする必要があることです(たとえば、insmodを使用)。

おそらく誰かがより良い方法を持っていますか?


大好きです!完璧に機能します。先に進み、dracutを再実行してinitramfsイメージを再構築し、modeprobe.dファイルの作成後に再起動しましたが、ログからメッセージが出力されなくなりましたが、まだデバッグブリッジを接続できます。まさに私が探していたものです!
user1160711
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.