web-dev-qa-db-ja.com

ドングルは自動的にどのように機能しますか?

私はPCに「3Gドングル」を接続し、Ubuntu 14.04でドングルのサポートソフトウェアを手動でインストールせずに自動的に接続する方法を疑問に思いましたが、Windowsでの作業中にそれをインストールしました。

lsusb

Bus 001 Device 004: ID 05c6:6001 Qualcomm, Inc.

usb-devices | awk '/6001/' RS=

Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#=  4 Spd=480 MxCh= 0> Ver= 2.00
Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
Vendor=05c6 ProdID=6001 Rev=00.00
Manufacturer=Qualcomm, Incorporated
Product=Qualcomm mobile device
#Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_Host
If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=06 Prot=00 Driver=rndis_Host

理由は何ですか?

そのファイルを編集/表示し、それに関する追加の詳細を提供することはできますか?

3
Sridhar

lsusb terminalコマンドを実行すると、ドングルにインストールされているチップが表示されます。お使いのデバイスは

05c6:6001 Qualcomm, Inc.

ほとんどの場合、Linuxはチップコード12d1:1506でドングルを識別します。

一部のデバイスは、ベンダーIDと製品IDによってoptionカーネルモジュールで暗黙的に定義されていますが、一部は他のパラメーターによって識別されます。

お使いのデバイスは、シリアルモデムとしてではなく、ネットワークカードとして機能し、異なる方法で識別されます。

出力で確認できますCls=e0(wlcon)これは、デバイスがUSB_CLASS_WIRELESS_CONTROLLERであることを意味します。それは/include/uapi/linux/usb/ch9.hで定義されています。

rndis_Hostドライバーによって管理されます。 Sub=01 Prot=03であるため、リンクされています。

それは/drivers/net/usb/rndis_Host.cで定義されています

USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
.driver_info = (unsigned long) &rndis_info,

コンピューターでこれらのファイルを探しないでください。これらはLinuxソースツリーにあります。例えば。 rndis_Host.c

2
Pilot6

Linux(したがってUbuntu)は「汎用」デバイスで動作します。 「汎用」とは、多くのデバイスをサポートする1​​つのモジュール(別名「ドライバー」)を意味します。これらのドングルのすべてのメーカーがこれらのドングル内に独自のチップを持っているわけではありません。これらは同じメーカーから大量に購入する傾向があるため、内部的には同じチップを使用する他のドングルと同じです。

Linux/Ubuntuの場合、通常は誰かが同じチップセットでLinuxのドングルを使用し、それを動作させる方法を考え出し、誰かがその汎用ドライバーを更新してそのチップセットのサポートを得たことを意味します。つまり、そのデバイスはLinuxですぐにサポートされます。

Windowsでは、そのドングルの各販売者は、そのドングルを備えた独自のソフトウェアと、それに沿った独自の(ただし、わずかに異なる場合があります)ドライバーを持っています。

7
Rinzwind

Linuxには、すでにほとんどのデバイスで必要なすべての必要な汎用ドライバーが既に含まれています。これは、Linuxがオープンソース開発者の巨大なコミュニティによって支えられているために可能になりました(驚くほど最近ではMicrosoftも含まれています)。

それは、あなたがあなた自身のドライバーをインストールしないことを意味しません、あなたは最も確かにそうすることができます。

1
akabhirav

3Gドングルと同じ動作をします。 Ubuntuにはすでにサポートが組み込まれていますが、Windows OSには組み込まれていません。 Windowsでドングルを差し込むと、OSはドングルにあるドライバーを自動的にインストールします。

0
nobody