LINUX.ORG.RU

Настройка и использование мобильного телефона как модем

 ,


0

3

Здравствуйте мои маленькие любители консольки-пердольки! (ц) Вопрос в конце поста. Сперва предыстория.

Использую дистрибутив CRUX (читай: LFS, данный метод оттестирован и будет работать везде), а так же использую ванильное ядро с kernel.org, т.е. собираем всё ручками.

В настройках ядра необходимо включить опции ppp_async (Device drivers -> Network device support -> PPP) и usb_acm (Device drivers -> USB support -> USB Modem (CDC ACM) support).

При подключении мобильного телефона выбрать режим PC Suite — тестировалось на Nokia N900 и Nokia C2-01, оба телефона прекрасно работают как модем через USB-шнурок.

В последствии, телефон подключенный к вашему ПК будет отображаться как модем /dev/ttyACM0.

Мой ОпСоС мегафон, настраивается следующим образом.

В /etc/ppp/peers/megafon пишем

/dev/ttyACM0
57600

persist
holdoff 5
maxfail 0

defaultroute
usepeerdns

connect '/usr/sbin/chat -v -f /etc/ppp/chats/megafon'

В /etc/ppp/chats/megafon пишем

"" AT
OK AT+CGDCONT=1,"IP","internet"
OK ATD*99***1#
CONNECT

Теперь выполняем pppd call megafon и довольствуемся мобильными интернетами с нашего ПК или ноутбука!

# tail -f /var/log/messages

Jun 10 03:27:14 host pppd[2108]: pppd 2.4.7 started by root, uid 0
Jun 10 03:27:15 host chat[2109]: send (AT^M)
Jun 10 03:27:15 host chat[2109]: expect (OK)
Jun 10 03:27:15 host chat[2109]: AT^M^M
Jun 10 03:27:15 host chat[2109]: OK
Jun 10 03:27:15 host chat[2109]:  -- got it 
Jun 10 03:27:15 host chat[2109]: send (AT+CGDCONT=1,"IP","internet"^M)
Jun 10 03:27:15 host chat[2109]: expect (OK)
Jun 10 03:27:15 host chat[2109]: ^M
Jun 10 03:27:15 host chat[2109]: AT+CGDCONT=1,"IP","internet"^M^M
Jun 10 03:27:15 host chat[2109]: OK
Jun 10 03:27:15 host chat[2109]:  -- got it 
Jun 10 03:27:15 host chat[2109]: send (ATD*99***1#^M)
Jun 10 03:27:15 host chat[2109]: expect (CONNECT)
Jun 10 03:27:15 host chat[2109]: ^M
Jun 10 03:27:17 host chat[2109]: ATD*99***1#^M^M
Jun 10 03:27:17 host chat[2109]: CONNECT
Jun 10 03:27:17 host chat[2109]:  -- got it 
Jun 10 03:27:17 host pppd[2108]: Serial connection established.
Jun 10 03:27:17 host pppd[2108]: Using interface ppp1
Jun 10 03:27:17 host pppd[2108]: Connect: ppp1 <--> /dev/ttyACM0
Jun 10 03:27:18 host pppd[2108]: not replacing existing default route through ppp0
Jun 10 03:27:18 host pppd[2108]: local  IP address 100.68.170.187
Jun 10 03:27:18 host pppd[2108]: remote IP address 10.6.6.6
Jun 10 03:27:18 host pppd[2108]: primary   DNS address 10.154.44.158
Jun 10 03:27:18 host pppd[2108]: secondary DNS address 85.26.231.188

# ifconfig

ppp1      Link encap:Point-to-Point Protocol
          inet addr:100.68.170.187  Bcast:0.0.0.0  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:64  TX bytes:97

Вопрос! У меня не работает автоматическое переподключение к интернетам, щито поделать?

Указана опция persist, значит pppd демон никогда не завершается. Я тупо отключаю мобильный телефон от ноутбука, pppd в /var/log/messages пишет ошибку, типа...

Jun 10 03:29:58 host pppd[2108]: Failed to open /dev/ttyACM0: No such file or directory

Ну понятно, модем отобрали у него. Затем снова подключаю мобильный телефон, выбираю всё тот-же режим PC Suite, pppd его видит, но автоматически подключаться к интернетам не желает!

Jun 10 03:29:44 host pppd[2108]: Serial connection established.
Jun 10 03:29:44 host pppd[2108]: Using interface ppp1
Jun 10 03:29:44 host pppd[2108]: Connect: ppp1 <--> /dev/ttyACM0
Jun 10 03:29:45 host pppd[2108]: LCP terminated by peer
Jun 10 03:29:48 host pppd[2108]: Connection terminated.
Jun 10 03:29:48 host pppd[2108]: Hangup (SIGHUP)
Jun 10 03:29:48 host pppd[2108]: Modem hangup

ЧЯДНТ? chat успешно отрабатывает, соединение типа устанавливает, но не подключается.

В телефоне в этот момент всплывает окошечно что у него ошибка сети.

Аналогичная ситуация происходит, когда я посылаю сигнал kill -s HUP `pgrep pppd`, т.е. говорю ему чтобы он просто переподключился сам. Он не переподключается. Вываливается в ошибку.

Что сделать, чтобы он нормально переподключался?

Не хочу костыли типа перезапуск pppd демона, хочу просто грамотно настроить. =(

★★★★★

Использую дистрибутив CRUX

Пни их там, чтобы перешли с md5 на что-нибудь вменяемое.

Esteban_Garcia ()

Мопед сам не сбросится...

Что сделать, чтобы он нормально переподключался?

ATZ отправлять. Это как минимум.

border-radius ()
Последнее исправление: border-radius (всего исправлений: 1)

Здравствуйте мои маленькие любители консольки-пердольки! (ц)

лол :D жжёшь

Harald ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.