Jump to content
Sign in to follow this  
cppmm

Мобильный интернет в Debian GNU/Linux.

Recommended Posts

Вот, возможно кому пригодится на будущее, потому как не особо много подобных описаний нашёл в гугле(особенно, по поводу второй части).

Итак, путь первый - выход через мобильный телефон.

У меня Sony Ericsson k320i. usb-шнурок шёл в комплекте. При подключении к компьютеру телефон спрашивает, в каком режиме ему работать: передача файлов или режим телефона. В данном случае выбираем второе. Перед подключением я запустил tail -f /var/log/messages и получил такие строки:

    Feb 10 10:06:51 damned kernel: usb 2-3: new full speed USB device using ohci_hcd and address 3
    Feb 10 10:06:51 damned kernel: usb 2-3: configuration #1 chosen from 1 choice
    Feb 10 10:06:52 damned kernel: cdc_acm 2-3:1.1: ttyACM0: USB ACM device
    Feb 10 10:06:52 damned kernel: cdc_acm 2-3:1.3: ttyACM1: USB ACM device
    Feb 10 10:06:52 damned kernel: usbcore: registered new driver cdc_acm
    Feb 10 10:06:52 damned kernel: drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters

Отсюда видно, что у меня появилось два новых устройства: /dev/ttyACM0 и /dev/ttyACM1. Дальше всё просто:

Создаём файлы настройки pppd(обязательно должен быть установлен пакет ppp).

# cat /etc/ppp/chap-secrets
    mts * mts
# cat /etc/ppp/pap-secrets
    mts * mts
# cat /etc/ppp/options | grep -v "#"
    asyncmap 0
    auth
    crtscts
    lock
    hide-password
    modem
    debug
    proxyarp
    lcp-echo-interval 30
    lcp-echo-failure 4
    noipx
# cat /etc/ppp/peers/mts | grep -v "#"
    user "mts"
    connect "/usr/sbin/chat -v -f /etc/chatscripts/mts"
    /dev/ttyACM0
    noipdefault
    usepeerdns
    defaultroute
    persist
    noauth
# cat /etc/ppp/chat/mts
    ABORT BUSY
    ABORT 'NO CARRIER'
    ""
    ATZ OK
    AT+CGDCONT=1,"IP","internet.mts.ru" OK
    ATDT*99***1#
    CONNECT ""

Как видно, я использую mts. Основные параметры, типа номера дозвона, точки доступа, логина, пароля и т.д., можно узнать у мобильного оператора, так что с этим проблем быть не должно. Что касается того, что у меня продублированы логин с паролем и в chap, и в pap - это потому, что я так и не узнал, какой именно тип авторизации надо использовать, и для верности прописал оба. Хуже не будет. Ну и самое главное - это устройство модема, которое я узнал из messages.

В принципе, всё.

Подключение идёт командой pppd call mts. Я для удобства сделал скриптик:

    #!/bin/bash
    sudo /usr/sbin/pppd call mts

и добавил пользователя в /etc/sudoers, чтобы не логиниться под рутом каждый раз для выхода в инет.

Скорость, конечно, оставляет желать лучшего, но жить можно.

Но постоянно включать/выключать телефон со временем надоедат. Да и ко всему прочему денег много уходит, если пользоваться таким интернетом постоянно, а подключенный мной тариф "Ночной безлимитный" неудобен тем, что работать приходится только ночью. Поэтому было решено купить GPRS-модем.

Путь второй. ZTE MF626 USB Modem.

Тут всё чуть сложнее. Дело в том, что эта замечательная железка, сразу не определилась. В голове промелькнули мысли о пересборке ядра, но как всегда, гугл спас. Довольно быстро нашлась ссылка: http://ru.gentoo-wiki.com/wiki/MF626.

Беглый просмотр не обрадовал. Однако, после прочтения треда, из которого появилась эта статья, стало немного проще.

Сперва, запускаю, как обычно tail -f /var/log/messages и подключаю модем. Как и предсказано в статье, он определяется, как ZeroCD:

    Feb 10 09:17:40 damned kernel: usb 1-1: new high speed USB device using ehci_hcd and address 5
    Feb 10 09:17:40 damned kernel: usb 1-1: configuration #1 chosen from 1 choice
    Feb 10 09:17:40 damned kernel: scsi6 : SCSI emulation for USB Mass Storage devices
    Feb 10 09:17:45 damned kernel: Vendor: ZTE Model: USB SCSI CD-ROM Rev: 2.31
    Feb 10 09:17:45 damned kernel: Type: CD-ROM ANSI SCSI revision: 00
    Feb 10 09:17:45 damned kernel: sr1: scsi3-mmc drive: 0x/52x cd/rw xa/form2 cdda tray
    Feb 10 09:17:45 damned kernel: sr 6:0:0:0: Attached scsi generic sg2 type 5

Если тут же заглянуть в dmesg, видно, что в устройствах он называется /dev/sr1 (на других машинах может быть иначе). Пробую eject /dev/sr1.

В messages вижу следующее:

    Feb 10 09:19:57 damned kernel: usb 1-1: USB disconnect, address 5
    Feb 10 09:20:02 damned kernel: usb 1-1: new high speed USB device using ehci_hcd and address 6
    Feb 10 09:20:02 damned kernel: usb 1-1: configuration #1 chosen from 1 choice
    Feb 10 09:20:02 damned kernel: scsi7 : SCSI emulation for USB Mass Storage devices
    Feb 10 09:20:07 damned kernel: Vendor: ZTE Model: MMC Storage Rev: 2.31
    Feb 10 09:20:07 damned kernel: Type: Direct-Access ANSI SCSI revision: 02
    Feb 10 09:20:07 damned kernel: sd 7:0:0:0: Attached scsi removable disk sdb
    Feb 10 09:20:07 damned kernel: sd 7:0:0:0: Attached scsi generic sg2 type 0

Т.е. выходит, что всё определилось без пересборки ядра или изменений внутренних настроек модема, предложенных в статье. В очередной раз говорю про себя "спасибо" разработчикам debian(а меня только недавно на gentoo сманивали).

Смотрим, как именно определилось с помощью cat /proc/bus/usb/devices

 T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 6 Spd=480 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=19d2 ProdID=0031 Rev= 0.00
    S: Manufacturer=ZTE, Incorporated
    S: Product=ZTE CDMA Technologies MSM
    S: SerialNumber=1234567890ABCDEF
    C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
    I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=none
    E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
    I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=none
    E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
    I: If#= 2 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
    E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=none
    E: Ad=84(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
    E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms

Устройство мы видим, но драйвер ещё не подгружен.

Подгружаю: modprobe usbserial vendor=0x19d2 product=0x031

Параметры vendor и product указаны в выводе предыдущей команды. В принципе, для данного модема они есть и в статье с гентушной вики.

В messages видно, что устройства создались:

Feb 10 09:43:00 damned kernel: usbcore: registered new driver usbserial
    Feb 10 09:43:00 damned kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
    Feb 10 09:43:00 damned kernel: usbserial_generic 1-1:1.0: generic converter detected
    Feb 10 09:43:00 damned kernel: usb 1-1: generic converter now attached to ttyUSB0
    Feb 10 09:43:00 damned kernel: usbserial_generic 1-1:1.1: generic converter detected
    Feb 10 09:43:00 damned kernel: usb 1-1: generic converter now attached to ttyUSB1
    Feb 10 09:43:00 damned kernel: usbserial_generic 1-1:1.3: generic converter detected
    Feb 10 09:43:00 damned kernel: usb 1-1: generic converter now attached to ttyUSB2
    Feb 10 09:43:00 damned kernel: usbcore: registered new driver usbserial_generic
    Feb 10 09:43:00 damned kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core

Отлично. В статье(и особенно в исходном треде) много говорилось про сложности работы с этими устройствами, однако для меня оказалось важным только одно: для основной работы используется именно третий интерйес, т.е. /dev/ttyUSB2.

Поэтому в настройках pppd создаю такой файл:

# cat /etc/ppp/peers/mts_modem | grep -v "#"
    user "mts"
    connect "/usr/sbin/chat -v -f /etc/chatscripts/mts"
    /dev/ttyUSB2
    noipdefault
    usepeerdns
    defaultroute
    persist
    noauth

Все остальные настройки совершенно такие же, как и при подключении через телефон.

Всё. Готово. Теперь, скомандовав pppd call mts_modem, я оказываюсь в интернете. Никаких проблем с разрывами соединения, описанных в статье, у меня не было. Поэтому и окончательное доведение до ума вышло проще. Достаточно ограничиться созданием правил в udev(обращаю внимание, что правила немного отличаются от приведённых в статье):

# cat /etc/udev/rules.d/z80_usb_modem.rules

    SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="2000", RUN+="/usr/bin/eject /dev/sr1"
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0031", RUN+="/sbin/modprobe usbserial vendor=0x19d2 product=0x031"

И изменении в скрипте для запуска инета mts на mts_modem.

Система: Debian GNU/Linux Etch 4.0r6

# uname -a
Linux damned 2.6.18-6-k7 #1 SMP Fri Dec 12 17:19:09 UTC 2008 i686 GNU/Linux

Share this post


Link to post
Share on other sites

Благодарю за руководство.

Только у меня проблема, выполняю все по порядку,

только я удалил из прошивки CD_STARTUP_FLAG, и необходимость в eject /dev/sr1 отпала.

выполняю команду pppd call mts_modem, никаких ошибок не выдает, а интернета все равно нет.

uname -aLinux Debian 2.6.26-2-686 #1 SMP Thu Mar 26 01:08:11 UTC 2009 i686 GNU/Linux

Share this post


Link to post
Share on other sites

Что пишет в логах pppd(скорее всего они складываются в /var/log/messages)? Весь лог выкладывать не надо, нужны только сообщения pppd.

Share this post


Link to post
Share on other sites

cppmm

У меня такой же телефон SE K320i. Хотел уточнить, изменилось ли качество связи в лучшую сторону после перехода на модем.

С удобством вроде проблем не возникает. Телефон всегда под рукой, во всяком случае в зоне действия bluetooth.

knight

Если pppd не пишет в логах никаких ошибок, то соединение, скорее всего, установилось. Посмотрите сообщение команды pppstats, и если ppp соединение действительно установлено, то смотрите маршрутизацию.

Share this post


Link to post
Share on other sites

gogi писал(а) Wed, 22 July 2009 18:15

cppmm

У меня такой же телефон SE K320i. Хотел уточнить, изменилось ли качество связи в лучшую сторону после перехода на модем.

С удобством вроде проблем не возникает. Телефон всегда под рукой, во всяком случае в зоне действия bluetooth.

Нет, качество связи не изменилось.

Просто я, когда это всё настраивал, пользовался интернетом не один, а при использовании телефона, если меня с телефоном нет дома, то нет там и интернета. Smile

Share this post


Link to post
Share on other sites

cppmm писал(а) Wed, 22 July 2009 19:42

Нет, качество связи не изменилось.

Просто я, когда это всё настраивал, пользовался интернетом не один, а при использовании телефона, если меня с телефоном нет дома, то нет там и интернета. Smile

Спасибо за информацию.

Я мобильным инетом на даче и в поездках пользуюсь. Скорость более менее утраивает, а вот время отклика утомляет, особенно в ssh. Smile

Share this post


Link to post
Share on other sites

gogi писал(а) Wed, 22 July 2009 19:15

cppmm

У меня такой же телефон SE K320i. Хотел уточнить, изменилось ли качество связи в лучшую сторону после перехода на модем.

С удобством вроде проблем не возникает. Телефон всегда под рукой, во всяком случае в зоне действия bluetooth.

knight

Если pppd не пишет в логах никаких ошибок, то соединение, скорее всего, установилось. Посмотрите сообщение команды pppstats, и если ppp соединение действительно установлено, то смотрите маршрутизацию.

pppstats

pppstats: nonexistent interface 'ppp0' specified

kppp не видит модем

при выводе команда ifconfig устройства ppp0 нет

Share this post


Link to post
Share on other sites

Цитата:

при выводе команда ifconfig устройства ppp0 нет

pppd должен был создать интерфейс

0) посмотрите внимательно,не скопировали ли вы бездумно опечатку в названиях файлов

Цитата:

# cat /etc/ppp/peers/mts | grep -v "#"

...

connect "/usr/sbin/chat -v -f /etc/chatscripts/mts" - одно имя

...

# cat /etc/ppp/chat/mts - указано другое имя

...

1) посмотрите ifconfig -a

2) попробуйте поднять интерфейс pon mts

3) если надоест смотреть логи, настройте wvdial.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...