Беспроводный доступ в интернет набирает обороты. Пользователи Linux не стоят в стороне, активно используя новые технологии. В статье показано как настроить CDMA модем CNU-680 в Debian Etch (это не опечатка :)).
Модем CNU-680 сочетает в себе два устройства - собственно сам модем и флэш память, где хранятся драйвера. В составе драйверов есть утилита для Linux RDEVCHG, которая позволяет активизировать модем. Но в Debian Etch она работать отказалась, сославшись на устаревшую библиотеку libc6.
Чтобы модем заработал необходимо воспользоваться утилитой usb_modeswitch. Так как пакета для Etch уже не сыскать - поставим из исходников. Для этого скачиваем два тарбола usb-modeswitch-1.1.3.tar.bz2 и usb-modeswitch-data-20100623.tar.bz2 отсюда. Первый файл содержит саму утилиту, а второй данные для различных устройств, которые использует usb_modeswitch.
Распаковываем архивы, выполнив в командной строке:
tar -vvxjf usb-modeswitch-1.1.3.tar.bz2
tar -vvxjf usb-modeswitch-data-20100623.tar.bz2
Для компиляции утилиты usb_modeswitch необходимо установить пакет libusb-dev, для этого в командной строке от рута выполним:
aptitude install libusb-dev
Устанавливаем утилиту usb_modeswitch, последовательно от рута выполнив следующие команды в директории с ранее распакованным архивом usb-modeswitch-1.1.3.tar.bz2:
cd usb-modeswitch-1.1.3
make install
Для установки данных для различных устройств необходимо отредактировать Makefile из архива usb-modeswitch-data-20100623.tar.bz2. Для этого в директории с ранее распакованным архивом от рута выполним:
cd usb-modeswitch-data-20100623
vim Makefile (редактор vim заменяете тем, которым пользуетесь)
меняем строку
UDEVDIR = $(DESTDIR)/lib/udev
на
UDEVDIR = $(DESTDIR)/etc/udev
сохраняем файл и выходим (в vim команда :wq)
make files-istall
Для корректного включения модема в CNU-680 надо отредактировать файл /etc/usb_modeswitch.d/16d8:6803. Почему именно этот файл? До активации модема lsusb "видит" CNU-680 вот так:
lsusbРедактируем файл от рута:
...
Bus 001 Device 007: ID 16d8:6803
...
vim /etc/usb_modeswitch.d/16d8:6803
заменяем строку
MessageContent="555342431234567824000000800008ff524445564348470000000000000000"
на
MessageContent="555342431234567824000000800008ff524445564348473100000000000000"
сохраняем файл и выходим (в vim команда :wq)
Перезагружаем компьютер и смотрим usb устройства. Если все корректно, то CNU-680 из командной строки выглядит приблизительно так:
lsusb
...
Bus 001 Device 007: ID 16d8:680a
...
Более подробно можно посмотреть выполнив в командной строке:
lsusb -d 16d8:680a -vv
После активации модема в директории /dev должно появиться устройство ttyACM0, смотрим командой:
ls -la /dev | grep ACM
...
crw-rw---- 1 root dialout 166, 0 2010-07-06 11:36 ttyACM0
...
Модем активирован, теперь надо создать ppp подключение. Установим необходимый пакет:
aptitude install ppp
Из под рута создаем файл /etc/ppp/peers/cnu680, следующего содержания:
vim /etc/ppp/peers/cnu680
debug
/dev/ttyACM0
460800
ipcp-accept-local
ipcp-accept-remote
lcp-echo-interval 30
lcp-echo-failure 5
usepeerdns
defaultroute
replacedefaultroute
noccp
noauth
persist
user cdma #здесь ваше имя пользователя
password cdma #здесь ваш пароль
Из под рута создаем ещё один файл /etc/chatscripts/cnu680, следующего содержания:
vim /etc/chatscripts/cnu680Подключиться через модем CNU-680 можно выполнив команду:
'' ''
'' 'ATZ'
'OK' 'AT+CRM=1;&C0'
'OK' 'ATD #777' #здесь номер телефона вашего провайдера
'CONNECT' ''
pon cnu680Отключить соединение можно выполнив команду:
poff cnu680Если соединение не устанавливается, смотрим логи:
grep 'pppd' /var/log/syslog
Если соединение не устанавливается по причине 'no carrier', то это может означать что требуется введение PIN-кода. Зопрос PIN-кода можно убрать вставив симку в сотовый телефон и сделав соответствующие настройки. Либо можно вводить PIN-код AT-командой:
AT+CPIN=xxxx # вместо хххх ваш pin-код
Её можно включить в файл /etc/chatscripts/cnu680. Для использования соединения через CNU-680 из под пользователя необходимо включить пользователя в группу dialout:
usermod -aG dialout username
Для автозапуска соединения при старте системы надо прописать в файле /etc/network/interfaces следующие строки:
#PPP link to CDMA
auto ppp0
iface ppp0 inet ppp
provider cnu680
Понравилась статья? Подпишись на этот блог!
Там на диске этого модема (в смысле на флешке которая внутри модема) идет еще и файл с многообещающим расширением .c (если память не подводин, то файл называется RDEVCHG.c)
ОтветитьУдалитьВ общем в Ubuntu 9.10 я настроил через network manager - там skylink нужно просто выбрать, а все параметры он сам подставляет. Потом скомпилировал этот файл, слинковал и запустил. На консоль чего то ругательное сказало,но усе заработало.
Кстати на сайте у них есть обновление которое ставит графическую программу в раздел "Интернет" и она тоже работает.
Александр, модем ставил на сервер, там графических прибамбасов нет, только через консоль. Пробовал компилировать RDEVCHG.c, не заработало в etch. Вообще usb_modeswitch делает тоже что и RDEVCHG, только для разных моделей модемов используя udev.
ОтветитьУдалитьПонятно. Попробую тоже через usb_modeswitch сделать, в связи с этим вопросы.
ОтветитьУдалитьФайл /etc/usb_modeswitch.d/16d8:6803
он сам создается или надо вызывать usb_modeswitch?
В тексте прям магия какая:
заменяем строку
MessageContent="555342431234567824000000800008ff524445564348470000000000000000"
на
MessageContent="555342431234567824000000800008ff524445564348473100000000000000"
Не понял зачем менять (может и без этого работать будет), откуда эти цифры и от чего они зависят.
Александр, файл /etc/usb_modeswitch.d/16d8:6803 появится после установки пакета usb-modeswitch-data-20100623.tar.bz2. Я пропустил описание его установки, поправлю. Цифры для замены взяты с форума http://www.draisberghof.de/usb_modeswitch/bb/. Если цифры не менять устройство /dev/ttyACM0 не появиться.
ОтветитьУдалить