未检测到华为usb 4G调制解调器

我的华为调制解调器有问题。 Ubuntu 16没有将其检测为移动宽带调制解调器。 我无法在网络连接中选择它。

$ lsusb 5266: executing lsusb Bus 001 Device 004: ID 1bcf:2b8d Sunplus Innovation Technology Inc. Bus 001 Device 003: ID 8087:0a2a Intel Corp. Bus 001 Device 002: ID 8087:8001 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 002: ID 0bc2:ab20 Seagate RSS LLC Backup Plus Portable Drive Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 003: ID 12d1:14fe Huawei Technologies Co., Ltd. Modem (Mass Storage Mode) Bus 002 Device 002: ID 047d:1042 Kensington Ci25m Notebook Optical Mouse [Diamond Eye Precision] Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 5266: executed $ 

你知道我能做什么吗?

我收到以下错误:

 $ sudo grep 12d1 /lib/udev/rules.d/40-usb_modeswitch.rules ATTRS{idVendor}=="12d1", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'" grep: ATTRS{idVendor}==12d1,: No such file or directory 

lsusb | grep Huawei的输出 lsusb | grep Huawei是:

 Bus 002 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard 

我有同样的问题,我已经解决了。 您需要为Ubuntu安装华为驱动程序。

  1. 组态
    结果lsusb在终端(对我来说,华为的pid是12d1:15d2 ,例如)见这里

  2. 下载驱动程序:
    华为数据卡Linux(点击下载文件)。 看到这里

  3. 安装
    看到这里

我尝试使用新的Ubuntu 16.04 UEFI并将我的BIOS更新到最新版本,现在它的工作方式就像即插即用。 我有一个太旧的安装,有太多的修复和更改,现在它只是工作。 谢谢!

在此处输入图像描述

从您的lsusb输出我想到您正在谈论由T-Mobile NL提供的华为E352 USB 3G / 4G调制解调器。 这很可能是Windows引发的问题。 Windows首先需要安装USB调制解调器驱动程序才能安装设备。 华为(以及其他公司)在其设备上安装了一些闪存存储器,而不是提供带有驱动程序和USB调制解调器的迷你CD。 因此,该设备最初将作为闪存存储器安装。 然后,在Windows计算机上,安装程序将安装调制解调器驱动程序,最后更改设备设置,以便下次将其识别为调制解调器。

对于Linux用户来说,这是令人困惑的,因为他们的系统也将首先识别闪存存储器,而不是调制解调器。 并且不需要闪存存储,因为Linux内核已经拥有所有必要的驱动程序。 我认为你不需要安装任何驱动程序。

你需要的是usb_modeswitch工具。 从Ubuntu存储库安装它:

 sudo apt-get install usb_modeswitch 

以root命令需要运行以下命令。 所以要特别注意你在做什么!

连接您的调制解调器并查找华为的供应商ID和产品ID:

 lsusb | grep Huawei 

你会发现你已经知道的东西:

 Bus 002 Device 003: ID 12d1:14fe Huawei Technologies Co., Ltd. Modem 

供应商ID为“12d1”,产品ID为“14fe”。 usb_modeswitchtar usb_modeswitch有很多现成的配置文件。 首先在存档中找到您设备的配置文件:

 grep 12d1 /lib/udev/rules.d/40-usb_modeswitch.rules ATTRS{idVendor}=="12d1", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'" 

然后从存档中提取配置文件:

 tar xf /usr/share/usb_modeswitch/configPack.tar.gz 12d1\:14fe 

提起来:

 cat 12d1\14fe 

它可能会说:

 # T-Mobile NL (Huawei E352) TargetVendor=0x12d1 TargetProductList="1506,150f,151d" HuaweiNewMode=1 

最后更改华为设备的设置:

 usb_modeswitch -v 12d1 -p 14fe -c 12d1\:14fe 

现在将分离闪存存储驱动程序并激活调制解调器驱动程序。 为了检查一切是否顺利,再次运行lsusb

 lsusb | grep Huawei 

如果一切顺利,您应该看到另一个产品ID。 一个微小的变化带来巨大的可用性后果……

在此之后,您可以像往常一样使用网络管理器设置3G / 4G互联网连接。 确保关闭WiFi,因为WiFi和GSM不会互相运行。

如果要跟踪数据使用情况,请安装vnstat软件包。 它是基于文本的,但提供所有信息。 您可能更喜欢GUI,还可以添加vnstati包。

(非常感谢Filip Vervloesem在荷兰Linux杂志09/2017期刊中详细介绍了这个主题。)

升级到Debian Stretch(9.0)后我遇到了同样的问题。

固定它像:

  1. extract modeswitch配置:

     $ sudo tar xf /usr/share/usb_modeswitch/configPack.tar.gz 12d1\:14fe -C /usr/share/usb_modeswitch/ 
  2. 添加行到文件/lib/udev/rules.d/40-usb_modeswitch.rules:

     ATTR{idVendor}=="12d1", ATTR{idProduct}=="14fe", RUN+="usb_modeswitch '/%k'" 
  3. 并提交/lib/udev/rules.d/77-mm-usb-device-blacklist.rules:

     ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1506", ENV{ID_MM_DEVICE_IGNORE}="1" 
  4. 由星号检测到重启和dongle0