3G USB Modem在12.04版本中无法使用。

当我将我的3G USB Modem连接到我的12.04笔记本电脑上时,Network-Manager中没有显示任何内容。这个调制解调器在11.10中是工作的,并且在Network-Manager中显示,但在12.04中却没有显示!!
以下是两台机器的lsusb和usb-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卡的USB适配器)。
需要帮助吗?!

模块是什么,它是如何连接的? - Cry Havok
请问具体是什么问题?如果你希望别人能够理解你的问题,你需要提供更多的信息。 - Stefano Palazzo
5您是否在“系统->偏好设置->网络连接->移动宽带”下尝试创建新连接时,识别到了该设备? - Bobby
我总是把移动宽带插入USB端口,然后等待看是否有什么反应。但是什么都没有发生。我是新手,如果你对我的问题不太理解,我向你道歉。 - ok comp
我也尝试了sakis3G,但是什么都没有发生。 - ok comp
把棒子插进去,然后查看dmesg的输出 - 请在你的问题中包含相关行。 - Cry Havok
@ok comp:没问题,你是新来的,这没关系...但是你试过我的建议了吗? - Bobby
1@ok comp你的3G设备是什么品牌和型号?你使用的是哪家ISP/电信提供商? - Nick HS
10个回答

在不同的论坛上进行了大量搜索和阅读后,我找到了解决我的问题的方法。请注意,虽然其他答案没有解决我的问题,但它们可能对其他遇到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并将以下内容放入文件中:

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

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

  3. chmod +x /usr/bin/usbModemScript

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

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

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

  5. reboot
注意:您应该将值1c9e和6061替换为您自己调制解调器的适当设备ID值。
重新启动后,连接调制解调器到计算机时应该会检测到它。当然,这可能不是一直情况(对我来说就不是)!第一次将设备连接到计算机后,它没有被正确地检测到。相反,我必须断开连接,然后重新连接,这次它被正确地检测为网络管理器中的调制解调器。有些人可能还需要重新启动网络管理器服务(就像我一样)。
sudo service network-manager restart

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

另一个潜在的解决方案是使用wvdial。
安装:sudo apt-get install wvdial
将您的调制解调器连接到计算机。
运行:sudo wvdialconf /etc/wvdial.conf。如果显示“未找到调制解调器”,那就没办法了!
如果找到调制解调器,运行:sudo nano /etc/wvdial.conf,并根据需要填写您所知道的ISP信息。在单独的终端中运行man wvdial.conf以获取有关选项的信息。准备好后,保存文件(Ctrl+O)并退出nano(Ctrl+X)。
现在尝试连接:sudo wvdial
有关wvdial的更多信息,请阅读手册页(即man wvdial)。
希望这对您有所帮助 :)

嗨,option1是什么? - Sandeep

我有华为E156 HSDPA(3G)USB插头,我做了以下操作,也成功地连接了我的三星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

现在您将以极快的速度上网。我认为这种方法比其他方法更省时且更快。

尝试
sudo modprobe usbserial vendor=0x1c9e product=0x6061

等一下,这对我总是有效的。

这个命令执行后应该发生什么?它会在Network-Manager中显示出来吗? - Seyed Mohammad
是的,我希望如此。 - Rahul Virpara
modprobe - program to add and remove modules from the Linux Kernel - Rahul Virpara
很遗憾,这个命令并没有解决问题,我的网络管理器中仍然没有移动宽带连接。无论如何,还是谢谢你的帮助。 - Seyed Mohammad
@SeyedMohammad 通常情况下,当连接了调制解调器时,这个命令也不起作用。1. 拔掉插入的设备。2. 在此处运行该命令(产品应为目标)。3. 插入调制解调器。 - d a i s y


我以为UsbModeSwitch是现代Linux发行版上预装的模块!不过无论如何,我找到了另一种切换设备类型的方法,我将在答案中详细解释。 - Seyed Mohammad

你安装了usb-modeswitch吗?Ubuntu 10.10应该已经随之安装了。试着用Synaptics检查一下是否安装了usb-modeswitch。一旦安装完成,插入你的USB调制解调器并等待。在连接图标处会有一个选项,上面写着创建新的移动宽带。然后按照窗口中的步骤进行操作。我正在使用Ubuntu 10.10和USB调制解调器,运行得很好。=)

已经安装好了。但是一旦我插上调制解调器,仍然没有任何反应。顺便说一下,自从我使用Lucid以来,我就一直遇到这个问题。 - ok comp
你的USB调制解调器型号是什么? - Wilsonzaizai


我曾经用过华为的usb-modeswitch,但它仍然无法工作,因为什么都没有发生,甚至我的移动宽带调制解调器也没有被检测到。只有我的宽带指示灯一直在闪烁。 - ok comp
我也已经下载了以下链接:http://scripts.linux.dk/joomla/index.php/mobilt-bredb%C3%A5nd/mobiltbredbans.html,但结果仍然相同。 - ok comp
现在我正在使用中国制造的CSL U2-TF调制解调器,这是我从我哥哥那里借来的。但结果还是一样,我的Ubuntu系统无法检测到它。 - ok comp

安装usb-modeswitch并使用wvdial或gnome-ppp连接到互联网。如果您的调制解调器被检测到,您还可以使用网络管理器进行连接。usb-modeswitch是关键。
如果您的调制解调器有自定义驱动程序可用,请安装它们。


不,我还没有尝试过那个脚本。我希望能有一个标准的解决方案来解决这个问题,特别是因为这个设备在之前的Ubuntu版本(即11.10)上运行良好。 - Seyed Mohammad

只需使用备用连接,完全更新Ubuntu。然后再次使用您的3G Dongel进行连接。
这样就可以正常工作了!

我总是保持我的Ubuntu安装最新(每天更新),但不幸的是,这并没有让我的调制解调器在网络管理器中显示出来。 - Seyed Mohammad
但这对我有效,试试使用Wv Dial。 - BigSack

我有一个想法,就是在Ubuntu 10.04、11.04等版本中使用Net Setter。
连接并在网络管理器中添加一个移动宽带连接。如需有关网络管理器的帮助,请点击这里