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

未检测到华为 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为:

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

答案1

从您的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-modeswitch有很多现成的配置文件柏油-archive。首先在档案中找到您设备的配置文件:

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 杂志 2017 年 9 月刊中详细报道了这个主题。)

答案2

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

  1. 配置
    lsusb终端中 的结果(对于我来说,我的华为的 pid 是12d1:15d2(例如,我的华为的 pid 是)参见这里

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

  3. 安装
    这里

答案3

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

修复如下:

  1. 提取模式切换配置:

    $ 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 被 asterisk 检测到

答案4

我使用了回答上面让 ModemManager 找到我的华为 E173 USB 加密狗。这正是我在 CentOS 8 中所做的:

# dnf install ModemManager (+enable the service, reboot)
# mmcli -L
No modems were found

# lsusb | grep Huawei
Bus 003 Device 003: ID 12d1:1446 Huawei Technologies Co., Ltd. HSPA modem

# dnf install usb_modeswitch
# usb_modeswitch -v 12d1 -p 1446 -c "/usr/share/usb_modeswitch/12d1:1446"

# lsusb | grep Huawei
Bus 003 Device 004: ID 12d1:1436 Huawei Technologies Co., Ltd. Broadband stick

# mmcli -L
/org/freedesktop/ModemManager1/Modem/0 [huawei] E173

相关内容