Доброго дня! Пытаюсь запустить на FreeBSD 14.1 LTE модем Fibocom L860-GL. Модем умеет CDC NCM. В сети есть скрипт, который один хороший человек написал для этого модема на PowerShell под Вин. Суть скрипта довольно простая: сначала модем настраивается пачкой AT команд, запрашиваются IP настройки от оператора, затем, по ним настраивается сетевой интерфейс и маршрут. Я на коленке воспроизвёл суть скрипта, но под FreeBSD соединение не работает. Происходит такая вещь:
1. Настраиваем модем через его консоль:> picocom /dev/cuaU2[куча AT команд пропущена]
AT+CGDATA=M-RAW_IP,1OK
CONNECT
Получили соединение модема на его CDC NCM интерфейсе. Там же запросили $IP, $MASK, $GW
2. Настраиваем сетевой интерфейс:> ifconfig ue0 inet $IP netmask $MASK
> ifconfig ue0ue0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
options=80000<LINKSTATE>
ether 00:00:11:12:13:14
inet 10.22.114.24 netmask 0xff000000 broadcast 10.255.255.255
media: Ethernet autoselect
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
3. Настраиваем маршрут:> route add default $GW
> netstat -r4Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 10.22.114.25 UGS ue0
10.0.0.0/8 link#4 U ue0
10.22.114.24 link#3 UHS lo0
localhost link#3 UH lo0
4. Проверяем, что получилось. Пинг идёт только до $IP самого интерфейса, причём с какими-то рандомными задержками, как будто он его до БС пуляет. Больше ничего никуда не идёт...
5. ЧЯНТД?PS: Для проверки работоспособности зоопарка использовал такие варианты: 1) Win10 с оригинальным скриптом для завода модема на CDC NCM; 2) ppp во FreeBSD для завода модема на его cuaU интерфейсе. Оба варианта работают. Но требуется совместить CDC NCM и FreeBSD. Как?
Разобрался сам. Необходимо вручную добавлять в таблицу ARP полученный модемом IP адрес шлюза с тем же MAC как у интерфейса ue0.