суббота, 13 декабря 2008 г.

Настраиваем модем 3G

Есть - модем от "Билайн" модель MF 626 -> надо использовать его под Ubuntu.
Желательно не только с Билайн.

Что делать:
  1. для Билайна все здесь http://rapidshare.com/files/173335244/beeline-3g.tar.gz
  2. распаковываем в корень tar -xvf beeline-3g.tar.gz
  3. запускаем /opt/beeline-3g/src/install.sh
  4. редактируем /etc/rc.local -сдвигаем exit0 в конец и раскомментируем
  5. создаем иконки для запуска в терминале на рабочем столе - sudo /opt/beeline-3g/bee-start и sudo /opt/beeline-3g/bee-start

Все проверено под Ubuntu 8.04.1 и Ubuntu 7.04
Дальше можно не читать

Для желающих подробностей:

Поиск в интернете показывает, что это модем ZTE MF626 он же ONDA MT503HS с технологией ZeroCD
подробнее http://ru.gentoo-wiki.com/wiki/MF626 у Гусарова Михаила http://blog.dottedmag.net/2008/12/09/hi-mf626/

После включении модем прикидывается CD-ROM
в винде запускается программа установки, потом она сд-ром отключает
lsusb
Bus 008 Device 004: ID 19d2:2000
...
в Linux после eject /media/Beeline
через несколько секунд становится usbserial
lsusb
Bus 008 Device 004: ID 19d2:0031
....
ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2

Примечание - под Ubuntu 8.10 eject /media/Beeline не работает
там надо компилить ядро http://forum.ubuntu.ru/index.php?topic=37541 или
патчить модем - чтоб сразу стал модемом с помощью программы

что-бы отключать CD-ROM автоматически можно настроить udev
создаем rules

nano /etc/udev/rules.d/60-ZTE-MF626-modem.rules

#SUBSYSTEM=="usb", SYSFS{idProduct}=="2000", SYSFS{idVendor}=="19d2", RUN+="/usr/sbin/zte_switch.sh"
ACTION!="add", GOTO="ZTE_End"

# Is this the ZeroCD device?
SUBSYSTEM=="usb", SYSFS{idProduct}=="2000",
SYSFS{idVendor}=="19d2", GOTO="ZTE_ZeroCD"

# Is this the actual modem?
SUBSYSTEM=="usb", SYSFS{idProduct}=="0031",
SYSFS{idVendor}=="19d2", GOTO="ZTE_Modem"

LABEL="ZTE_ZeroCD"
# This is the ZeroCD part of the card, remove
# the usb_storage kernel module so
# it does not get treated like a storage device
#RUN+="/sbin/rmmod usb_storage"
#RUN+="/usr/bin/eject /dev/scd1"
RUN+="/usr/bin/eject /media/Beeline"

LABEL="ZTE_Modem"
# This is the Modem part of the card, let's
# load usbserial with the correct vendor
# and product ID's so we get our usb serial devices
RUN+="/sbin/modprobe usbserial vendor=0x19d2 product=0x0031",
# Make users belonging to the dialout group
# able to use the usb serial devices.
MODE="660", GROUP="dialout"

LABEL="ZTE_End"

а можно и в скрипте записать
#/bin/sh
# eject CD-ROM
if [ -d /media/Beeline ]; then
eject /media/Beeline
sleep 10
exit
fi
# add usbmodem
COUNTER=0
until [ -w /dev/ttyUSB2 ]
do
sleep 3
#приращение переменной цикла
COUNTER=`expr $COUNTER + 1`
echo "test modem $COUNTER"
#организуем цикл на 10 итераций
if [ $COUNTER -lt 10 ]
then
echo 'No modems'
exit 1
fi
done

можно на с++ программку писануть как http://ru.gentoo-wiki.com/wiki/MF626 у Гусарова Михаила

родной драйвер модема мне показался глючноват - у меня периодически порт менялся

поэтому компилим от ONDA MT503HS
проверено под Ubuntu 8.04.1 и Ubuntu 7.04

не забудем про apt-get install build-essential libusb-dev
распаковываем linuxdriveronda1.0.1.tar.gz2 , заходим в каталог с исходником
make
make install
./install

вынем-вставим модем сначала откроется диск а через несколько секунд он модемом станет
видим
lsmod | grep onda
onda 11648 0
usbserial 35816 1 onda
usbcore 146412 9 onda,usbserial,usb_storage,libusual,hci_usb,usbhid,ehci_hcd,uhci_hcd
проверяем
ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2
есть порты
можно AT покомандывать ( список команд здесь )
открываем терминал
sudo cat /dev/ttyUSB2
видим что нам модем говорит
в другом терминале ему комадуем
sudo echo -e "ATZ" > /dev/ttyUSB2
от него видим ОК
ну и еще всякое - об этом не буду

практически можно работать
можно создать в gnome-ppp соединение - модем определяется
написать конфигурационные файлы
вставить симку и выходить к примеру по GPRS через Мегафон

теперь о "Билайн Интернет для дома"

у них есть одна штука - раз в минуту надо в модем посылать
echo -e "AT+ZOPERTE=\"beeline\"\r\n" >/dev/ttyUSB2
причем при включенном соединении порт 2 блокируется
я использовал программу Гусарова Михаила
создаем папку /opt/beeline-3g компилим
mkdir /opt/beeline-3g
gcc -lusb -o /opt/beeline-3g/modemkiker ModemKicker.c

Можно использовать вариант Гусарова для Debian
я только скрипт udev поправил-бы и переименовал начиная с 65-

создаем скрипт
/opt/beeline-3g/bee-start

#/bin/sh
# eject CD-ROM
if [ -d /media/Beeline ]; then
eject /media/Beeline
sleep 10
exit
fi
# add usbmodem
COUNTER=0
until [ -w /dev/ttyUSB2 ]
do
sleep 3
#приращение переменной цикла
COUNTER=`expr $COUNTER + 1`
echo "test modem $COUNTER"
#организуем цикл на 10 итераций
if [ $COUNTER -lt 10 ]
then
echo 'No modems'
exit 1
fi
done

echo -e "AT+CFUN=1\r\n" > /dev/ttyUSB2
echo -e "AT+ZOPERTE=\"beeline\"\r\n" >/dev/ttyUSB2
echo -e "AT+ZOPRT=5\r\n" >/dev/ttyUSB2
# 3G on
#echo -e "AT+ZSNT=2,0,0\r\n" >/dev/ttyUSB2
# 3G autoselect
#echo -e "AT+ZSNT=0,0,2\r\n" >/dev/ttyUSB2
sleep 10
echo -e "AT+ZOPERTE=\"beeline\"\r\n" >/dev/ttyUSB2
echo -e "AT+ZSTART\r\n" >/dev/ttyUSB2
echo -e "AT+CPBS="SM"\r\n" >/dev/ttyUSB2
echo -e "AT+CPMS="SM","SM",""\r\n" >/dev/ttyUSB2

echo init ok
sleep 5
pon beeline
#sleep 10
# add cron senb "beeline" to modem every minut
/opt/beeline-3g/modemkicker &

exit 0

прописываем его в /etc/rc.local

осталось pppd настроить

7 комментариев:

  1. Можно для непосвещенных: поподробнее последнюю строчку? :)

    ОтветитьУдалить
  2. настройки pppd для Билайна здесь http://rapidshare.com/files/173335244/beeline-3g.tar.gz

    ОтветитьУдалить
  3. Может кто нить еще раз выложит прогу для убунту, а то при попытке скачать ошибка

    ОтветитьУдалить
  4. Не работает ссылка на рапиду! Где можно скачать beeline-3g.tar.gz ?

    ОтветитьУдалить
  5. Этот комментарий был удален автором.

    ОтветитьУдалить
  6. Наткнулся на статью спустя столько времение, жаль, что и тут не нашёл решения, так так файлов нет, добрые люди, кто успел скачать, киньте ссылку.
    Хотя вряд ли это кто-то прочтёт...

    ОтветитьУдалить