华为调制解调器不适用于16.04

Ubuntu 16.04无法识别我的Huawei 15ca USB调制解调器。

我怎样才能解决这个问题?

这个命令对我有用。 我只需要执行一次。

 lsusb 

记下供应商和产品ID。 在我的情况下,它分别是12d11f01

 Bus 002 Device 003: ID 05c8:038f Cheng Uei Precision Industry Co., Ltd (Foxlink) Bus 002 Device 002: ID 0438:7900 Advanced Micro Devices, Inc. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 004: ID 0bda:b008 Realtek Semiconductor Corp. Bus 001 Device 003: ID 12d1:14db Huawei Technologies Co., Ltd. E353/E3131 Bus 001 Device 002: ID 0438:7900 Advanced Micro Devices, Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

然后执行一次。

 sudo usb_modeswitch -v 12d1 -p 1f01 -J 

有关如何解决此问题的说明与14.04略有不同。

可能不需要其中一个步骤,但这是我如何使用它:

 vi /lib/udev/rules.d/40-usb_modeswitch.rules 

并添加此行:

 ATTR{idVendor}=="12d1", ATTR{idProduct}=="15ca", RUN+="usb_modeswitch '%b/%k'" 

然后:

 sudo touch /etc/usb_modeswitch.d/12d1:15ca 

运行此命令:

 sudo usb_modeswitch -J -v 0x12d1 -p 0x15ca 

现在您应该在可用的网络连接下看到它,并且在lsusb下它显示的是不同的产品编号:

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

您可能需要重新启动或删除并重新插入调制解调器几次才能使其正常工作。 还记得将其添加到编辑连接/添加移动宽带连接。

我今天遇到了这个问题。 我有两台装有Ubuntu 16.04的电脑, 12d7:1505调制解调器运行良好。

我买了另一个,如果没有它,它就无法运行

 sudo usb_modeswitch -v 12d1 -p 1506 -J 

命令。

我用另一个udev规则修复它。

添加/etc/udev/rules.d/huawei.rules文件包含以下内容:

 ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1505", RUN+="/usr/sbin/usb_modeswitch -v 12d1 -p 1506 -J" 

然后重新启动,或运行sudo udevadm control -R并插入调制解调器。 您需要等待大约30秒才能启动调制解调器,然后您可以使用它。

这些解决方案都不适用于我的16.04。 (udev规则在14.04完美运行)。

我的意思是,有时这确实有效,但很少。 我测试了这些手动命令

 usb_modeswitch -v 12d1 -p 15ca -V 12d1 -P 1506 -M "55534243123456780000000000000011062000000100000000000000000000" 

 /usr/sbin/usb_modeswitch -J -v 0x12d1 -p 0x15ca 

他们确实工作,但不是每一次,即使是手工输入。 在超过一半的情况下,该设备仍被列为“大容量存储”。

🙁

因此我不得不使用一个非常脏的解决方案:我将后者添加到root的crontab中,每10秒运行一次。 我知道这很荒谬,但在这种情况下,我想不出更好的事情。 如果设备被列为大容量存储器,该命令将起作用(如果它已经变成了调制解调器,它只是退出并显示消息“找不到默认模式的设备。无所事事。再见!”因此它不会干扰正常工作调制解调

这是愚蠢的,但如果有人想使用它,这里是我的crontab条目:

 * * * * * /usr/sbin/usb_modeswitch -J -v 0x12d1 -p 0x15ca > /dev/null 2>&1 * * * * * sleep 10; /usr/sbin/usb_modeswitch -J -v 0x12d1 -p 0x15ca > /dev/null 2>&1 * * * * * sleep 20; /usr/sbin/usb_modeswitch -J -v 0x12d1 -p 0x15ca > /dev/null 2>&1 * * * * * sleep 30; /usr/sbin/usb_modeswitch -J -v 0x12d1 -p 0x15ca > /dev/null 2>&1 * * * * * sleep 40; /usr/sbin/usb_modeswitch -J -v 0x12d1 -p 0x15ca > /dev/null 2>&1 * * * * * sleep 50; /usr/sbin/usb_modeswitch -J -v 0x12d1 -p 0x15ca > /dev/null 2>&1 

设备在10或20秒后开始工作(如果命令必须运行两次 – 这是大多数情况)。

我还将此添加到我的/ etc / fstab中,以防止在插入后立即尝试安装usb海量存储。 这可以防止在插入CD时通常显示的“打开文件”窗口。

 /dev/sr0 on /media/username/PLAY\ ONLINE iso9660 noauto 

(您必须根据mount命令在安装设备后显示的内容调整安装位置 – 我的安装在PLAY ONLINE文件夹中,这是我的移动提供商的名称)。

你想自动化吗? 如果你插入调制解调器,你没有再次设置。

第一

 sudo nano /etc/usb_modeswitch.conf 

复制此代码

# HUAWEI E3131 DefaultVendor=0x12d1 DefaultProduct=0x15ca TargetVendor=0x12d1 TargetProduct=0x1506 MessageContent="55534243123456780000000000000a11062000000000000100000000000000"

保存,并在终端上执行此操作

sudo usb_modeswitch -c /etc/usb_modeswitch.conf

并等待一分钟,如果你检测到调制解调器,你可以使用连接到互联网,这个设置是有效的。