3G и FreeBSD 7.2-STABLE
Купленный не так давно CDMA-модем запланировано использовать в качестве обратного канала при использовании спутникового интернета (кстати посылка с TT-budget S1401 наконец-то пришла, получить только осталось). В качестве роутера, раздающего интернет в локалку, включающую в себя домашний компьютер, ноут и КПК, будет использоваться компьютер с установленной FreeBSD. Соответственно под данной осью нужно завести модем.
Задача как оказалось не сложная, по первому же запросу в Google нашелся , вот такой:
evdo:
set speed 460800
set timeout 160
enable dns
set device /dev/cuaU0
set phone \#777
set dial «ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \»\" «AT+CRM=1;&C2» OK \\dATDT\\T TIMEOUT 40 CONNECT"
set login
set authname mobile
set authkey internet
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR
, устраняющий kernel-panic на высоких скоростях и инструкция по переключению модема в режим модема.
Последнее это такая особенность этих девайсов, даже продернутая на bash.org.ru
FreeBSD: нукась, что тут нам воткнули...
момед: Я сидюк
FreeBSD: а пох
момед: Я сидюк с драйверами
FreeBSD: а пох
момед: Я сидюк с драйверами под всякие разные операционки
FreeBSD: а пох
момед: под много операционок
FreeBSD: а пох
момед: (cмущенно) ну вааще-то я еще и модем
FreeBSD: да ну?
момед: честно-честно
FreeBSD: ну так жужжи со штатным ubsa и не выпендривайся.
момед: жжжжжжжжжжж
В общем модем представляет собой составное устройство, два в одном (три в одном если уж совсем точным быть) модем и диск с драйверами. В винде видятся оба за раз, FreeBSD так не умеет, отсюда и необходимость переключать модем в режим модема :) .
Для реализации переключения качаем специальную тулзу — usb_modeswitch
fetch http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-0.9.7.tar.bz2
Ставим libusb из портов
make -C /usr/ports/devel/libusb install clean
Собираем usb_modeswitch и распихиваем файлики по местам
cc -L /usr/local/lib -I/usr/local/include -lusb -o usb_modeswitch usb_modeswitch.c
cp usb_modeswitch.conf /etc/
cp usb_modeswitch /root/bin/
В /etc/usb_modeswitch.conf нужно снять комментарии со строчек, описывающих наш модем.
Теперь если подключить модем мы увидим в dmesg:
ugen1: <AnyDATA Corporation USB MMC Storage, class 0/0, rev 1.10/0.00, addr 2> on uhub4
А после выполнения /root/bin/usb_modeswitch
ucom0: <AnyDATA Corporation AnyDATA CDMA Products, class 0/0, rev 1.10/0.00, addr 2> on uhub4
В ядре при этом не должно быть umass и cd, но на роутере это думаю не самое необходимое.
Все теперь уже можно использовать вышеприведенный конфиг. Связь устанавливается, в интернет ходится, скорость такая же как и в винде, но есть одна неприятность. При завершении связи допустим по killall ppp или если со стороны оператора произойдет отключение установить соединение повторно уже не получится, т.к. модем при этом остается в подвисшем состоянии и вылечить его можно только перетыканием кабеля. Уверен, что способ с перетыканием кабеля не единственный, но другие пока не известны, веду поиски в этом направлении.
Пара интересных фактов:
- Название «блог бомжа» помоему нужно уже считать визиткой сеошников, вот сегодня , как думете называется? SEO бомж, ну уже если честно неоригинально.
- Когда ломается сложная электроника это плохо, а если ломается орудие труда, например ноутбук это плохо вдвойне. Однако есть фирмы, которые быстро и качественно выполнят даже Macbook Air. Я всегда считал, что ноуты ремонту не подлежат, оказывается ошибался.



3 комментария на запись "3G и FreeBSD 7.2-STABLE"
привет !
не могу настроить на фре 7.1 3г модем!
естесно гуглил ,что --то правил но модем не определяется!
поможешь?
модем называентся huawei e1550 от мегафона
Я, если честно с Huawei не сталкивался, но попробуй вот это .
В Hyper-терминале винды отправь модему команду AT^U2DIAG=0, модем должен отключить флэшку и остаться в режиме модема.
Оставить комментарий