Gentoo и GPRS

GPRS через USB (Руководство)

Ссылка на оригинал: http://linuxforum.ru/

Автор: Nikoli (Linuxforum.ru)

С версии: 1.3


Появилась необходимость в GPRS соединение в качестве страховочного. Телефоны подключал по USB. Потратил пару часов на настройку, но в итоге получилось довольно простое решение. Здесь для Gentoo такого руководства не выкладывали, надеюсь моё будет полезно. Если считаете необходимым, добавьте его в FAQ.


1) Ядро должно быть собрано с:


Device Drivers  --->  
      USB support  --->
         <M>   USB Modem (CDC ACM) support


2) Должен быть установлен ppp

3) В /etc/conf.d/net нужно добавить:


#**********/-------Nokia with Megafon
config_ppp1=( "ppp" )
link_ppp1="ttyACM0"
pppd_ppp1=(
"debug" # Comment this off, if you don't need more info
#460800 # Serial port line speed
"crtscts" # hardware flow control for cable
"local" # Ignore carrier detect signal from the modem:
"lcp-echo-failure 0"
"lcp-echo-interval 0"
# IP addresses:
":0.0.0.0"
# - accept peers idea of our local address and set address peer as 10.6.6.6
# (any address would do, since IPCP gives 0.0.0.0 to it)
# - if you use the 10. network at home or something and pppd rejects it,
# change the address
"noipdefault" # pppd must not propose any IP address to the peer!
"ipcp-accept-local" # Accept peers idea of our local address
"defaultroute" # Add the ppp interface as default route to the IP routing table
#replacedefaultroute # New route should be our default route to Internet
"usepeerdns" # User DNS returned by server
"noauth" # The phone is not required to authenticate
# Most phone do not support compression, so turn it off.
#noipv6
#novj
#nobsdcomp
#novjccomp
#nopcomp
#noaccomp
# Username and password:
# If username and password are required by the APN, put here the username
# and put the username-password combination to the secrets file:
# /etc/ppp/pap-secrets for PAP and /etc/ppp/chap-secrets for CHAP
# authentication. See pppd man pages for details.
'user "internet"' # Change this
"persist" # Persistent connection
"maxfail 99999" # Retry and retry and retry if failed...
)
chat_ppp1=(
'TIMEOUT' '45'
'ABORT' 'BUSY'
'ABORT' 'NO CARRIER'
'ABORT' 'ERROR'
'' 'ATE1'
'OK' 'AT+CGDCONT=1,"IP","internet"'
'OK' 'ATD*99***1#'
'CONNECT' 'c'
)

#**********/-------Motorola with Beeline
config_ppp2=( "ppp" )
link_ppp2="ttyACM0"
pppd_ppp2=(
"debug" # Comment this off, if you don't need more info
#460800 # Serial port line speed
"crtscts" # hardware flow control for cable
"local" # Ignore carrier detect signal from the modem:
"lcp-echo-failure 0"
"lcp-echo-interval 0"
# IP addresses:
":0.0.0.0"
# - accept peers idea of our local address and set address peer as 10.6.6.6
# (any address would do, since IPCP gives 0.0.0.0 to it)
# - if you use the 10. network at home or something and pppd rejects it,
# change the address
"noipdefault" # pppd must not propose any IP address to the peer!
"ipcp-accept-local" # Accept peers idea of our local address
"defaultroute" # Add the ppp interface as default route to the IP routing table
#replacedefaultroute # New route should be our default route to Internet
"usepeerdns" # User DNS returned by server
"noauth" # The phone is not required to authenticate
# Most phone do not support compression, so turn it off.
#noipv6
#novj
#nobsdcomp
#novjccomp
#nopcomp
#noaccomp
# Username and password:
# If username and password are required by the APN, put here the username
# and put the username-password combination to the secrets file:
# /etc/ppp/pap-secrets for PAP and /etc/ppp/chap-secrets for CHAP
# authentication. See pppd man pages for details.
'user "internet.beeline.ru"' # Change this
"persist" # Persistent connection
"maxfail 99999" # Retry and retry and retry if failed...
)
chat_ppp2=(
'TIMEOUT' '45'
'ABORT' 'BUSY'
'ABORT' 'NO CARRIER'
'ABORT' 'ERROR'
'' 'ATE1'
'OK' 'AT+CGDCONT=1,"IP","INTERNET.MSK"'
'OK' 'ATD*99***1#'
'CONNECT' 'c'
)



4) Сделайте ссылки на net.lo


ln -s /etc/init.d/net.lo /etc/init.d/net.ppp1
ln -s /etc/init.d/net.lo /etc/init.d/net.ppp2



5) Подключите телефон с помощью USB, появится /dev/ttyACM0

6) Выполните


/etc/init.d/net.ppp1 start


Возможно у вас появится соединение с интернетом.
Полезно почитать вывод tail -f /var/log/messages :


Oct 27 01:18:03 kompyc pppd[9874]: pppd 2.4.4 started by root, uid 0
Oct 27 01:18:03 kompyc chat[9877]: timeout set to 45 seconds
Oct 27 01:18:03 kompyc chat[9877]: abort on (BUSY)
Oct 27 01:18:03 kompyc chat[9877]: abort on (NO CARRIER)
Oct 27 01:18:03 kompyc chat[9877]: abort on (ERROR)
Oct 27 01:18:03 kompyc chat[9877]: send (ATE1^M)
Oct 27 01:18:03 kompyc chat[9877]: expect (OK)
Oct 27 01:18:03 kompyc chat[9877]: ATE1^M^M
Oct 27 01:18:03 kompyc chat[9877]: OK
Oct 27 01:18:03 kompyc chat[9877]: -- got it
Oct 27 01:18:03 kompyc chat[9877]: send (AT+CGDCONT=1,"IP","internet"^M)
Oct 27 01:18:04 kompyc chat[9877]: expect (OK)
Oct 27 01:18:04 kompyc chat[9877]: ^M
Oct 27 01:18:04 kompyc chat[9877]: AT+CGDCONT=1,"IP","internet"^M^M
Oct 27 01:18:04 kompyc chat[9877]: OK
Oct 27 01:18:04 kompyc chat[9877]: -- got it
Oct 27 01:18:04 kompyc chat[9877]: send (ATD*99***1#^M)
Oct 27 01:18:04 kompyc chat[9877]: expect (CONNECT)
Oct 27 01:18:04 kompyc chat[9877]: ^M
Oct 27 01:18:05 kompyc chat[9877]: ATD*99***1#^M^M
Oct 27 01:18:05 kompyc chat[9877]: CONNECT
Oct 27 01:18:05 kompyc chat[9877]: -- got it
Oct 27 01:18:05 kompyc chat[9877]: send (c^M)
Oct 27 01:18:05 kompyc pppd[9874]: Serial connection established.
Oct 27 01:18:05 kompyc pppd[9874]: Using interface ppp1
Oct 27 01:18:05 kompyc pppd[9874]: Connect: ppp1 <--> /dev/ttyACM0
Oct 27 01:18:06 kompyc pppd[9874]: local IP address 10.205.145.43
Oct 27 01:18:06 kompyc pppd[9874]: remote IP address 10.6.6.6
Oct 27 01:18:06 kompyc pppd[9874]: primary DNS address 10.77.48.2
Oct 27 01:18:06 kompyc pppd[9874]: secondary DNS address 10.77.48.3



Проверял на том, что было. С отключённым сжатием у меня заработало, у вас его возможно нужно выключить. Если у вас есть замечания по улучшению, буду рад.
По мотивам:


http://gentoo-wiki.com/Nokia_S60_and_N_series
http://gentoo-wiki.com/HOWTO_Phone_sync
http://www.opennet.ru/base/modem/gprs_linux.txt.html


Настройка GPRS в Linux

Ссылка на оригинал: http://ru.gentoo-wiki.com

С версии: 1.3



Введение



Это руководство поможет настроить мобильный телефон для связи с провайдером через GPRS (на примере beeline). Для того, чтобы настроить мобильный телефон для связи через GPRS, вам понадобится подключить на вашем телефоне услугу GPRS. Обзавестись Mini-USB кабелем. Поправить ручками кое-что в ядре и собрать дополнительные пакеты из набора portage.

Подготовка



Для наших задач нам понадобится изменить несколько файлов настроек.

Я использовал ядро gentoo-sources-2.4.28-gentoo-r5 из portage,

дозвонщик wvdial оттуда же

и ppp-2.4.3-r1 тоже соответсвенно из portage.



Изменяем файлы:

Открываем /etc/make.conf для редактирования nano -w /etc/make.conf



Добавляем mppe-mppc (Нужно для подключения с шифрованием Microsoft MS-CHAPv2)к вашим USE Файл: /etc/make.conf



USE="mppe-mppc"



Сборка пакетов



Собираем pppd:

emerge /usr/portage/net-dialup/ppp/ppp-2.4.3-r1.ebuild



собираем wvdial:

emerge wvdial



редактируем ядро



cd /usr/src/linux && make menuconfig



(подразумевается что linux это символичесская ссылка на исходники ядра)



изменяем:



Network Device Support --->

<M> (PPP point-to-point protocol) support

[ ] PPP multilink support (EXPEREMRNTAL) (Вы же не хотите объеденять несколько телефонов в один канал)

[M] PPP filtering

<M> PPP support for async serial ports

<M> PPP support for sync tty ports

<M> PPP Deflate compression

<M> PPP BSD-Compress compression

<M> PPP over Ethernet (EXPEREMENTAL)



Примечание - т.к. у меня ядро 2.6.12-gentoo-r6, то выше названные модули я просто включил в ядро, и не возился в дальнейшем с их загрузкой. Пока проблем не было.



ISDN Subsystem --->

<*> ISDN Support

[*] Support asynchronus PPP

[*] PPP filtering for ISDN

[*] Use VJ-compression with asynchronus PPP


USB supprot --->

[*] Support for USB

--- USB Host Controller Driver

<*> ECHI HCD (USB2.0) support (EXPEREMENTAL)


(так как у меня чип материнской платы Intel то)

<*> UHCI (Intel PIIX4, VIA, ...) support

--- USB Device Class drivers

<M> USB Modem (CDC ACM) support



Примечание - для ядра 2.6.12-gentoo-r6 нужно установить:



Device Drivers ---> ISDN subsystem --->

ISDN subsystem --->

[*] CAPI2.0 Middleware support (Может и не нужно, но с ним работает)



Для C380 в данном разделе остальное у меня отключено.

И по меньшей мере для C380 дополнительно требуется установить:

Device Drivers ---> USB support ---> USB Serial Converter support --->

<*> USB Serial Converter support

[*] USB Serial Console device support






Сохраняем конфигурацию ядра и выполняем сборку. После сборки устанавливаем новое ядро

(Процесс установки ядра описан во многих источниках так что не буду повторяться)

и перезагружаем машину.

Настройка



После перезагрузки пытаемся загрузить модули

перед всеми манипуляциями проверить есть ли в /dev устройство ttyACM0, иначе скрипт и терминалка не увидят модема (телефона) по крайней мере в Fedore Core 2.0 если с ttyUSB0(1,2,3,4,5) ничего не вышло наберите находясь в /dev "mknod ttyACM0 c 160 0" (спасибо Pooh) и все должно заработать, естественно что модемом после этого будет устройство ttyACM0 (Yuri г. Barnaul)



Проверяем загрузились модули lsmod



Вывод должен выглядеть примерно так --->

ppp_async 6848 0 (unused)

ppp_generic 22628 0 [ppp_async]

slhc 4624 0 [ppp_generic]

acm 45353 0 [xxxxxxxxxxx] (не помню точно что должно быть)



Производим первичную конфигурацию wvdial

cd /etc && wvdialconf wvdial.conf



открываем для редактирования /etc/wvdial.conf

nano -w wvdial.conf Файл: /etc/wvdial.conf

и изменяем сделующие строки



Init2 = AT+CGDCONT=1,"IP","internet.beeline.ru"

Phone = *99***1#

Username = beeline

Password = beeline





сохраняем полученный файл. Если значение Init2 уже занато (для C380 в нем дополнительные комманды инициализации), то используйте значение Init3 (Init3 = AT+CGDCONT=1,"IP","internet.beeline.ru").



На некоторых тарифах имя пользователя и пароль пустые, тогда файл для C380 и ядра 2.6.12-r6 будет выглядеть примерно так: Файл: /etc/wvdial.conf



Modem = /dev/ttyACM0

Baud = 460800

Init1 = ATZ

Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

Init3 = AT+CGDCONT=1,"IP","internet.usi.ru"

ISDN = 0

Modem Type = Analog Modem

Phone = *99***1#

Username = ""

Password = ""

Установка соединения



запускаем wvdial



wvdial



Потираем ручки и юзаем GPRS на Linux



Автоматическая установка соединения



Если вы используете udev, можно настроить автоматическое подключение GPRS при подключении телефона к USB.

Для этого создайте такой вот файл: Файл: /etc/udev/rules.d/90-gprs-autodial.rules



KERNEL=="ttyACM0", RUN="/usr/bin/wvdial"



(немного некрасиво, но работает на ура)

..а при отключении телефона соединение оборвётся и без наших скриптов..





Примечание: А вообще, на домашних компьютерах можно использовать и графическую звонилку kppp, там и в командной строке набирать ничего не надо, да и удобнее она чем wvdial.



Заключение



Данная статья ни в коем случае не претендует на то что это является правильным и единственным способом подключения GPRS. Вся ответсвенность за действия ложится на ваши плечи. Я описал то что у меня работает. Допускаю что мог в чем то ошибиться так как писал это все на память так что милости прошу ваши коментарии и исправления можно отправлять по email darkman@rusgate.org



Экономим трафик, с помощью Toonel. (Linux)



Ссылка на оригинал: http://doc.3dn.ru/publ/9-1-0-12

Автор: Дмитрий a.k.a. doc (http://doc.3dn.ru)

С версии: 1.3



Бесплатный сервис toonel.net. Клиент написан на java, поэтому необходима виртуальная машина java.

Оф.сайт: www.toonel.net



Убедитесь, что у вас установлена виртуальная машина JAVA. Посмотрите в /usr/lib/jre-ххххх (х – номер версии), если нестоит то установите с диска дистрибутива (практический во всех дистрибутивах JAVA клиент есть), обычно называется j2re-xxxxx (х – номер версии), если Java стоит, то можно приступать к установке toonel.

Прежде чем запускать файл toonel, поменяйте у него права на чтение и запись.

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



$ java -jar /указываем путь/toonel.jar

Появляется окно программы.






Вкладка Stats – показывает статистику,

вкладка Mapping – настройка программы,

вкладка About – о программе.

Теперь переходим к настройки, вкладка Mapping.

Чтобы настроить сжатие в браузере жмем на 127.0.0.1

Здесь стоит hostname: 127.0.0.1

localport: 8080

web interface port: 7999

Устанавливаем нужный процент сжатия JPEG.

Теперь переходим в браузер, входим в Настройки, Параметры соединения.

Выбираем: Настройка прокси в ручную:

HTPP-прокси: 127.0.0.1 Порт:8080

SSL-прокси: 127.0.0.1 Порт:8080

FTP-прокси: 127.0.0.1 Порт:8080


Gopher-прокси:127.0.0.1 Порт:8080



Все теперь сжатие трафика с проводника установлено.

Сжимаем трафик электронной почты.


В Toonel на вкладке Mapping жмем на – new port mapping – в hostname пишем pop3 вашего почтового сервера, например pop3.yandex.ru , в local port указываем порт для прокси сервера, например 8111 и в remote port указываем порт для входящей почты обычно 110, и жмем кнопку Apply.

Для исходящей почты тоже самое только меняем порты, ну и конечножи сервер на smtp.







Все toonel для сжатия почты готов, теперь переходим в почтовый клиент.

Входим в Настройки, Параметры соединения, выбираем Настройка прокси вручную:

HTTP-прокси: 127.0.0.1 Порт:8080

SSL-прокси: 127.0.0.1 Порт:8080

После настройки прокси, входим в Параметры учетной записи и меняем Имя сервера: на 127.0.0.1 а порт 110, на порт который указали в toonel 8111.

Теперь и сжатие трафика входящей почты установлено.

Для исходящей почты Имя сервера: на 127.0.0.1 а порт 25, на порт который указали в toonel 8026.




Таким образом можно настроить сжатие любой программы которой вы пользуетесь выходя во всемирную паутину.





GPRS через KPPP



Ссылка на оригинал: http://www.linuxcenter.ru/lib/articles/networking/kppp_gprs_hints.phtml

Автор: Валентин Синицин

С версии: 1.3



Телефон с поддержкой GPRS сегодня есть практически у каждого. Руководств по настройке GPRS-соединения в Linux тоже предостаточно, но большая часть из них ориентирована на конкретных операторов сотовой связи или не выходит за рамки mini-HOWTO. В этой статье мы постарались дать общее представление о том, что представляет собой "GPRS в Linux" и привели примерную схему действий для настройки подключения "стандартными средствами" — через KPPP

С точки зрения повседневного использования сотовый телефон с поддержкой GPRS не слишком отличается от старого доброго модема на 14400 (да, и по скорости временами тоже). Значит, для подключения к "мобильному Интернету" можно использовать все привычные PPP-утилиты — ничего нового не потребуется. Впрочем, необходимо учесть кое-какие тонкости — о них мы и собираемся поговорить.

Как и всякое приличное "железо", GPRS-модем идентифицируется в системе файлом устройства в /dev. Его конкретное имя может отличаться в зависимости от дистрибутива и способа подключения: для дата-кабеля оно может называться /dev/ttyUSB0 (необходимо подгрузить драйвер используемого конвертера USB-to-Serial, чем, по сути, и является дата-кабель. Весьма распространенный вариант — pl2303, если в вашем дата-кабеле используется другая микросхема — ознакомьтесь с соответствующей секцией конфигуратора ядра Linux или поищите на форумах. В современных дистрибутивах с udev, как правило, необходим только скомпилированный модуль — все остальное, в том числе, создание файла устройства происходит автоматически), для IrDA — /dev/ircomm0, для Bluetooth — /dev/rfcomm0. В двух последних случаях потребуется некоторая предварительная настройка, выходящая за рамки данной статьи — все подробности можно найти в соответствующих HOWTO.

Настройку GPRS-подключения, как уже упоминалось выше, можно произвести стандартными утилитами. Конкретные параметры можно найти на сайте вашего оператора сотовой связи, здесь же мы опишем стандартную схему действий на примере KPPP.



GPRS через Bluetooth



Смотрите "HOWTO Соединение с Internet !"

13