GPRS HOWTO, Bluetooth, ...
Гость 23 июля, 2005 - 13:46
Предлагаю всем описать "свои рецепты" настройки GPRS соединений, использования Bluetooth и быть может чего-то еще.
»
- Для комментирования войдите или зарегистрируйтесь
GPRS via wvdial
Для выхода в Интернет через GPRS использую net-dialup/wvdial. Эта "звонилка" конечно же входит в мою сборку "Gentooth Live Linux".
Рецепт очень прост - нужно заполнить /etc/wvdial.conf. (в Gentooth пример такого файла уже есть)
Вот пример моего "работающего", хоть и не притендующего на образец для подражания конфига:
Здесь приведен пример 3-х секций. Первая "[Dialer Defaults]" используется по-умолчанию, просто запустите от root `wvdial`. Для второй и третей нужно запускать wvdial с параметром, например `wvdial mts`.
Важным моментом является указание последовательного устройсва через которе будет производится соединение. Если у вас телефон включен в СOM порт №1, то это будет /dev/ttyS0, если вы используете Bluetooth, то это скорей всего /dev/rfcomm0, если сотовый телефон (например типа SonyEricsson) вкюченый через USB и использующий внутри стандартный "USB to serial converter" (напрмер подерживаемый распространеным модулем pl2303), то возможно это /dev/tts/USB0. Конечно имена устройств зависят от того чеге вы используете devfs или udev или что там сейчас еще (devfs2?). Я в последнее время использую udev.
Я использую USB Bluetooth адаптер не требующий прошивки (firmware), для этого достаточно выполнить `modprobe hci_usb`. Для настройки Bluetooth (поднятия rfcomm) я не утруждаю чебя вызовами утилит из пакета bluez-utils, а использую предлагаемые стартовые скрипты. Можно подредактировать по вкусу /etc/bluetooth/hcid.conf, а можно и воспользоваться умолчаниями. Далее я запускаю `/etc/init.d/bluetooth start`. Теперь нужно узнать "мак" адрес вашего телефона. Сделайте телефон доступным и выполните `hcitool scan`. Если вам повезет, то вы сможете узнать адрес вашего телефона, это что-то типа 11:22:33:44:55:66 - очень похоже на MAC адрес используемый в Ethernet. Теперь настройте /etc/bluetooth/rfcomm.conf. Вот мой пример:
Для GPRS будет использоваться /dev/rfcomm0, для передачи файлов посредством OBEX-push /dev/rfcomm1. Напомню, что в случае с devfs (а не udev как у меня) файлы устройств появятся в /dev/bluetooth/rfcomm/0 и /dev/bluetooth/rfcomm/1! Додправив конфиг перезапустите стартовые скрипты (в особенности rfcomm) `/etc/init.d/bluetooth restart`. Теперь нужно "запарить" ваши устройсва. Я это делаю "отдельно". Выполняю `echo ATZ > /dev/rfcomm0` и ввожу пин код в телефоне 1234 (содержимое /etc/bluetooth/pin). "Запарить" ПК и телефон можно и впроцессе первого подключения, но тогда возможно, если вы будете нерасторопны, "звонилка" (в нашем случае wvdial) может сказать что-то типа "modem timeout". Все! Теперь запускайте wvdial и пусть вам повезет! Если не повезет, проверьте DNS и шлюз по-умолчанию, скрипты и конфиги в /etc/ppp/*.
При использовании телефона с "USB хвостиком" внутри которого стоит стандартный чип преобразование USB в RS-232 (COM порт), достаточно подгрузить соответсвующий модуль, например `modrobe pl2303`.
Какой модуь подгружать поможет `lsusb` из пакета sys-apps/usbutils. Надежный алгоритм поиска где же появится файл последовательного устройства мне пока не ясен. Методом наблюдения замечено, что при udev это /dev/tts/USB0, при devfs (если не ошибаюсь) /dev/tts/0 (ИЩИТЕ САМИ!).
Для передачи файлов между телефоном и ПК можно использовать много чего. Есть поддержка и в KDE и в GNOME. Но как же все это противно! Сколько нужно скачать и скомпилировать чтобы все это заработало! Для счастливых обладателей SIEMENS может пригодится app-mobilephone/obexftp. У меня же на Motorola эта утилита не работала, потому я использовал не OBEX-FTP, а OBEX-PUSH. На телефоне SonyEricsson OBEX-FTP вообще не было, а был только OBEX-PUSH. Узнать "чего есть" в вашем телефоне можно так: `sdptool browse 11:22:33:44:55:66`. Конечно же адрес нужно указать вашего телефона, который вы получили с помощью `sdptool scan`. И так, я остановился на OBEX-PUSH, т.е. передаче файлов "по-одному". Есть поддержка в gnome - пакет gnome-bluetooth, но как же криво его ставить на систему на которой нет Gnome! А ведь для передачи файлов "почти все" есть в уже установленном вами net-wireless/bluez-libs! Почти! Нет только самой малости, малюсенькой программы которая является сервером и складирует принимаемые файлы и малюсенькой программы для отправки файов посредсвом OBEX-PUSH. Эти программы я недавно все-таки нашел. Вот ссылки: http://www.xmailserver.org/ussp-push.html и http://oss.bdit.de/opd.html. opd входит в портежи Gentoo но с ~x86 (т.е. как бы нестабильна). Работать с этими програмками проще простого и я воздержусь от коментариев в своем монологе.
Хотеось бы узнать (подсмотреть пример конфигов) как поднимать сетевой интерфейс ppp не через надстройку ("звонилку") wvdial, а с помощью стартовых скриптов /etc/init.d/net.ppp0 (посмотреть бы пример /etc/conf.d/net.ppp0). Так же интересно какими "легковесными" утилитами можно пользоваться для обмена файлами через Bluetooth и для чего (и как?) еще можно использовать Bluetooth в Linux.
В общем я уже ищу второй день
В общем я уже ищу второй день и вот сдался - решил написать на форуме. Дело вот в чем:
linux calculate 9.7 CL
телефон samsung u100 - хочу использовать как модем
Устанавливаю
wvdial-1.60.tar.gz
wvstreams-4.4.tar.gz
xplc-0.3.13.tar.gz
запускаю wvdialconf, пишет что найден usb modem /dev/как-то обзывает его
открываю /etc/conf.d/wvdial.conf пишу там логин и пароль, пытался еще добавлять/убирать строки init - как пишут почти на всех форумах. Но не помогает. Все время одно и тоже
пишу: wvdial
calculate ~ # wvdial
--> Ignoring malformed input line: "Check DNS"
--> Ignoring malformed input line: "DNS 213.087.000.001"
--> Ignoring malformed input line: "DNS 213.087.001.001"
--> WvDial: Internet dialer version 1.60
--> Initializing modem.
--> Sending: AT+CGDCONT=1,"IP","internet.mts.ru"
AT+CGDCONT=1,"IP","internet.mts.ru"
OK
--> Modem initialized.
--> Sending: ATD'*99**1*1#'
--> Waiting for carrier.
ATD'*99**1*1#'
NO CARRIER
--> No Carrier! Trying again.
--> Sending: ATD'*99**1*1#'
--> Waiting for carrier.
ATD'*99**1*1#'
NO CARRIER calculate ~ # wvdial
--> Ignoring malformed input line: "Check DNS"
--> Ignoring malformed input line: "DNS 213.087.000.001"
--> Ignoring malformed input line: "DNS 213.087.001.001"
--> WvDial: Internet dialer version 1.60
--> Initializing modem.
--> Sending: AT+CGDCONT=1,"IP","internet.mts.ru"
AT+CGDCONT=1,"IP","internet.mts.ru"
OK
--> Modem initialized.
--> Sending: ATD'*99**1*1#'
--> Waiting for carrier.
ATD'*99**1*1#'
NO CARRIER
--> No Carrier! Trying again.
--> Sending: ATD'*99**1*1#'
--> Waiting for carrier.
ATD'*99**1*1#'
NO CARRIER
И так много раз. На телефоне идет набор номера и обрывается. Помогите разобраться.
GPRS by /etc/init.d/net.ppp0
Недавно удалось выйти в Интернет используя GPRS с помощью штатных стартовых скриптов Gentoo Linux. Таким образом, необходимость в "дополнительной звонилки" типа wvdila, kppp и.т.п. отпала. Вот пример "работающего" конфигурационного файла /etc/conf.d/net.ppp0 для выхода в Интернет использую Bluetooth (модем на /dev/rfcomm0) и "Beeline GSM".
Ранее у меня скрипт /etc/init.d/net.ppp0 не работал "из коробки", т.е. задание номера телефона, пароля, строки инициализации было недостаточно. Проблема разрешилась в процессе чтения логов с DEBUG="yes", `man pppd` включением опции PPPOPTIONS="noipdefault". Обращаю внимание, что я использовал PEERDNS="no" т.к. предпочитаю использовать bind в качестве кеширующего сервера имен (в Gentoo работает "из коробки") и тем самым немного экономить на трафике (при длительных сеансах) и немного увеличить скорость (хоть это и крохи).
Для "поднятия" ppp0 интерфеса достаточно выполнить `/etc/init.d/net.eth0 start` от суперпользователя. Я это делаю после запуска Bluetooth `/etc/init.d/bluetooth start`.
а с авторизацией как?
Собсно сабж...
Я у себя настроил жапарез, но заходил я с его помощью все пару раз - достаточно давно.
Когда он мне действительно понадобился, начались проблемы с mppe/mschap etc.
Плюс заветная фраза "LCP Terminated by peer".
Если не впадлу, выложи плз /etc/ppp/options
Есть ли какие другие зависимости?
у меня при авторизации (Megafon использует PAP) требует инкрипшн, иначе LCP Terminated... etc, а када включаешь инкрипшн, требует мсчап-в2 - кароче прям замкнутый круг - может по этому поводу че подсказать у каво-нить есть?
_________________
МалышЪ
/etc/ppp/options в случае использования /etc
В случае использования /etc/init.d/net.ppp0 файл опций /etc/ppp/options не нужен. Сценарий формирует опции самостоятельно и передает их pppd. Другие конфигурационные файлы (/etc/ppp/pap-secrets и другие) сценарий генерирует "на лету" если указаны AUTOCFGFILES="yes" и AUTOCHATSCRIPT="yes". Пользуйтесь /etc/conf.d/net.ppp0 для задания опций, например PPPOPTIONS="noipdefault".
gprs + bluetooth через net.ppp0
в gentoo уже есть готовый скрипт /etc/init.d/net.lo net.
net.eth0 - символьная ссылка на него.
соответственно создаем аналогичную ссылку
/etc/init.d/net.ppp0 указывающую на /etc/init.d/net.lo
все что остается сделать - корректно прописать опции в файле
/etc/conf.d/net
у меня секция отвечающая за ppp0 выглядит следующим образом:
config_ppp0=( "ppp" )
RC_NEED_ppp0="bluetooth"
link_ppp0="/dev/rfcomm0"
username_ppp0="mts"
password_ppp0="mts"
pppd_ppp0=(
"maxfail 0" # WARNING: It's not recommended you use change this
# if you don't specify maxfail then we assume 0
"updetach" # If not set, "/etc/init.d/net.ppp0 start" will return
# immediately, without waiting the link to come up
# for the first time.
# Do not use it for dial-on-demand links!
"debug" # Enables syslog debugging
"noauth" # Do not require the peer to authenticate itself
"defaultroute" # Make this PPP interface the default route
"usepeerdns" # Use the DNS settings provided by PPP
# Dead peer detection
"lcp-echo-interval 15" # Send a LCP echo every 15 seconds
"lcp-echo-failure 3" # Make peer dead after 3 consective
# echo-requests
# Dial-up settings
"lock" # Lock serial port
"115200" # Set the serial port baud rate
"modem crtscts" # Enable hardware flow control
"noauth"
"kdebug 7"
"persist"
)
phone_number_ppp0=( # Maximum 2 phone numbers are supported
"*99#"
)
chat_ppp0=(
'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO ANSWER'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'ABORT' 'Username/Password Incorrect'
'TIMEOUT' '5'
'' 'AT+CGDCONT=1,"IP","internet.mts.ru"'
'OK' 'ATDT\T'
'TIMEOUT' '60'
'CONNECT' ''
'TIMEOUT' '5'
'~--' ''
)
причом на самом деле я изменил только имя пользователя, пароль и строку инициализации модема, все остальное - из примера конфигурации.
особое внимание прошу обратить внимание на строку
RC_NEED_ppp0="bluetooth"
таким образом, мы заставляем включатся ppp0 после того, как система поднимет bluetooth.
теперь, если все правильно настроено, достаточно добавить оба скрипта в загрузку.
rc-config add bluetooth
rc-config add net.ppp0
мне кажется так правильней, и судя по комментариям в скриптах, так оно и задумывалось :-)
Вы бы лучше на
Вы бы лучше на вики зашли и поправили, если что-то там не так...
dmrg, спасибо! Все
dmrg, спасибо! Все завелось с пол пинка на мотороле C650 и МТС.
всё так и сделал. localhost
всё так и сделал.
localhost minoru # /etc/init.d/net.ppp0 start
* Caching service dependencies ... [ ok ]
* Starting ppp0
* Bringing up ppp0
* ppp
* Running pppd ...
ppp0: error fetching interface information: Device not found
* ppp0 received address
что делать?
оператор мегафон. ещё вопрос, а как сделать что бы соединялся без юзера и пароля? на мегафоне их нет.
принимает соединение с любым
принимает соединение с любым паролем обычно internet/internet
Тоже не получается настроить;
Тоже не получается настроить; вывод "/etc/init.d/net.ppp0 start" такой же. При этом телефон к инету подключается и тут же отключается.
Если кто может
Если кто может помочь:
Телефон samsung d780
wvdial:
и висит до посинения.
нокия 5610:
то же самое, только после окей появляется delayed. и пытается по кругу подключиться.
то же саоме с /etc/conf.d/net.ppp0
если загружать через init.d тогда на дисплее просто подключился такой то, появляется значек EDGE, такой то отключился. С помощью wvdial на телефоне идёт набор номер потом буква D номер, и отрубается (как я понимаю как раз wvdial и говорит DELAYED)
Позвонил оператору, сказали в нокии настоить точку доступа, строку инициализации убрать, и номер поставить в *99# делаю так, такая же ситуация.
юзаю gnome-ppp всё
юзаю gnome-ppp
всё отлично
строки инициализации такие:
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
AT+CGDCONT=1,"IP","internet" // MegaFon всё отлично с первого раза конект, только пароль и имя требует gdata, номер телефона *99***1#
Сворачивается себе и висит ьв областе уведомлений.. всё быстро и просто
консоль + bluetooth + интернет
Выход в интернет с консоли, через bluetooth + мобильный телефон вызывает некоторые сложности, хоть данная тема и освещена в интернетах. Здесь я постараюсь описать весь цикл - подробно.
1)Что нужно включить в ядре:
2)Необходимое программное обеспечение:
В некоторых интернетах еще советуют установить bluez-utils, но как показала практика, в этом нет острой необходимости.
3)Настройка:
Для начала поищем свой телефон.
Нам нужны МАК-адрес и номер канала. Дальше отредактируем файл /etc/bluetooth/rfcomm.conf
Строки — device и channel имеют значения из вывода команды sdptool, строка comment — любая, на Ваше усмотрение. Следующим шагом создаем устройство rfcomm0 (номер устройства прописан в файле rfcomm.conf) и проверяем, что у нас получилось.
Если что-то не так, читаем все заново до полного просветления ;-)
4) Сопряжение с телефоном:
Теперь наступает самый сложный момент во всей эпопее. Сложный он потому, что доступная информация по этому вопросу в интернетах, мягко выражаясь — слегка устарела. Но после длительного гугления я все-же нашел ответ на этот вопрос. К сожалению ссылку на информацию и автора не помню, но его труды не пропадут!
И так, у нас должен появится каталог /var/lib/bluetooth/00:19:7E:DA:29:BD/ Такое странное название каталога, это всего лишь МАК-адрес bluetooth устройства нашего компьютера. Узнать его можно с помощью команды
Следующим шагом создаем в этом каталоге файл pincodes с нужным нам пинкодом такого формата: «МАК-адрес нашего телефона пинкод» Проще всего это сделать командой
Теперь нужно только постучатся в телефон, например так
И на запрос пинкода телефоном, указать тот, который мы прописали в файле pincodes
5) Выход в интернет:
Приводим файл /etc/conf.d/net вот к такому виду
После чего необходимо создать символическую ссылку на файл /etc/init.d/net.lo
При подключении к интернету необходимо учитывать, что при включенном сетевом адаптере eth0 (ну и всех остальных), соединение через bluetooth установить не удастся (не прибегая к дополнительным танцам с бубном). Поэтому сетевой адаптер необходимо предварительно отключить.
Дальше у меня идет срыв соединения и выводится сообщение - ppp0: error fetching interface information: Device not found. Если у Вас так-же, подождите пару минут, демон pppd самостоятельно переподключится и в этом случае все нормально, соединение не прерывается и держится устойчиво. В чем здесь дело я пока не разобрался, но кто ищет тот всегда найдет ;-) Ну а дальше
Всем спасибо, все свободны ;-)
Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...
я так
я так настраивал:
http://open-club.ru/main/blogs/Palach/Настройка_GPRS_интернета_через_Bluetooth_телефон_MING_A1200e
Gentoo Way - Дорогу знаю. Секс люблю.
Заработало только тогда,
Заработало только тогда, когда сделал по ссылке, приведенной palachmb. За что ему отдельное спасибо.
Старый глюк лучше новых двух.