必要なベンダー:製品IDをUSBデバイスに強制的にロードします。

必要なベンダー:製品IDをUSBデバイスに強制的にロードします。

CentOS 7サーバーに接続されている私のUSBデバイス(OnePlus 10Tスマートフォン)が時々「エラー」を表示する(Google)ベンダー:製品IDLSSB再起動後の出力:

Bus 002 Device 003: ID 18d1:4ee8 Google Inc. Nexus/Pixel Device (MIDI)

USBケーブルを外して再接続すると、通常は正しいケーブル(22d9:2765 OPPO)に変わりますが、次の方法を使用して自動的に正しいケーブルを強制的に接続する方法はありますか?ウデブ? USBポートをリセットします(例:次の方法を使用)。USBresetuhubctlなど)あまり役に立たないようです。

よろしくお願いします!

ベストアンサー1

いいえ、そうすることはできません。この情報は、デバイスの識別中にハードウェアがデバイスから読み取られ、カーネルに提供されます。

あなたができることは、特定のドライバにデバイスを認識させることです。

echo 2-7:1.0 > /sys/bus/usb/drivers/<drivername>/bind

これは2-7:1.0デバイスのUSBバスアドレスです。ミルダlsusb -tそれは出力から来ます。このタスクを自動的に実行するための udev ルールを作成することもできます。

しかし、これは役に立たないかもしれません。お使いの携帯電話は異なるモードで初期化されており、実際には別のデバイスなので、予想されるPID:VIDペアを提供していないようです。たとえば、自分の電話機が自分のコンピュータに接続されていることがわかった場合は、「USBストレージ」、「MTPデバイス」、または「充電専用」オプションと一緒に「どのモードで実行するか」を尋ね、コンピュータに別の方法で表示します。別のドライバにバインドします。私の場合、自動的にバインドされたドライバの代わりにデバイスを他のドライバに強制的にバインドすることは機能しませんでした。

携帯電話が時々間違った方法で初期化される理由は、まったく異なる質問です。無理やり何かが起こるのではなく、問題を解決する方が良いです。

おすすめ記事