最近、ラップトップ用のUSB-Ethernetアダプタを購入しました。 Windows 10に接続すると、デバイスはフラッシュドライブとして表示されます。この「フラッシュドライブ」には実行可能な.exeファイルがあります。 Windowsで実行すると、すべてがうまく動作します。ただし、Linux(私の場合はManjaro)はデバイスをフラッシュドライブとしてのみ認識します。インターネット接続が正しく機能しません。
inxi -nxxx
示す:
Network:
Device-1 ...
Device-2: ICS Advent USB 2.0 10/100M
Ethernet Adaptor
type: USB driver: usb-storage
bus-ID: 2-4:3 chip-ID 0fe6:9702 class-ID: 0806
正しいドライバを使用するように手動で強制できますか?
よろしくお願いします。
ベストアンサー1
USBベンダーIDは、Kontron / ICS Advent / CoreChips製品を表します。
CoreChipsにはSR9700ネットワークアダプタチップがありますが、製品IDが0x9700ではなく0x9702で、これはチップの異なるバージョンである可能性があることを示します。あるいは、デバイスが「USBストレージ」モードにあることを示す製品IDでもあります。
このChromium OSのバグレポートはあなたの状況に非常に似ています。 https://bugs.chromium.org/p/chromium/issues/detail?id=447045
rootで次のコマンドを実行してみてください。
usb_modeswitch -v 0fe6 -p 9702 -K
これはusb_modeswitch
、2つのSCSIコマンドシーケンスを「USBストレージデバイス」に送信することを意味します。最初のコマンドは「メディアの削除を許可」、2番目のコマンドは「メディアの取り出し」です。これは、特定のモード切り替えUSBデバイスの使用を示し、Windowsドライバインストールキットが不要になり、デバイスの実際の機能を明らかにすることができることを示しています。
これが完了したら、inxi -nxxx
コマンドを再試行してください。部品が別のもの(例:イーサネットネットワークデバイス)class-ID: 0806
に変更されましたか?class-ID: 0206
他の情報が変更されましたか?
次の問題は、sr9700
ドライバモジュールが製品ID 9700のみを期待しているため、製品ID 9702を認識しないことです。デバイスが実際のネットワークインターフェイスモードに移行すると、IDが変更されたり変更されたりすることがあります。製品IDを9700に変更すると、usb_modeswitch部分のみが必要です。
ただし、モードを切り替えた後も製品IDが9702の場合は、次のことを試すことができます。
modprobe sr9700
echo "0fe6 9702" > /sys/bus/usb/drivers/sr9700/new_id
これは、製品ID 9702のチップが製品ID 9700のチップと同じように機能する場合に機能します。しかし、違いがあると、ドライバが正しく動作しない可能性が高くなります。dmesg
出力にエラーが表示されることがあります。
この議論は、このアプローチがうまくいかないことを示唆しています。https://www.phoronix.com/forums/forum/hardware/general-hardware/44256-usb-ethernet-adaptor-0fe6-9702-kontron-ics-advent?103621-USB-gt-Ethernet-adaptor-(0FE6 -9702-Kontron-ICS-Advent)=
しかし、これは古いドライバーを意味しますdm9601
。そのドライバーを使用すると、より良い幸運を享受できますsr9700
。
これが機能している場合、この構成を永続化するには、次の2つの作業を実行する必要があります。
usb_modeswitch
ベンダーIDが0fe6で製品IDが9702の「USBストレージ」(モード切り替え前)デバイスがある場合は、適切なオプションでトリガーする構成が追加されました。これは/lib/udev/rules.d/40-usb_modeswitch.rules
、udevルール(またはディストリビューションの類似ファイル)に含まれているものと同様のudevルールと、/etc/usb_modeswitch.d/0fe6:9702
次の名前の設定ファイルを使用して達成できます。
# ICS Advent/CoreChips SR9700 v2 USB ethernet NIC
StandardEject=1
usb_modeswitch
モードスイッチがトリガされると、デバイスのUSB識別子に何が起こるかによって、スイッチが成功したことを確認するためにここにいくつかのオプションを追加する必要があります。設定ファイルパラメータの詳細については、ここを参照してくださいusb_modeswitch
。
- ネットワークドライバをロード
sr9700
し、システム起動時に先制的に、またはモード切り替え後にデバイスが表示されたときに新しいベンダ/製品IDペアを提供する設定を追加します。これは、以下/etc/modprobe.d/usb-nic-sr9702.conf
を含むファイルを使用して達成できます。
alias usb:v0FE6p9702d*dc*dsc*dp*ic*isc*ip*in* sr9700
install sr9700 /sbin/modprobe --ignore-install sr9700; /bin/echo "0fe6 9702" > /sys/bus/usb/drivers/sr9700/new_id