如何在 Ubuntu Server 上启用华为 E3372h 的宽带连接

如何在 Ubuntu Server 上启用华为 E3372h 的宽带连接

重要的提示:输入这个“问题”后,我做了一些测试,发现我能够使用较新版本的 Ubuntu Server - 15.10 启用宽带连接。步骤如下所述。无论如何,我不知道它在 14.04.04LTS 中不起作用的原因(也许该功能未包含在其内核版本中)


我有华为 E3372H我将其设置为“调制解调器”模式,这样它就不会进行 NAT 并充当调制解调器。它适用于 Ubuntu 15.10(桌面版)。网络管理器显示可以创建宽带连接,我只需填写 APN“互联网”即可 - 启用此连接后,它就可以完美运行。

但是,当没有安装 NetworkManager 时,如何使用此 USB 记忆棒将我的 Ubuntu Server 14.04 连接到互联网?

以下是有关该棍棒的一些基本信息:

lsusb 显示为:

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

一旦将记忆棒连接到我的 Ubuntu 台式电脑,就会创建此界面:

wwx001e101f0000 Link encap:Ethernet  HWaddr 00:1e:10:1f:00:00  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

我尝试按照这个(https://johnlewis.ie/mobile-broadband-from-the-command-line-in-ubuntu/) 程序,但不幸的是我没有成功:

Apr  9 16:32:32 test_server pppd[20296]: pppd 2.4.5 started by jim, uid 0
Apr  9 16:32:33 test_server chat[20298]: abort on (BUSY)
Apr  9 16:32:33 test_server chat[20298]: abort on (VOICE)
Apr  9 16:32:33 test_server chat[20298]: abort on (NO CARRIER)
Apr  9 16:32:33 test_server chat[20298]: abort on (NO DIALTONE)
Apr  9 16:32:33 test_server chat[20298]: abort on (NO DIAL TONE)
Apr  9 16:32:33 test_server chat[20298]: send (ATZ^M)
Apr  9 16:32:33 test_server chat[20298]: expect (OK)
Apr  9 16:32:33 test_server chat[20298]: ^M
Apr  9 16:32:33 test_server chat[20298]: OK
Apr  9 16:32:33 test_server chat[20298]:  -- got it
Apr  9 16:32:33 test_server chat[20298]: send (AT+CGDCONT=1,"IP","internet"^M)
Apr  9 16:32:34 test_server chat[20298]: expect (OK)
Apr  9 16:32:34 test_server chat[20298]: ^M
Apr  9 16:32:34 test_server chat[20298]: ^M
Apr  9 16:32:34 test_server chat[20298]: OK
Apr  9 16:32:34 test_server chat[20298]:  -- got it
Apr  9 16:32:34 test_server chat[20298]: send (ATDT*99#^M)
Apr  9 16:32:34 test_server chat[20298]: expect (CONNECT)
Apr  9 16:32:34 test_server chat[20298]: ^M
Apr  9 16:32:34 test_server chat[20298]: ^M
Apr  9 16:32:34 test_server chat[20298]: CONNECT
Apr  9 16:32:34 test_server chat[20298]:  -- got it
Apr  9 16:32:34 test_server chat[20298]: send (^M)
Apr  9 16:32:34 test_server pppd[20296]: Script /usr/sbin/chat -v -f /etc/chatscripts/pap -T *99# finished (pid 20297), status = 0x0
Apr  9 16:32:34 test_server pppd[20296]: Serial connection established.
Apr  9 16:32:34 test_server pppd[20296]: using channel 10
Apr  9 16:32:34 test_server pppd[20296]: Using interface ppp0
Apr  9 16:32:34 test_server pppd[20296]: Connect: ppp0 <--> /dev/ttyUSB0
Apr  9 16:32:35 test_server pppd[20296]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xce74b2a1> <pcomp> <accomp>]
Apr  9 16:33:02 test_server pppd[20296]: message repeated 9 times: [ sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xce74b2a1> <pcomp> <accomp>]]
Apr  9 16:33:05 test_server pppd[20296]: LCP: timeout sending Config-Requests
Apr  9 16:33:05 test_server pppd[20296]: Connection terminated.
Apr  9 16:33:06 test_server pppd[20296]: Modem hangup

编辑: 我发现了工作流程,但不幸的是它只在我的 Ubuntu 15.10 桌面上运行

echo -e "AT^NDISDUP=1,1,\"internet\"\r" > /dev/ttyUSB0
dhclient -v wwx001e101f0000

--> 使用上述命令将在 wwx001e101f0000 以太网接口上启动有效的移动宽带。

不幸的是,在我的 Ubuntu Server 14.04 上通过命令dhclient -v wwan0 未提供 IP 地址尽管调制解调器已连接到 LTE 网络(蓝灯亮起)。这很奇怪。

编辑2: 我发现问题最有可能出在 Ubuntu 14.04 内核版本中。我做了一个测试 - 安装了新的“测试”Ubuntu Server 14.04 只是为了这个测试 - 其行为与我的“生产”Ubuntu Server 14.04 完全相同 - 使用 无法获取 IP dhclient wwan0

然后我安装了新的“测试”Ubuntu Server 15.10,在这个安装中它运行完美。因此我假设出于某种原因这个ncm接口无法正常工作。我注意到两台服务器之间存在以下差异:

Ubuntu 14.04 Dmesg:

Apr  9 19:32:13 ubuntu kernel: [27410.720039] usb 1-4: new high-speed USB device number 18 using ehci-pci
Apr  9 19:32:13 ubuntu kernel: [27410.861148] usb 1-4: New USB device found, idVendor=12d1, idProduct=1506
Apr  9 19:32:13 ubuntu kernel: [27410.861154] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr  9 19:32:13 ubuntu kernel: [27410.861159] usb 1-4: Product: HUAWEI_MOBILE
Apr  9 19:32:13 ubuntu kernel: [27410.861163] usb 1-4: Manufacturer: HUAWEI_MOBILE
Apr  9 19:32:13 ubuntu kernel: [27410.898395] option 1-4:1.0: GSM modem (1-port) converter detected
Apr  9 19:32:13 ubuntu kernel: [27410.898552] usb 1-4: GSM modem (1-port) converter now attached to ttyUSB0
Apr  9 19:32:13 ubuntu kernel: [27410.943023] huawei_cdc_ncm 1-4:1.1: MAC-Address: 00:1e:10:1f:00:00
Apr  9 19:32:13 ubuntu kernel: [27410.943029] huawei_cdc_ncm 1-4:1.1: setting rx_max = 16384
Apr  9 19:32:13 ubuntu kernel: [27410.968250] huawei_cdc_ncm 1-4:1.1: cdc-wdm0: USB WDM device
Apr  9 19:32:13 ubuntu kernel: [27410.968657] huawei_cdc_ncm 1-4:1.1 wwan0: register 'huawei_cdc_ncm' at usb-0000:00:1a.7-4, Huawei CDC 
NCM device, 00:1e:10:1f:00:00

Ubuntu 15.10 Dmesg:

Apr  9 22:29:20 ubuntu kernel: [   64.269728] usb 2-1.2: new high-speed USB device number 7 using ehci-pci
Apr  9 22:29:20 ubuntu kernel: [   64.367373] usb 2-1.2: New USB device found, idVendor=12d1, idProduct=1506
Apr  9 22:29:20 ubuntu kernel: [   64.367379] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr  9 22:29:20 ubuntu kernel: [   64.367382] usb 2-1.2: Product: HUAWEI_MOBILE
Apr  9 22:29:20 ubuntu kernel: [   64.367384] usb 2-1.2: Manufacturer: HUAWEI_MOBILE
Apr  9 22:29:21 ubuntu kernel: [   64.459900] usbcore: registered new interface driver usbserial
Apr  9 22:29:21 ubuntu kernel: [   64.459910] usbcore: registered new interface driver usbserial_generic
Apr  9 22:29:21 ubuntu kernel: [   64.459918] usbserial: USB Serial support registered for generic
Apr  9 22:29:21 ubuntu kernel: [   64.507601] usbcore: registered new interface driver option
Apr  9 22:29:21 ubuntu kernel: [   64.507614] usbserial: USB Serial support registered for GSM modem (1-port)
Apr  9 22:29:21 ubuntu kernel: [   64.507691] option 2-1.2:1.0: GSM modem (1-port) converter detected
Apr  9 22:29:21 ubuntu kernel: [   64.507963] usb 2-1.2: GSM modem (1-port) converter now attached to ttyUSB0
Apr  9 22:29:21 ubuntu kernel: [   64.535895] usbcore: registered new interface driver cdc_ncm
Apr  9 22:29:21 ubuntu kernel: [   64.542625] usbcore: registered new interface driver cdc_wdm
Apr  9 22:29:21 ubuntu kernel: [   64.579935] huawei_cdc_ncm 2-1.2:1.1: MAC-Address: 00:1e:10:1f:00:00
Apr  9 22:29:21 ubuntu kernel: [   64.579940] huawei_cdc_ncm 2-1.2:1.1: setting rx_max = 16384
Apr  9 22:29:21 ubuntu kernel: [   64.587318] huawei_cdc_ncm 2-1.2:1.1: NDP will be placed at end of frame for this device.
Apr  9 22:29:21 ubuntu kernel: [   64.587427] huawei_cdc_ncm 2-1.2:1.1: cdc-wdm1: USB WDM device
Apr  9 22:29:21 ubuntu kernel: [   64.587579] huawei_cdc_ncm 2-1.2:1.1 wwan0: register 'huawei_cdc_ncm' at usb-0000:00:1d.0-1.2, Huawei CDC NC
M device, 00:1e:10:1f:00:00

因此,在 Ubuntu 15.10 中记录了额外的“usbcore”和“usbserial”条目,并且 eth 接口 wwan0 被重命名为 wwx001e101f0000。我将尝试将我的 Ubuntu 14.04 的内核升级到更高版本,并检查它是否可以在那里工作。

重要的提示: 在进行测试时,我安装了 Ubuntu Server 14.04.2 iso 映像。这个映像的内核版本较旧,为 3.x。现在我从 Ubuntu 网站下载了 14.04.4,安装后,我发现内核为 4.2。有趣的是,在我的“生产”服务器上,Ubuntu Server 版本为 14.04.4,但内核为 3.16:。Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.16.0-53-generic x86_64)我定期更新服务器,但不知为何,下载的 14.04.4 中包含 linux-generci-lts-wily,而我已多次更新的 14.04.4 中却没有。

全新安装14.04.4:

$ sudo dpkg -l linux-generic-lts-*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                          Version             Architecture        Description
+++-=============================-===================-===================-================================================================
ii  linux-generic-lts-wily        4.2.0.27.21         amd64               Complete Generic Linux kernel and headers

所以apt-get install linux-generic-lts-wily 解决了这个问题在我的 Ubuntu 服务器上 - 它安装了 4.2 内核,并且可以正常运行。

答案1

经过进一步测试,我发现我的 Ubuntu Server 14.04.4 上的内核版本是 3.16。使用此内核版本,华为 E3372H 在 cdc_ncm 模式下无法正常工作。解决方案是将内核升级到 4.2。然后可以使用这些简单的命令连接到互联网(假设调制解调器创建了 /dev/ttyUSB0,APN 为“internet”):

此命令将把棒连接到 LTE 网络(互联网是一个 APN,因此其他提供商可以使用不同的 APN 名称):

echo -e "AT^NDISDUP=1,1,\"internet\"\r" > /dev/ttyUSB0

此命令将获取 wwan0 接口的 IP 地址:

dhclient wwan0

相关内容