当前位置: 首页>>技术教程>>正文


3G USB 调制解调器在 12.04 中不工作

, ,

问题描述

当我用 12.04 将我的 3G USB 调制解调器连接到我的笔记本电脑时,Network-Manager 中没有任何显示。此调制解调器在 11.10 中工作,调制解调器在 Network-Manager 中显示,但在 12.04 中不显示!

这是 lsusbusb-devices 在两台机器上的输出,一台是 11.10,另一台是 12.04:

Ubuntu-11.10:

$ lsusb
    Bus 002 Device 009: ID 1c9e:6061  

$ usb-devices
    T:  Bus=02 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#=  9 Spd=12  MxCh= 0
    D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=1c9e ProdID=6061 Rev=00.00
    S:  Manufacturer=3G USB Modem        ￴￴
    S:  SerialNumber=000000000002
    C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

Ubuntu-12.04:

$ lsusb
    Bus 002 Device 003: ID 1c9e:6061 OMEGA TECHNOLOGY WL-72B 3.5G MODEM

$ usb-devices
    T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
    D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=1c9e ProdID=6061 Rev=00.00
    S:  Manufacturer=Qualcomm, Incorporated
    S:  Product=USB MMC Storage
    S:  SerialNumber=000000000002
    C:  #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
    I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)

如上述命令的输出所示,该设备在 11.10 中被检测为调制解调器,但在 12.04 中被检测为 USB 存储设备(该设备既是 3G 调制解调器又是 SD-card USB 适配器)。

有什么帮助吗?!

最佳思路

在不同论坛进行大量搜索和阅读后,我找到了解决问题的方法。请注意,虽然其他答案没有解决我的问题,但它们可能对其他面临 3G USB 调制解调器(特别是 sakis-3g 脚本)问题的人有所帮助。

我在 this thread 中找到了我的解决方案,我将在下面详细介绍:

连接我的 USB 调制解调器时,它被检测为 USB 存储器。根据该线程,运行 sudo modprobe option 可以使设备被检测为调制解调器。如果没有,也建议执行以下命令:

sudo su
echo 1c9e 6061 > /sys/bus/usb-serial/drivers/option1/new_id

其中 1c9e 6061 是从 lsusb 命令获得的设备 ID。这适用于我的设备,并在 Network-Manager 中检测到。请注意,您必须使用 sudo su 成为 root,使用 sudo 运行命令将不起作用。

为了使事情自动化,提出了以下步骤:

  1. sudo su

  2. nano /usr/bin/usbModemScript 并将以下内容放入文件中:

    \n

       #!/bin/bash\n   echo 1c9e 6061 > /sys/bus/usb-serial/drivers/option1/new_id\n

    \n

    然后保存文件 (Ctrl+O) 并退出 nano (Ctrl+X)。

  3. chmod +x /usr/bin/usbModemScript

  4. nano /etc/udev/rules.d/option.rules 并将以下内容放入文件中:

    \n

        ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", RUN+="/usr/bin/usbModemScript"\n    ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", RUN+="/sbin/modprobe option"\n

    \n

    然后保存文件 (Ctrl+O) 并退出 nano (Ctrl+X)。

  5. reboot

注意:您应该将值 1c9e6061 替换为您自己的调制解调器的相应设备 ID 值。

重新启动后,将调制解调器连接到计算机时应该会检测到它。当然,情况可能并非如此(因为它不适合我)!我的设备在第一次连接到计算机后未被正确检测到。相反,我不得不断开连接然后重新连接,这次它被正确检测为 Network-Manger 中的调制解调器。有些人可能还需要重新启动 network-manager 服务(就像我所做的那样):

sudo service network-manager restart

================================================ ==============================

另一个可能的解决方案是使用 wvdial

  1. 安装:sudo apt-get install wvdial

  2. 将调制解调器连接到计算机。

  3. 运行:sudo wvdialconf /etc/wvdial.conf。如果它说“没有找到调制解调器”,那么你就不走运了!

  4. 如果找到调制解调器,请运行:sudo nano /etc/wvdial.conf 并通过填写您知道的字段在需要的地方输入您的 ISP 信息。在单独的终端中运行 man wvdial.conf 以获取有关选项的信息。准备就绪后,保存文件 (Ctrl+O) 并退出 nano (Ctrl+X)。

  5. 现在尝试连接:sudo wvdial

有关 wvdial 的更多信息,请阅读手册页(即 man wvdial )。

希望这有助于 :)

次佳思路

我有华为 E156 HSDPA (3G) USB memory 棒,我做了以下操作,它也适用于我的三星 3g 手机,通过 USB 数据线。

sudo apt-get install wvdial

安装 wvdial 后,在终端中输入以下行以编辑 wvdial.conf

sudo gedit /etc/wvdial.conf

将以下行粘贴到您的编辑器中:

[Dialer name]
Modem Type = Analog Modem
Phone = *99#
ISDN = 0
Baud = 460800
Username = " "
Password = " "
Modem = /dev/ttyUSB0
Init1 = ATZ
Init2 = at+cgdcont=1,"ip","your Access Point Name"
Stupid Mode = 1

每当您需要连接时,只需在您的终端中输入

sudo wvdial name

现在您将以惊人的速度上网。我认为这种方法比其他方法耗时少且速度快。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13415.html,未经允许,请勿转载。