Как я побеждал модем в Ubuntu
Вот они все прелести юзерфрендли линукса. Имеется Ubuntu Netbook Remix 9.10 и CDMA USB-модем AnyDATA ADU-500a. Скажу честно такого количества геммороя я не поимел, когда заводил его под FreeBSD, потому что там никаких юзерфрендли предусмотрено не было. И так, чтобы завести модем под Karmic нужно
методично поотламывать все умные автоопределялки и тому подобные вещи.
- udev умеет переключать модемы из режима флэшки в режим модема, но имеющийся девайс в число поддерживаемых переключалкой не входит. Сносим /lib/udev/modem-switch;
- про options usb-storage option_zero_cd=2, много где написано, добавляем куда-нибудь в /etc/modprobe.d/anydata.conf;
- ставим стороннюю переключалку - usb_modeswitch, версия 1.0.7 работает и присутствует в репозитории;
- сменные носители по умолчанию автоматически монтируются, это приводит к зависанию модема на хрен. Для этого я в /etc/hal/fdi/policy/preferences.fdi написал
<merge key="volume.ignore" type="bool">false</merge>
плюс вынес на всякий случай /lib/udev/rules.d/75-cd-aliases-generator.rules и /etc/udev/rules.d/70-persistent-cd.rules, оптических приводов на нетбуке все равно нет; - networkmanager умеет видеть модемы и соединяться через них, но почему-то считает, что любой CDMA-модем должен поддерживать AT+CMEE. Данный девайс такой команды не знает, поэтому сносим на хрен пакет modemmanager;
- Все необходимое снесли :)
Теперь пишем свое правило для udev, дабы модем сам переключался, как -то так:
SUBSYSTEM=="usb", SYSFS{idVendor}=="05c6", SYSFS{idProduct}=="1000", RUN+="/root/bin/cdma.sh"
Ну а в /root/bin/cdma.sh пишем что-то такое
#!/bin/sh/bin/sleep 3/usr/sbin/usb_modeswitch --default-vendor 0x05c6 --default-product 0x1000 --message-content 5553424312345678000000000000061b000000020000000000\000000000000
По желанию можно и подъем соединения здесь же сделать, я не стал.Ну и собственно, само соединение осталось настроить
/etc/ppp/chap-secrets# Secrets for authentication using CHAP# client server secret IP addressesmobile wellstar internet/etc/ppp/peers/wellstar/dev/ttyUSB0 230400 crtscts modemnoccp novjconnect "/usr/sbin/chat -e -v -f /etc/chatscripts/pap -T '#777'"noauth user mobile remotename wellstarusepeerdns defaultroutedebug updetach/etc/ppp/chatscripts/papABORT BUSYABORT VOICEABORT "NO CARRIER"ABORT "NO DIALTONE"ABORT "NO DIAL TONE""" ATZOK ATDTTCONNECT ""
Все, теперь pon wellstar пустит нас в сеть.Для сравнения под FreeBSD 8.0 это все делается выполнением одной (!) команды и правкой одного (!) конфига, никаких дополнительных установок. Ну и кто больше юзерфрендли?
Комментарии
Sergey
А можно поподробнее пункт 2 и 4, а еще про правило для udev? Заранее спасибо
Meg@DED
А что тут еще подробнее?
Sergey
Эмм, спрошу проще. А не могли бы вы выложить куда-нибудь свои файлы:
1)/etc/modprobe.d/anydata.conf
2)/etc/hal/fdi/policy/preferences.fdi
3)файл с правилом для udev
Делал все по инструкции,но модем виснет нахрен - бубунта его все равно пытается автоматически смонтировать + ко всему прочему у меня есть оптический привод и как-то не хотелось его отрубать.
Meg@DED
Выше есть содержимое каждого файла.
Как быть с внешним CD - не знаю, т.к. у меня его нет.
Виктор
А можно подробнее про FreeBSD?
Meg@DED
Так я уже с тех пор ничего не поменялось.