FreeBSD + usb modem 3g

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

nasswell
Сообщения: 10

FreeBSD + usb modem 3g

Сообщение nasswell »

Столкнулся с проблемой отсутствия толкового материала по настройке популярных нынче usb модемчиков для сетей 3g.
Хочу написать о собственных танцах с бубном вокруг такой связки.
Использованный модем Sierra AirCard580 (в теории данный метод годится для любых устройств определяющихся как usb устройства ugenX)
Для начала нам потребуется FreeBSD 6.x и исходник расположенный на http://www.cs.cmu.edu/%7Edga/dot/fbsd_pc5220/ugencom.c. ugencom - драйвер для нетбсд, является переработкой uplcom, на данный момент автор прекратил поддержку кода, потому даже не надейтесь на удачную сборку на 7 версии фрюхи, результат - куча ошибок, но можете, если хотите, попробовать код подправить сами:)
Нам потребуется файл /src/sys/dev/usb/usbdevs от фрюхи 7 версии, там наиболее полно описаны списки оборудования для подобных устройств,
меня интересовали строки:
vendor SIERRA 0x1199 Sierra Wireless
product SIERRA AIRCARD580 0x0112 Sierra Wireless AirCard 580
смотрим в /src/sys/dev/usb/usbdevs FreeBSD 6.x и вставляем строки в usbdevs если их к нашему оборудованию нет.
В файле ugencom.c меняем
{ USB_VENDOR_AIRPRIME, USB_PRODUCT_AIRPRIME_PC5220, -1 },
на
{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_AIRCARD580, -1 },
в моем случае, и кладем его в /usr/src/sys/dev/usb.
Далее нам потребуется в файл /usr/src/sys/conf/files внести
dev/usb/ugencom.c optional ugencom ucom
В файл /usr/src/sys/i386/conf/GENERIC (или как вы там его обозвали) внести
device ucom
device ugencom
Переборка ядра (config GENERIC && cd .. && cd compile && cd GENERIC && make depend && make all && make install) для тех кто не знает)
Если все завершилось успешно, перезагружаемся и видим по ls /dev нужный нам девайс cuaU0, зто и есть нужный нам модем.
Правим /etc/ppp/ppp.conf
some_isp:
disable ipv6cp
set ctsrts off
set speed 921600
set device /dev/cuaU0
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" ATZ OK-AT-OK ATZ OK \\dATD\\T TIMEOUT 60 CONNECT"
set phone \NumbeR
set authname login
set authkey passwd
add default HISADDR
Прописать в /etc/resolv.conf адреса днс серверов
Делаем
ppp -ddial some_isp
ping mail.ru (им не жалко, нам приятно)
наслаждаемся результатами!

P.S. Если данную схему можно упростить или изменить в более положительную сторону прошу делится мнениями!
Спасибо сказали:
blah
Сообщения: 24

Re: FreeBSD + usb modem 3g

Сообщение blah »

В 8-CURRENT есть u3g(4) под старым и новым stack'ом usb:Значит операцию можно упростить простым backport'ом svn-commit'ов касающихся старого stack'а из HEAD или просто пересев на 8-CURRENT
("u3g.c") писал(а):

Код: Выделить всё

static const struct u3g_dev_type_s u3g_devs[] = {
...
    /* OEM: Sierra Wireless: */
    {{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_AIRCARD580 },        U3GSP_UMTS,    U3GFL_NONE },        // XXX
...
};
("usbdevs") писал(а):

Код: Выделить всё

/* Sierra Wireless products */
product SIERRA AIRCARD580    0x0112    Sierra Wireless AirCard 580
С тех пор как Nick Hibma добавил u3g(4) в HEAD 9-го октября этого года во freebsd-current@ до сих не прекращают обсуждать этот драйвер.
Спасибо сказали: