如何将D-link dwm-156添加到USB开关模式,以自动弹出驱动程序CD /切换到调制解调器模式?

我正在运行Ubuntu 13.10,32位。

我每次都需要去终端“弹出”Windows驱动程序CD,也没有去磁盘和弹出Windows驱动程序CD,使d-link dwm-156 gsm调制解调器通过网络管理器运行。

似乎usb模式切换不起作用。

但是在我朋友的计算机上使用ubuntu 14.04,usb模式开关正在工作,我可以在进入时通过网络管理器将d-link dwm-156连接到移动宽带。

有没有办法让usb模式切换到启动时在我的ubuntu 13.10,32位中弹出d-link dwm-156的Windows驱动程序CD?

在弹出CD(调制解调器作为Windows驱动程序的存储设备)之前,lsusb输出是Bus 002 Device 013: ID 2001:a706 D-Link Corp

弹出CD(作为调制解调器)后,lsusb输出为Bus 002 Device 005: ID 2001:7d01 D-Link Corp

我不想在CD中使用驱动程序,因为我需要发送短信并查找数据使用情况。

默认ID为2001的GSM调制解调器:a706和目标ID 2001:7d01

您必须安装USB开关模式(默认安装在每个ubuntu中)

  1. 输入终端:

     sudo gedit /etc/usb_modeswitch.d/2001:a706 
  2. 将以下行复制到新打开的文件并保存:

     D-Link DWM-156 HSUPA 3.75G USB Modem TargetVendor=0x2001 TargetProduct=0x7d01 MessageContent="555342431234567800000000000003f0010100000000000000000000000000" 
  3. 输入终端:

     sudo usb_modeswitch -v 0x2001 -p 0xa706 -c /etc/usb_modeswitch.d/2001:a706 

    现在你的调制解调器必须通过你的Ubuntu的usb开关模式切换到调制解调器模式(通常需要10秒出现在NetworkManager中)

    现在你可以进行自动切换

  4. 输入终端:

     sudo gedit /lib/udev/rules.d/40-usb_modeswitch.rules 
  5. 将其中一个D-link的默认ID(供应商和产品)更改为文本编辑器中的ID并保存如下:

     D-Link DWM-156 HSUPA 3.75G USB Modem ATTRS{idVendor}=="0791", ATTRS{idProduct}=="a800", RUN+="usb_modeswitch '%b/%k'" 

    将上面的代码更改为以下代码:

     D-Link DWM-156 HSUPA 3.75G USB Modem ATTRS{idVendor}=="2001", ATTRS{idProduct}=="a706", RUN+="usb_modeswitch '%b/%k'" 

    注意:如果您的设备名称不在gedit列表中,请不要为您的设备创建任何新文件,它将无效,只需在列表中的任何设备名称中添加您的ID,任何名称实际上都可以使用,名称没关系,只需要默认ID。 现在保存并重新连接调制解调器,它将自动检测为调制解调器。 如果你想从终端看到它,请使用lsusb ,它将在重新连接之前和之后显示不同。 在弹出它之前看起来像2001:a706。 重新连接后,它看起来像2001:7d01,这是调制解调器模式。

    您可以在/usr/share/usb_modeswitch/configPack.tar.gz找到消息内容,并找到合适的名称。 如果没有正确的消息内容,则无法使用usb模式切换,有些可能不合适。 所以一般来说你做的是:

    1. 当您运行sudo gedit /etc/usb_modeswitch.d/2001:a706行时,您将向USB模式开关提供设备ID。

    2. 您可以通过在sudo gedit /lib/udev rules.d/40-usb_modeswitch.rules添加默认ID来自动运行它。

以上未提及的其他调制解调器

您必须安装USB开关模式(默认安装在Ubuntu中)。

  1. 打开终端并输入以下内容,将设备ID替换为默认供应商ID,默认产品ID,目标供应商ID,目标产品ID。

     sudo gedit /etc/usb_modeswitch.d/default vendor id : default product id 
  2. 复制以下行并保存:

     name of modem TargetVendor=0x???? TargetProduct=0x???? MessageContent="???????????????????????????????????????????????????????????" Type your id's & message content in the **????** above 
  3. 输入终端:

     sudo usb_modeswitch -v 0xdefault vendor id -p 0xdefault product id -c /etc/usb_modeswitch.d/defult vendor id:default product id 

    例如:

     sudo usb_modeswitch -v 0x2001 -p 0xa706 -c /etc/usb_modeswitch.d/2001:a706 

    现在,您的调制解调器必须使用USB开关模式切换到调制解调器模式(大约需要10秒才会出现在NetworkManager中)。 现在让它自动化。

  4. 输入终端:

     sudo gedit /lib/udev/rules.d/40-usb_modeswitch.rules 

    用您的调制解调器更改其中一个调制解调器的默认ID(供应商和产品)并保存。

     D-Link DWM-156 HSUPA 3.75G USB Modem ATTRS{idVendor}=="0791", ATTRS{idProduct}=="a800", RUN+="usb_modeswitch '%b/%k'" 

    将上面的内容更改为如下所示:

     D-Link DWM-156 HSUPA 3.75G USB Modem ATTRS{idVendor}=="your defult vendor id", ATTRS{idProduct}=="your default product id", RUN+="usb_modeswitch '%b/%k'" 

    如上所述,名称无关紧要,只需要默认ID,保存并现在重新连接调制解调器,它将自动检测为调制解调器。

如果运行lsusb命令,您将看到如下内容:

  ubuntu@ubuntu:~$ lsusb Bus 002 Device 019: ID 2001:a706 D-Link Corp. Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

2001年=供应商ID; a706 =产品ID。 默认供应商:在弹出驱动程序cd之前获得产品ID。 在这里,我用过 – 2001:a706

目标供应商:在弹出驱动程序cd(作为调制解调器模式)后获得的产品ID。 在这里,我使用2001:7d01

您还可以在/usr/share/usb_modeswitch/configPack.tar.gz找到消息内容,并通过匹配名称找到适合您的信息,有些可能不合适或在互联网上(困难)。

注意ID和消息内容对于不同的调制解调器是不同的。

所以基本上你在这里做了两件事:

  1. 通过在sudo gedit /etc/usb_modeswitch.d/添加设备ID来提供

  2. 您通过在usb模式开关的udev规则中添加默认ID来使其自动工作

请记住,D-link dwm 3.75G usb适配器的ID如下所示:

2001:a706(弹射前)2001:7d01(弹射后),

USB调制解调器从13.10开始支持USB模式开关1.2.3。 在14.04,这是2.1.1已经有一个更新的Id列表。 如果您遇到任何问题,请更新到最新的Ubuntu版本。