|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> Шелезяки
—> Peoplenet + C-motech (3G)
Прикручивание 3G модема С-motech под FreeBSD для использования в сети Peoplenet
Автор: Dron.
После облома с подключением по wifi к одному из провайдеров, пришлось
остановиться на Peoplenet.
Вот и займемся прикручиванием данного провайдера к правильной ОС :)
Было решено запереть модем на чердак и воткнуть его в роутер, который
планировался для wifi :)
В качестве роутера выступает iP133/64RAM/2x2,1Gb/мать с USB, как по мне,
вполне достаточно для раздачи и-нета на несколько машин, по крайней мере
в институтское время выручала отлично, думаю и сейчас не подведет :)
Модем C-MOTECH CCU-650U, и рулить всем будет
home-gw# uname -a
FreeBSD home-gw 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Wed Jan 16 04:18:52
UTC 2008 root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
i386
| Грузим umodem
Подключаем модем и наблюдаем картинку:
ugen0: CMOTECH CO., LTD. CMOTECH CDMA Technologies, rev 2.00/0.00,
addr 2
| Модем не определился... Следуя проторенной тут дорожке,
за которую спасибо товарисчу paradox'y,
смотрим, VendorID и DevID
home-gw# usbdevs -v
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000),
rev 1.00
port 1 powered
port 2 addr 2: full speed, power 500 mA, config 1, CMOTECH CDMA Technologies
(0x6523), CMOTECH CO., LTD.(0x16d8), rev 0.00
| и согласно обсуждению в форуме правим патч, применяем его, пересобираем
модуль и подгружаем (готовый патч под мою систему и железку смотри ниже)
Переподключаем модем и смотрим
ucom0: CMOTECH CO., LTD. CMOTECH CDMA Technologies, rev 2.00/0.00, addr 2,
iclass 2/2
ucom0: data interface 1, has CM over data, has break
ucom0: status change notification available
| Это уже веселее, пойдем далее
home-gw# cu -l /dev/cuaU0
Connected
t
OK
at
OK
ati
Manufacturer: C-MOTECH Co., Ltd.
Model: CCU-650
Revision: CCU65TSU00
Esn: 532E8A6F
+GCAP: +CIS707A, +MS, +ES, +DS, +FCLASS
OK
ati3
Manufacturer: C-MOTECH Co., Ltd.
Model: CCU-650
Revision: CCU65TSU00
Esn: 532E8A6F
+GCAP: +CIS707A, +MS, +ES, +DS, +FCLASS
OK
| Так, модем "верещит" как положено :) Поехали дальше...
Под винды есть сервисная программка для модема, посмотрим может и повезет.
Порывшись на форумах, вышел на такую [url=http://www.bsdua.org/cdma.html]
страничку[/url], CLI приложение для управления C-MOTECH модемами, написанная
Алексеем Ватченко.
Исходники для OpenBSD, есть порт для Linux (спрашиваем автора, ссылочку он
по какой-то причине не указал на сайте)
Теперь благодаря товаричсу Andy имеем shar для этой утили (смотри ниже).
Скачиваем shar (я его скачал в /tmp), распаковываем (в /root создал каталог
cdma, в него и распакую), ошибочка...
Создаем каталог files и распаковываем снова, получилось, собираем, rehash и
попробуем запустить...
home-gw# cd /root
home-gw# mkdir cdma
home-gw# cd cdma
home-gw# mv /tmp/cdma.shar /root/cdma/
home-gw# sh cdma.shar
x - ./Makefile
x - ./distinfo
x - ./pkg-descr
x - ./files/patch-aa
cdma.shar: cannot create ./files/patch-aa: No such file or directory
x - ./files/patch-ab
cdma.shar: cannot create ./files/patch-ab: No such file or directory
x - ./pkg-plist
home-gw# mkdir files
home-gw# sh cdma.shar
x - ./Makefile
x - ./distinfo
x - ./pkg-descr
x - ./files/patch-aa
x - ./files/patch-ab
x - ./pkg-plist
home-gw# make install clean
===> Vulnerability check disabled, database not found
=> cdma-0.10.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://www.bsdua.org/files/.
cdma-0.10.tar.gz 100% of 12 kB 23 kBps
===> Extracting for cdma-0.10
=> MD5 Checksum OK for cdma-0.10.tar.gz.
=> SHA256 Checksum OK for cdma-0.10.tar.gz.
===> Patching for cdma-0.10
===> Applying FreeBSD patches for cdma-0.10
===> Configuring for cdma-0.10
===> Building for cdma-0.10
"/usr/share/mk/bsd.compat.mk", line 36: warning: NOMAN is deprecated in favor
of NO_MAN
Warning: Object directory not changed from original /root/cdma/work/cdma-0.10
cc -O2 -fno-strict-aliasing -pipe -W -Wall -g -c cdma.c
cc -O2 -fno-strict-aliasing -pipe -W -Wall -g -c dev.c
cc -O2 -fno-strict-aliasing -pipe -W -Wall -g -c util.c
cc -O2 -fno-strict-aliasing -pipe -W -Wall -g -c cmotech_ccu550.c
cmotech_ccu550.c:573: warning: unused parameter 'ctx'
cmotech_ccu550.c:573: warning: unused parameter 'n_sms'
cmotech_ccu550.c:42: warning: unused parameter 'ctx'
cc -O2 -fno-strict-aliasing -pipe -W -Wall -g -c cmotech_ccu650u.c
cmotech_ccu650u.c:31: warning: unused parameter 'ctx'
cc -O2 -fno-strict-aliasing -pipe -W -Wall -g -o cdma cdma.o dev.o util.o
cmotech_ccu550.o cmotech_ccu650u.o
===> Installing for cdma-0.10
===> Generating temporary packing list
===> Checking if comms/cdma already installed
"/usr/share/mk/bsd.compat.mk", line 36: warning: NOMAN is deprecated in favor
of NO_MAN
install -s -o root -g wheel -m 555 cdma /usr/local/bin/
===> Registering installation for cdma-0.10
===> Cleaning for cdma-0.10
home-gw# rehash
home-gw# ./cdma
cdma [-d device_model] [-f device] command
Commands:
list - show all supported device models
date - show date and time
date set - set local time
mode - show current mode
mode hybrid - set hybrid mode
mode 1x - set 1x mode
mode ev-do - set EV-DO mode
pb - show address book
pb add <idx> <phone> <name> - add record with index <idx>
pb del <idx> - delete record by index <idx>
pin - show whether PIN code is enabled
pin enable - enable PIN code
pin disable - disable PIN code
pin change - change PIN code
sms - show stored messages
sms check - check for new SMS
sms send <phone> - send SMS (from stdin)
sms read - read new SMS (written to stdout)
sms del <idx> - delete stored SMS with index <idx>
sms save <phone> [date] - save SMS (from stdin) into SIM-card
Date format: [[[[[cc]yy]mm]dd]HH]MM[.SS]
| Собственно разобраться проблемы не составит, меня же интересует проверка и
переключение при необходимости в EV-DO.
действительно, то что и было выставлено в винде в последний раз. Приятно :)
Скажу только, что использовать утилиту надо при разорванном соединении.
Далее пришел черед позвонить... Надеяться на поддержку пиплнета нет смысла,
так как все специалисты поддержки у них умеют только галки в винде тыцать.
Промучившись около 15 минут с тем, что номер никак не хотел набираться,
плюнул и вставил его прямо в строку инициализации. Получилась следующая
секция для пиплнета для ppp в /etc/ppp/ppp.conf
peoplenet:
set device /dev/cuaU0
set speed 460800
#Отсюда номер у меня не подхватился
set phone \#777
#А отсюда наоборот
set dial "ABORT BUSY ABORT NOsCARRIER TIMEOUT 5 \"\" AT OK-AT-OK AT \
OK-AT-OK ATDT\#777 TIMEOUT 40 CONNECT"
enable dns
set authname 8092_PHONE_NUMBER_@people.net.ua
set authkey PASS
accept PAP
set login
add default HISADDR
set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0
disable ipv6cp
disable mppe
disable pred1 deflate protocomp acfcomp shortseq vj
deny pred1 deflate protocomp acfcomp shortseq vj
| Особо не тестировалось, т.к. установлю все это хозяйство на чердак в
выходные, но коннектится и работает без проблем.
home-gw# ping lissyara.su
PING lissyara.su (77.221.149.162): 56 data bytes
64 bytes from 77.221.149.162: icmp_seq=0 ttl=53 time=226.061 ms
64 bytes from 77.221.149.162: icmp_seq=1 ttl=53 time=255.973 ms
64 bytes from 77.221.149.162: icmp_seq=2 ttl=53 time=220.971 ms
64 bytes from 77.221.149.162: icmp_seq=3 ttl=53 time=229.934 ms
64 bytes from 77.221.149.162: icmp_seq=4 ttl=53 time=240.886 ms
^C
--- lissyara.su ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 220.971/234.765/255.973/12.463 ms
| Теперь душе хочется немного статистики :) C помощью гугла и некоторого
участия серого вещества родилась пара скриптиков
home-gw# cat /root/bin/chk_balance
#!/bin/sh
date_b=`date "+%d.%m.%Y %H:%M "`
ostatok=`wget http://my.people.net.ua/TSU/WWW/ACCOUNT_INFO --post-data \
"X_Username=USERNAME&X_Password=PASSWORD" -O - -q | grep -E "span \
class=.(gray|red)." | sed "s#^.*\">##;s%г.*$%%"`
echo >> /root/_balance
echo $date_b ostatok - $ostatok grn >> /root/_balance
| Проверка нашего баланса через сайт my.peoplenet.ua В USERNAME и PASSWORD
нужно подставить свои данные.
Полученная информация складывается в /root/_balance
Далее хотелось-бы статистики по трафу на внешнем интересфейсе. Для начала
добавим пару правил в ipfw, которые будут подсчитывать количество принятых
и отправленных байт
ipfw add 11 count all from any to any in via tun0
ipfw add 12 count all from any to any out via tun0
| Не забудьте их внести в инициализацию своего фаервола.
home-gw# ipfw show 11 12
00011 19 2049 count ip from any to any in via tun0
00012 17 1247 count ip from any to any out via tun0
| Чего-то уже успело пробежать :)
Далее следующий скрипт
home-gw# cat /root/bin/traf_stat
#!/bin/sh
download=`/sbin/ipfw show 11 | awk '{ print$3 }'`
upload=`/sbin/ipfw show 12 | awk '{ print$3 }'`
date_b=`date "+%d.%m.%Y"`
echo trafic statistics >> /root/_balance
echo " downloaded $download bytes" >> /root/_balance
echo " uploaded $upload bytes" >> /root/_balance
/sbin/ipfw zero 11
/sbin/ipfw zero 12
| Т.е. считываем значения в нашем ipfw, сохраняем их в /root/_balance и
обнуляем статистику в фаерволе.
И дадим работы нашему cron... В /etc/crontab добавил следующие строки
55 23 * * * root /root/bin/chk_balance
59 23 * * * root /root/bin/traf_stat
05 0 * * * root /root/bin/chk_balance
| Проверяем баланс за 5 минут до полуночи, сбрасываем статистику по трафу за
минуту до полуночи и в 5 минут после полуночи снимаем баланс еще раз
(хочется видеть списание абонплаты и превышения)
Все эти данные можем посмотреть в файлике /root/_balance
Помимо этого был настроен фаервол, установлен squid (этого описывать не вижу
смысла, на данном ресурсе найти статьи по данной тематике не проблема ;) ),
в планах динамический DNS
Также есть еще некоторые доработки железного характера:
- Так как под виндами бывали случаи подвисания модема, в цепь его питания
впаял реле на разрыв и подвел питание к катушке от БП, с выводом пары наружу.
При замыкании выведенных контактов, реле разрывает цепь питания модема, чем
обеспечивается его перезагрузка;
- Вывел наружу и пару от контактов reset на всякий случай, мало-ли :)
эти 2 пары передам по незадействованным парам витухи к свичу и будет такой
себе remote control :)
После использования в течении некоторого времени, полезла такая ошибка
home-gw kernel: ucom0: ucomreadcb: IOERROR
|
соединение подвисает, приходится килять ppp и стартовать заново...
Нарыл в и-нете следующее
и пропатчил...
Живет, ошибки сыпятся, но соединение восстанавливается без мучений ppp
Обсуждение
ucom.c.patch
|
файл
|
скачан
|
размер
|
размещён
|
примечание
|
|
736
|
0.8kb
|
2009-03-16
|
патч для С-motech 650U для FreeBSD 6.3-RELEASE #0
|
|
cdma.shar
|
файл
|
скачан
|
размер
|
размещён
|
примечание
|
|
738
|
3kb
|
2009-03-16
|
shar файл для cdma
|
|
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=14&t=15730.
размещено: 2009-03-31,
последнее обновление: 2009-03-31,
автор: Dron
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
|
Комментарии пользователей [9 шт.]