Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Программы под FreeBSD Настройка USB-модемов под FreeBSD

Настройка USB-модемов под FreeBSD

В этой статье опишу , как можно настроить USB модемы AnyData ADU-510A, Novatel U720.Настройка проводилось на FreeBSD 8.1 i386,(модем с разъёмом USB-mini), а также модем в виде флешки AnyData ADU-510A, Novatel U720.

Настройка модема от МТС (AnyData ADU-510A)
1.Вставляем USB модем в свободный USB порт. В логах (через dmesg) должны увидеть такое сообщение:
Sep 27 11:00:46 kernel: ugen0.3: <AnyDATA Corporation> at usbus0
Sep 27 11:00:46 kernel: u3g0: <Data Interface> on usbus0
Sep 27 11:00:46 kernel: u3g0: Found 3 ports
.
Если записи присутствуют, значит всё в порядке и приступаем непосредственно к настройкам.
2.Для начала  загрузим необходимые USB-драйвера для нормальной работы модема.

Прописываем слудующее в /boot/loader.conf :
ucom_load="YES"
umodem_load="YES"
Иногда нужно подгружать и третий драйвер ( ubsa_load="YES" ), но у меня он оказался уже в ядре.
Эти строки отвечают за подгрузку драйверов в момент загрузки системы. Если у вас FreeBSD 7.X, то в /boot/loader.conf нужно добавлять такие (вместо тех, которые описаны выше):
u3g_load="YES"
umass_load="YES"
Для нормальной работы  USB устройства добавим такую строчку в /etc/rc.conf:
usbd_enable="YES"
После этого желательно перегрузиться или перечитать /etc/rc.conf и подгрузить модули для usb модема вручную – кому как больше нравится.
3. Настройка подключения
Подключение будет осуществляться через соединение PPPoA (PPP через ATM).
Итак, открываем файл /etc/ppp/ppp.conf и пишем туда следующее:
mtsconnect:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)
set device /dev/cuaU0.0
set speed 115200
set ctsrts off
set phone "#777"
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT OK-AT-OK ATE1Q0 OK
\\dATD\\
T TIMEOUT 40 CONNECT"
set login
set authname "mobile"
set authkey "internet"

set ifaddr 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0
add default HISADDR
set ipcpretries 10 5
enable dns
ВНИМАНИЕ! ВСЕ СТРОКИ, КРОМЕ ПЕРВОЙ (mtsconnect:) ДОЛЖНЫ НАЧИНАТЬСЯ С ОТСТУПА.
Первые 2 строки описывают логгирование. Далее указывается само устройство (/dev/cuaU0.0)
и скорость (115200). Что касается опции ctsrts, то вот пояснение, взятое из handbook’a:
«Если у вас выделенная линия и нет необходимости устанавливать соединение, выключите контроль передачи данных CTS/RTS командой set ctsrts off. Это обычно необходимо при подключении к поддерживающим PPP терминальным серверам, когда PPP прерывается при попытке записать данные в ваше соединение, и ожидает сигнала CTS, или Clear To Send, который не появляется. Если вы используете этот параметр, используйте также параметр set accmap, который может быть необходим для устранения зависимости от оборудования путем пропускания определенных символов через соединение, обычно XON/XOFF. Обратитесь к странице справочника ppp(8) за более подробной информацией по этому параметру и его использованию».
Далее идёт номер дозвона (#777), команды модему и параметры авторизации. Что касается логина/пароля, так это стандартные для всех модемов MST connect. Строка add default HISADDR отвечает за установку шлюза по умолчанию, полученного от провайдера (в данном случае от MTS). Если не хотите использовать DNS провайдера, уберите строку enable dns.

Теперь осталось добавить строки запуска демона в /etc/rc.conf:
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="mtsconnect"
ppp_user="root"
После этого запускаем подключение (при этом на модеме должен гореть зелёный индикатор Busy,НЕ МИГАТЬ, а именно гореть):
#/etc/rc.d/ppp start
Получим такие сообщения:
Sep 27 13:04:11 gate kernel: mtsconnect
Sep 27 13:04:11 gate kernel: Loading /lib/libalias_cuseeme.so
Sep 27 13:04:11 gate kernel: Loading /lib/libalias_ftp.so
Sep 27 13:04:11 gate kernel: Loading /lib/libalias_irc.so
Sep 27 13:04:11 gate kernel: Loading /lib/libalias_nbt.so
Sep 27 13:04:11 gate kernel: Loading /lib/libalias_pptp.so
Sep 27 13:04:11 gate kernel: Loading /lib/libalias_skinny.so
Sep 27 13:04:11 gate kernel: Loading /lib/libalias_smedia.so
Sep 27 13:04:11 gate kernel: Warning: No default entry found in config file
.
Теперь можно посмотреть в файл /var/log/ppp.log и если там нет ошибок и сообщений вида «hangup», значит всё работает и можно проверить, получили ли мы адрес и добавился ли шлюз по умолчанию:
$ifconfig tun0
tun0: flags=8051 metric 0 mtu 1500
options=80000
inet 77.52.25.238 --> 80.255.77.9 netmask 0xffffffff
Opened by PID 483
$netstat -rn | grep default
default 80.255.77.9 UGS 0 22785 tun0
4. Послесловие
В нормальном состоянии на модеме должны гореть 2 индикатора синим цветом: PWR и IDLE. Когда модем не активен – индикатор Busy не горит, в момент передачи данных – горит постоянно зелёным,в момент подключения мигает зелёным. Если никакие данные не передаются, индикатор Busy не горит.
ADU-510A: В режиме ожидания горит зелёный индикатор, в режиме обмена данными – синий. При первом включении нужно дождаться стабильного синего индикатора.
PS: USB модем можно вставлять в любой порт при настройке, описанной выше.

Настройка модема от Novatel U720
1.Вставляем USB модем в свободный USB порт. В логах (можно смотреть в/ var/log/messages , через dmesg) должны увидеть такое сообщение:
Nov 10 12:15:10 kernel: ugen1.2: <Novatel Wireless Inc.> at usbus1
Nov 10 12:15:10 kernel: u3g0: <Data Interface> on usbus1
Nov 10 12:15:10 kernel: u3g0: Found 3 ports.

2. Предварительная настройка.
Данный модем использует драйвер u3g, поэтому проверьте присутствие его в системе:
# kldstat -v | grep u3g
305 uhub/u3g
Если у вас его нет, то можно либо скомпилировать новое ядро, либо подгрузить  модулем:
#kldload /boot/kernel/u3g.ko
3. Настройка подключения
Открываем файл /etc/ppp/ppp.conf и пишем туда следующее:
itc:
ident user-ppp VERSION (built COMPILATIONDATE)
set log PHase Chat LCP IPCP CCP tun command
set device /dev/cuaU0.0
set phone "#777"
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT OK-AT-OK ATE1Q0s7=60 OK
\\dATDT\\ TIMEOUT 40 CONNECT"
set login
set authname «IT"
set authkey «IT"
add default HISADDR
ВНИМАНИЕ! ВСЕ СТРОКИ, КРОМЕ ПЕРВОЙ (itc:) ДОЛЖНЫ НАЧИНАТЬСЯ С ОТСТУПА
Иногда могут потребоваться такие строки:
set speed 1920000
set ifaddr 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0
Теперь осталось добавить строки запуска демона в /etc/rc.conf:
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="itc"
ppp_user="root"
После этого запускаем подключение:
#/etc/rc.d/ppp start
Теперь можно посмотреть в файл /var/log/ppp.log и если там нет ошибок и сообщений вида «hangup», значит всё работает и можно проверить, получили ли мы адрес и добавился ли шлюз по умолчанию:
$ifconfig tun0
tun0: flags=8051 metric 0 mtu 1500
options=80000
inet 95.111.XX.XX --> 195.128.XX.XX netmask 0xffffffff
Opened by PID 483
$netstat -rn | grep default
default 195.128.XX.XX UGS 0 22785 tun0
Собственно, всё.

Домашняя Программы под FreeBSD Настройка USB-модемов под FreeBSD