Содержание
How to use lte modem in qmi mode for wan connection
More recent Modem default CDC_MBIM OR QMI MODE, This is example for the E20 R2.1, EM05, EM06, EM12, EM20, RM500Q and RM510Q modules
YOU CAN USE AT QCFG=“usbnet” to CHECK USB Driver
If you want to change the USB MODE, you can set the usbnet value
AT QCFG=“usbnet”,0 GobiNet or QMI_WWAN
AT QCFG=“usbnet”,2 CDC_MBIM
Than reset the power
Install the package luci-proto-qmi using Luci (System → Software) and configure the modem using LuCi (Network → Interfaces).
You can configure UCI manually using uci command line or text editor.
UCI is supporting qmi network protocol configuration.
The package uqmi must be installed to use QMI protocol.
Name | Type | Required | Default | Description |
---|---|---|---|---|
device | file path | yes | (none) | QMI device node, typically /dev/cdc-wdm0 |
apn | string | yes | (none) | Used APN |
auth | string | no | (none) | Authentication type: pap, chap, both, none |
username | string | no | (none) | Username for PAP/CHAP authentication |
password | string | no | (none) | Password for PAP/CHAP authentication |
pincode | number | no | (none) | PIN code to unlock SIM card |
delay | number | no | 0 | Seconds to wait before trying to interact with the modem (some ZTE modems require up to 30 s.) |
modes | string | no | (modem default) | Allowed network modes, comma separated list of: all, lte, umts, gsm, cdma, td-scdma |
pdptype | string | no | IP | Used IP-stack mode, IP (for IPv4), IPV6 (for IPv6) or IPV4V6 (for dual-stack) |
profile | number | no | (none) | Connection profile to use |
dhcp | boolean | no | 1 | Whether to use dhcp (default) or uqmi () to get IPv4 interface configuration |
dhcpv6 | boolean | no | 0 | Whether to use dhcp (1) or uqmi (default) to get IPv6 interface configuration |
autoconnect | boolean | no | 1 | |
plmn | number | no | (none) | First three digits are the mcc (mobile country code) and the last three digits are the mnc (mobile network code), for example if plmn=338020, then the mcc is 338 and the mnc is 020 |
timeout | number | no | 10 | Timeout (in seconds) to wait for SIM operations |
Here is a brief help about uqmi command line usage.
No device given Usage: uqmi <options|actions> Options: --single, -s: Print output as a single line (for scripts) --device=NAME, -d NAME: Set device name to NAME (required) --keep-client-id <name>: Keep Client ID for service <name> --release-client-id <name>: Release Client ID after exiting --mbim, -m NAME is an MBIM device with EXT_QMUX support --timeout, -t response timeout in msecs Services: dms, nas, pds, wds, wms Actions: --get-versions: Get service versions --set-client-id <name>,<id>: Set Client ID for service <name> to <id> (implies --keep-client-id) --get-client-id <name>: Connect and get Client ID for service <name> (implies --keep-client-id) --sync: Release all Client IDs --start-network: Start network connection (use with options below) --apn <apn>: Use APN --auth-type pap|chap|both|none: Use network authentication type --username <name>: Use network username --password <password>: Use network password --ip-family <family>: Use ip-family for the connection (ipv4, ipv6, unspecified) --autoconnect: Enable automatic connect/reconnect --profile <index>: Use connection profile --stop-network <pdh>: Stop network connection (use with option below) --autoconnect: Disable automatic connect/reconnect --get-data-status: Get current data access status --set-ip-family <val>: Set ip-family (ipv4, ipv6, unspecified) --set-autoconnect <val>: Set automatic connect/reconnect (disabled, enabled, paused) --get-current-settings: Get current connection settings --get-capabilities: List device capabilities --get-pin-status: Get PIN verification status --verify-pin1 <pin>: Verify PIN1 --verify-pin2 <pin>: Verify PIN2 --set-pin1-protection <state>: Set PIN1 protection state (disabled, enabled) --pin <pin>: PIN1 needed to change state --set-pin2-protection <state>: Set PIN2 protection state (disabled, enabled) --pin <pin2>: PIN2 needed to change state --change-pin1: Change PIN1 --pin <old pin>: Current PIN1 --new-pin <new pin>: New pin --change-pin2: Change PIN2 --pin <old pin>: Current PIN2 --new-pin <new pin>: New pin --unblock-pin1: Unblock PIN1 --puk <puk>: PUK needed to unblock --new-pin <new pin>: New pin --unblock-pin2: Unblock PIN2 --puk <puk>: PUK needed to unblock --new-pin <new pin>: New pin --get-iccid: Get the ICCID --get-imsi: Get International Mobile Subscriber ID --get-imei: Get International Mobile Equipment ID --get-msisdn: Get the MSISDN (telephone number) --reset-dms: Reset the DMS service --set-device-operating-mode <m> Set the device operating mode (modes: online, low_power, factory_test, offline reset, shutting_down, persistent_low_power, mode_only_low_power) --fcc-auth: Set FCC authentication --uim-verify-pin1 <pin>: Verify PIN1 (new devices) --uim-verify-pin2 <pin>: Verify PIN2 (new devices) --set-network-modes <modes>: Set usable network modes (Syntax: <mode1>[,<mode2>,...]) Available modes: all, lte, umts, gsm, cdma, td-scdma --set-network-preference <mode>: Set preferred network mode to <mode> Available modes: auto, gsm, wcdma --set-network-roaming <mode>: Set roaming preference: Available modes: any, off, only --network-scan: Initiate network scan --network-register: Initiate network register --set-plmn: Register at specified network --mcc <mcc>: Mobile Country Code (0 - auto) --mnc <mnc>: Mobile Network Code --get-plmn: Get preferred network selection info --get-signal-info: Get signal strength info --get-serving-system: Get serving system info --list-messages: List SMS messages --delete-message <id>: Delete SMS message at index <id> --get-message <id>: Get SMS message at index <id> --get-raw-message <id>: Get SMS raw message contents at index <id> --send-message <data>: Send SMS message (use options below) --send-message-smsc <nr>: SMSC number --send-message-target <nr>: Destination number (required) --send-message-flash: Send as Flash SMS --wda-set-data-format <type>: Set data format (type: 802.3|raw-ip) --wda-get-data-format: Get data format
Based on: This Article
Sdparm method
Этот метод использует sdparm
, чтобы подать SCSI команду отмонтировать диск который эмулирует CDROM. Этого достаточно, что поставить некоторые модемы в рабочий режим. Это проверено автором оригинала (см Англ. вариант статьи) на Ovation MC935D
.
Прежде чем начать, было бы полезно узнать VID и PID устройства:
# cat /proc/bus/usb/devices ... P: Vendor=1410 ProdID=5020 Rev= 0.00 S: Manufacturer=Novatel Wireless, Inc. ...
(Или установите пакет usbutils и запустите команду lsusb.)
Первое, Находим адрес устройства, в данном примере sg0
, и выполняем команду:
sdparm <span class="re5">--eject</span><span class="sy0">/</span>dev<span class="sy0">/</span>sg0
Затем проверьте, изменились ли PID и VID вашего устройства:
# cat /proc/bus/usb/devices ... P: Vendor=1410 ProdID=7001 Rev= 0.00 S: Manufacturer=Novatel Wireless, Inc. S: Product=Qualcomm Configuration ... I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) ...
Показанная конфигурация заменяет “интерфейс” WAN, поэтому нет необходимости редактировать настройки firewall и пр. Заметьте, что если вы хотите оставить штатный интерфейс WAN, то Вам придётся обозначить новый как WAN2 (или как-то иначе, чтобы Вам было понятно) и сделать соответствующие изменения в брандмауэре.
Редактируем ‘/etc/config/network‘ файл: (смотрите сети 3G для получения более подробной информации)
config interface wan option ifname ppp0 option pincode <span class="nu0">1234</span> option device <span class="sy0">/</span>dev<span class="sy0">/</span>ttyUSB0 option apn your.apn option service umts option proto 3g
Заменяем ‘pincode’ на корректный пинкод SIM-карты. Замечание! Если на СИМ-карте отключена проверка пинкода, то могут возникнуть проблеммы, обязательно активируйте проверку пинкода СИМ-карты.
Если вы подключаетесь через телефон, то необходимости проверять пин код нет, так как он был проверен при включении телфона
Замените ‘device’ на правильный USB port вашего модема. на телфонах скорей всего будет /dev/ttyACM0.
Замените ‘apn’ на корректный APN вашего 3g/umts провайдера.
Все операторы России требует авторизации пользователя, поэтому добавляем еще 2 строчки
option username yourusername option password yourpassword
заменяем ‘username’ и ‘password’ на правильный. Если у вас нет информации (apn, username и password) Вам прямая дорога в mobile-broadband-provider-info database .
For some providers, apperently it is neccessary to add ‘noipdefault’ to ‘pppd_options’. If logread shows that the connection was established and CHAP authentication was successful, but the connection was immediately dropped after, then try:
option <span class="st_h">'pppd_options'</span><span class="st_h">'noipdefault'</span>
If your provider supports PAP authentication only then you need to disable all other protocols via these added options:
option <span class="st_h">'pppd_options'</span><span class="st_h">'noipdefault refuse-chap refuse-mschap refuse-mschap-v2 refuse-eap'</span>
Поздравляю!!! Вы настроили сетевой интерфейс.
Для поиска неисправностей и поиска лучшего положения модема вы можете использовать
gcom info -d /dev/ttyUSBx
из консоли. Эта команда показывает не только уровень сигнала, но и регистрацию в сети и сим статус
Если команда возвращает ошибку port-in-use значит соединение поднято, попробуйте
gcom -d /dev/ttyUSBx
где x
номер порта вашего модема.
gcom
returns the signal quality in RSSI (Received signal strength indication) and in BER (Bit error rate, reported in percent). A higher RSSI value represents a stronger signal – scale is from 0 to 99, where 1 is the lowest detectable signal and 31 a very good signal. Don’t expect your signal to go all the way up to 99, though. If BER returns 99 it means not known or not detectable.
You can also add the AT command
"" "AT CSQ"
to your chat script to check signal quality.
Command return is “ CSQ: ,” and looks like this in logread
:
send (AT CSQ^M) expect (OK) ^M AT CSQ^M^M CSQ: 11,99^M ^M OK -- got it
If you have problems establishing a connection and multiple modem devices (/dev/ttyUSB0
, /dev/ttyUSB1
, …) are present, try all of them. Some may not work at all while others seem to work at first, but will give a NO CARRIER
during the connection process.
If you want to build an own firmware containing support for a UMTS Modem, maybe this BuildHowTo will help you: Wireless router with a 3G dongle and multiwan for failover on Wired, Wireless client (routed) and 3G
Дополнительные установки
Чтобы было удобно применять настройки русским пользователям OpenWRT, можно произвести локализацию. Нужно выбрать инструмент Software через раздел System и кликнуть на Update lists. В разделе Available Packages необходимо найти пакет с русскоязычной версией, который называется Luci-i18n-russian – его нужно установить. После успешной загрузки пакета перейти в System два раза и во вкладке языка выбрать русский.
Обратите внимание! Случается, такое, что приходится сбрасывать настройки маршрутизатора на OpenWRT путем выполнения командной строки: rm -rf /overlay/*. Данные команды осуществляют форматирование виртуального образа, который представлен в двух частях.
Как установить и настроить openwrt на модеме для мобильного интернета
Данная статья идеально подойдет для тех пользователей, которые столкнулись с проблемой при подключении роутера на OpenWRT 4g к модему. Речь пойдет не только о настройке модема 3g, lte версии также включены в эту статью.
Настройка openwrt с модемами 3g 4g lte в режиме hilink (e3372, e3272, e3276, mf823, android modem)
Написано hardd 07/09/2021. Опубликовано в OpenWRT
Подключаем роутер к компьютеру или иному устройству, с которого будет производиться настройка.
Настройка openwrt с модемами 3g 4g lte по протоколу ncm (e3272, e3276, e3372, e1550 …) — асу в каждый дом



Нажимаем «Применить».



Если всё настроено правильно и работает исправно, интерфейс получи ip адрес, и побегут пакетики.


Для перезагрузки модема в прошивке есть usbreset для сброса устройства. При этом если в модеме смонтирована карта памяти, она тоже сбросится (ФС может быть подвергнута ошибкам). Более безболезненный вариант reboot. Надеюсь, у меня появится время для реализации «перезагрузки» usb порта методом gpio.
Метки: 3g, 4g, NCM, lte, modem, openwrt, настройка
Просмотры: 99526.
Обратная ссылка с Вашего сайта
Настройка интернет соединения
Чтобы настраивать роутер на работу с интернетом, потребуется подключить Lan порт маршрутизатора к сетевой карте ПК. Чтобы подключиться к внешней сети, используются WAN порты. Пошаговая инструкция выполнения подключения:
- Вставить кабель сети в WAN порт. В случае, когда внешняя сеть не имеет протоколов L2TP, PPTP, никаких дополнительных настроек не требуется проделывать – выход в интернет свободен.
- В ином случае нужно перейти в браузере по вышеуказанному айпи, чтобы зайти в интерфейс администратора.
- После авторизации откроется полноценный интерфейс.
В разделе «Сеть» перейти в Интерфейсы. Высветится перечень доступных интерфейсов, среди которых нужно выбрать WAN, принадлежащий IPv4 – его нужно изменить. В открывшемся меню нужно указать протокол, соответствующий выбранным параметрам от провайдера.
Обратите внимание! Нажав на кнопку изменения протокола, указать все параметры и кликнуть на кнопку сохранения изменений. Если выход в интернет все равно недоступен, то рекомендуется обратиться к провайдеру услуг и уточнить у него причину.
Настройка точки доступа wifi на openwrt, через luci
После перехода в интерфейс администратора OpenWRT и ввода пароля системы, необходимо перейти во вкладку Network – WiFi и добавить новую сеть нажатием кнопки Add. В открывшемся окошке указать следующие параметры:
- Channel — 11 (2.462 GHz);
- Transmit Power— 20 dBm (100 mW);
- ESSID — название точки Wifi, которую будут видеть пользователи;
- Mode — режим работы сети;
- Network — нужно установить на Lan, если роутер подключен через кабель к Интернет, и выбрать подключение, которое пойдет на WiFi.
После сохранения настроек, по желанию можно установить пароль при подключении (об этом было рассказано в предыдущем разделе) и пользоваться созданной точкой доступа через luci.
Объяснение:
find /sys/bus/usb/devices/usb*/ -name dev
Устройства, которые отображаются в, /devимеют devфайл в своем /sysкаталоге. Поэтому мы ищем каталоги, соответствующие этим критериям.
syspath="${sysdevpath%/dev}"
Нам нужен путь к каталогу, поэтому мы удалим его /dev.
devname="$(udevadm info -q name -p $syspath)"
Это дает нам путь, /devкоторый соответствует этому /sysустройству.
[[ "$devname" == "bus/"* ]] && continue
Это отфильтровывает вещи, которые не являются фактическими устройствами. В противном случае вы получите такие вещи, как USB-контроллеры и концентраторы.
eval "$(udevadm info -q property --export -p $syspath)"
Команда udevadm info -q property –exportвыводит список всех свойств устройства в формате, который может быть проанализирован оболочкой в переменные. Поэтому мы просто призываем evalк этому. Это также причина, по которой мы заключаем код в круглые скобки, чтобы мы использовали подоболочку, а переменные стирались в каждом цикле.
[[ -z "$ID_SERIAL" ]] && continue
Больше фильтрации вещей, которые не являются реальными устройствами.