FreeBSD 3G/LTE usb-modem

Материал из MediaWiki
Перейти к навигации Перейти к поиску

Использовался Huawei e173u-1, однако должно работать на большинстве "stick-fimware" (не "HiLink" - режим эмулирования сетевого интерфейса Ethernet с управлением через веб-сервер). Модемы других производителей могут иметь другое имя устройства в системе. Некоторые модели имеют как "stick-fimware", так и "HiLink" прошивки. Уточнить можно на том же 4PDA.

Привязка к оператору связи на работоспособность данной конфигурации не влияет, однако некоторые модели модемов не стабильно работают в режиме блокировки (обрывается соединение по time-out), в частности, некоторые старые модели ZTE от Beeline-RU. Уточнять так же можно на 4PDA.

Протестировано на 11-й и 12-й ветках, ядро GENERIC, чистая установка с последними обновлениями на 03 июля 2019 года.

Добавление модулей ядра

Добавить в загрузку модули:

echo sbumodem_load="YES" >> /boot/loader.conf
echo u3g_load="YES" >> /boot/loader.conf

Загрузить их сразу:

kldload u3g && kldload umodem

Проверить, u3g и umodem должны присутствовать в выводе:

kldstat

Настройка PPP

Создание /etc/ppp.conf

Сохранить стандарный конфиг:

mv /etc/ppp/ppp.conf /etc/ppp/ppp.conf.old

Создать удобным способом новый (я тут использую системный vi)

vi /etc/ppp/ppp.conf

Пример для TELE2 Russia, некоторые операторы требуют авторизацию, для них следует изменить настройки

disable pap
accept chap

и добавить пару логин/пароль (пример для MTS-RU)

set authname "mts"
set authkey "mts"

Содержимое ppp.conf должно иметь такой вид (ВНИМАНИЕ, отступы обязательны). IPv6 отключен, т.к. у меня не предоставляется оператором.

default:
        set log Phase Chat LCP IPC CCP tun command
        ident user-ppp
tele23g:
        set device /dev/ttyU0.0
        set speed 460800
        set dial "\"\" \
        AT OK \
        AT OK \
        ATS0=0 OK \
        AT OK \
        AT&FE0V1X1&D2&C1s0=0 OK \
        AT OK \
        AT+CGDCONT=1,\\\"IP\\\",\\\"internet\\\" OK \
        ATDT*99***1# CONNECT"
        set login
        set authname ""
        set authkey ""
        disable ipv6cp
        disable pap
        accept chap
        enable dns
        set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
        add default HISADDR

Автостарт соединения при загрузке

echo network_interfaces="lo0 tun0" >> /etc/rc.conf
echo ifconfig_tun0= >> /etc/rc.conf

Сама конфигурация запуска PPP

echo 'ppp -auto tele23g' > /etc/start_if.tun0

DNS серверы, я тут использую публичные Google

echo 'nameserver 8.8.8.8' > /etc/resolv.conf
echo 'nameserver 8.8.4.4' >> /etc/resolv.conf

Для доступа к сервисным сайтам оператора при нулевом/отрицательном балансе или при приостановке услуги доступа в интернет необходимо использовать его DNS. Узнать их можно в тех.поддержке либо используя DHCP (тут я не рассматриваю такую конфигурация).

Запуск соединения

ppp -auto tele23g