Внезапно потребовалось отправлять СМС-уведомления через сервер с FreeBSD. Естественно, что требовалось установить модем. Под рукой оказался старенький, но весьма и весьма работоспособный модем Huawei E3131 с прошивкой Hi-link. Прелесть этого модема в наличии crc9-разъема в боку для подключения внешней антенны. При подключении модем увиделся, как флешка.. Пришлось пользоваться google, чтобы найти решение.
Подключаем модем в USB компьютера и смотрим в dmesg:
ugen3.2: <HUAWEI HUAWEI HiLink> at usbus3 umass0 on uhub0 umass0: <HUAWEI HUAWEI HiLink, class 0/0, rev 2.00/1.02, addr 2> on usbus3 umass0: SCSI over Bulk-Only; quirks = 0x0100 umass0:7:0: Attached to scbus7 cd0 at umass-sim0 bus 0 scbus7 target 0 lun 0 cd0: <HUAWEI Mass Storage 2.31> Removable CD-ROM SCSI-2 device cd0: 40.000MB/s transfers cd0: 128MB (65536 2048 byte sectors) cd0: quirks=0x10<10_BYTE_ONLY> |
Понимаем, что это совсем не то, чего бы мы хотели… Начинаем действовать:
# Для работы с модемом сразу ставим необходимый софт: pkg install -y usbutils usb_modeswitch # смотрим, как у нас определился модем при включениии в USB: lsusb Bus /dev/usb Device /dev/ugen3.2: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode) |
Ищем target-конфиг для модема, чтобы переключить его в сетевую карту. К всеобщему счастью, во FreeBSD предусмотрительно присутствуют конфиги для перевода в нужный нам режим «как сетевая карта» для всех поддерживаемых модемов:
# Ищем модем E3131: grep -R "E3131" /usr/local/share/usb_modeswitch/ /usr/local/share/usb_modeswitch/12d1:15ce:# Huawei E3531s-2, E3131 (Variant) /usr/local/share/usb_modeswitch/12d1:151a:# Huawei E392u-12, E3131 (Variant) /usr/local/share/usb_modeswitch/12d1:15ca:# Huawei E3131 /usr/local/share/usb_modeswitch/12d1:15d0:# Huawei E3131 (Variant) # я использовал в качестве целевого переключения файл /usr/local/share/usb_modeswitch/12d1:15ca # даем команду переключения модема, в качестве параметров даем # входные параметры из lsusb, а target содержится в файле usb_modeswitch/12d1:15ca /usr/local/sbin/usb_modeswitch -v 0x12d1 -p 0x1f01 --config-file /usr/local/share/usb_modeswitch/12d1:15ca |
Теперь смотрим в dmesg и в сетевые устройства:
dmesg .......................... umass0: detached ugen3.2: <HUAWEI HUAWEI HiLink> at usbus3 (disconnected) ugen3.2: <HUAWEI HUAWEI HiLink> at usbus3 cdce0 on uhub0 cdce0: <HUAWEI HUAWEI HiLink, class 2/0, rev 2.00/1.02, addr 2> on usbus3 ue0: <USB Ethernet> on cdce0 ue0: Ethernet address: 58:2c:80:13:92:63 ifconfig ue0 ue0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 58:2c:80:13:92:63 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> |
Видим, что всё получилось.. Модем у нас теперь видится, как сетевая карта. Конечно же, таким образом можно подключить любой модем, в том числе huawei E3372, huawei E352 и прочими. Отличие в исходных и целевых параметрах usb_modeswitch.
Для подключения интернет достаточно только получить ip от сетевой карты и можно бороздить просторы сети…
dhclient ue0 |