Важное примечание: после ввода этого «вопроса» я провел некоторое тестирование и понял, что могу включить широкополосное соединение с более новой версией 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 и с этим работает нормально.
После дальнейшего тестирования, я нашел, что у меня было версия 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