Как включить широкополосное соединение с Huawei E3372h на Ubuntu Server

Важное примечание: после ввода этого «вопроса» я провел некоторое тестирование и понял, что могу включить широкополосное соединение с более новой версией Ubuntu Server - 15.10. Процедура описана ниже. Во всяком случае, причина, по которой он не работает в 14.04.04LTS, мне неизвестна (возможно, функциональность не описана в его версии ядра)


У меня есть Huawei E3372H , который Я установил режим «модем», чтобы он не делал NAT и вел себя как модем. Работает с Ubuntu 15.10 (рабочий стол). Сетевой менеджер показывает возможность создания широкополосного соединения, и я просто заполняю APN «интернет», и все - после включения этого соединения оно работает отлично.

Но как подключить мой Ubuntu Server 14.04 к Интернету с помощью этого USB-накопителя, когда не установлен NetworkManager?

Вот некоторая основная информация о накопителе:

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

-> Использование приведенных выше команд приведет к работе мобильного широкополосный доступ по Ethernet-интерфейсу wwx001e101f0000.

К сожалению, на моем Ubuntu Server 14.04 с помощью команды dhclient -v wwan0 IP-адрес не предоставлен , хотя модем подключен к сети LTE (синий индикатор включен). Это очень странно.

Edit2: Я обнаружил, что проблема наиболее вероятна в версии ядра 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. Теперь я скачал 14.04.4 с сайта Ubuntu и после установки вижу, что у него ядро ​​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). Я обновляю сервер на регулярной основе, но, по некоторым причинам, linux-generci-lts-wily включен в загруженную версию 14.04.4, но отсутствует в моей версии 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 и с этим работает нормально.

2
задан 10 April 2016 в 10:14

1 ответ

После дальнейшего тестирования, я нашел, что у меня было версия 3.16 ядра на моем Сервере Ubuntu 14.04.4. С этой версией ядра Huawei E3372H не работал правильно в cdc_ncm режиме. Решение состоит в том, чтобы обновить ядро до 4,2. Затем соединение с Интернетом может быть сделано с этими простыми командами (предполагающий, что модем создал/dev/ttyUSB0, APN является "Интернетом"):

Эта команда подключит палку к LTE netowrk (Интернет является APN, таким образом, другие поставщики могут использовать другое имя APN):

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

Эта команда получит IP-адрес для интерфейса wwan0:

dhclient wwan0
0
ответ дан 10 April 2016 в 20:14
  • 1
    Каковы модели датчика и микроконтроллера, так, чтобы я мог проверить предназначаемую платформу (например, ARM)? – karel 19 August 2017 в 01:08

Другие вопросы по тегам:

Похожие вопросы: