Одного разу пішли козаки сіль купувати, тьфу, про що це я… Приходить до наших козаків кастомер та каже, що хоче зафігачити вундервафлю щоб можна було з рімоут локейшена з 3G модема до головної контори VPN прокладати, щоб редандансі там було і все таке. Принесли до офіса модем Huawei (E3531s), кажуть – не працює.
Щось дивне кастомер каже, треба перевірити. Втикнули до ноутбука – все працює, PDP контекста активує, нормально все. Взяли залізку кастомера (FG-30E) – не детектиться як модем. Почали в дебаг дивитись fnsysctl cat /proc/bus/usb/devices та побачили таке:
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 9 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=12d1 ProdID=15ca Rev= 1.02
S: Manufacturer=HUAWEI
S: Product=HUAWEI Mobile
C:* #Ifs= 6 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=serial
E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Через 3 хвилини гугління з’ясувалося, що модем за замовченням включається в режим CD-ROM та пропонує поставити драйвер, після чого драйвер детектує Product ID та переводить модем в модем 🙂
Зрозуміло як воно робить на вінді або іншому лінуксі (usb_modeswitch). Так що робити коли в нас файна пропієтарщина тіпа фортігейту? Читаємо доку та маємо таку конфігурацію CLI:
config system modem
set status enable
set auto-dial enable
set phone1 “*99#”
set dial-cmd1 “atd”
end
Треба звернути увагу на строку set dial-cmd1 "atd"
. Нахіба воно? І так буде працювати. Ніфіга не буде. За замовченням фортігейт переводить модем в тоновий режим (додає atdt до команди). Це змусило чухати чуба з годинку та з’ясовувати що не так, чому модем детектиться але не підключається до оператора. Отака казочка, малята. До зустручей!