В поисках пятого угла

00:24 

ДА ДА ДА ЧЕРТ ВОЗЬМИ ДА!11

narical



Все нижеизложенное - результат многомесячных битв с линуксом за право пользоваться мобильным инетом так, как я этого хочу.

Итак, вы хотите настроить интернет на компьютере, используя GPRS / EDGE / 3G - телефон с соединением через bluetooth.
На арчевики есть подробнейшие на первый взгляд инструкции, но они почему-то не помогают. Либо оно не работает, либо работает через раз, либо требует странных шаманских действий - одним словом, неведомая ебаная хуйня в действии. Особенно характерна ситуация, когда вот только что оно работало, ты сидел в инете - и вдруг раз! Пишет что все пиздец, к /dev/rfcomm0 доступ запрещен, инет не поднимается - и ничего, НИЧЕГО не помогает. Ни рестарт демонов, ни перезагрузка компа, ни включение-включение телефона...

Итак, несколько секретов.

1. Подготовка
Великий лайф-хак совет - если вы уже некоторое время возились, "спаривая" телефон с компом, но результат работает хреново или не работает совсем, очистите содержимое директории /var/lib/bluetooth/ !
Это нужно, чтобы заново спарить неправильно до этого спареные устройства.

2. Спаривание, оно же pairing, bluetooth-устройств.
Правильно оно производится так:

- BT на телефоне включен, модули ядра загружены, BT на компе (в случае наличия хардварного выключателя) включен, сервисы dbus и bluetooth запущены, /etc/bluetooth/main.conf просмотрен вручную и подправлен по необходимости - всяческие тайм-ауты при обнаружении новых устройств и все такое

- запускаем hcitool scan, он выдает список обнаруженных BT-устройств и их MAC-адреса. Копируем MAC своего телефона в буфер, файлик, в крайнем случае записываем на бумажку

- от рута выполняем bluez-simple-agent hci0 $СКОПИРОВАННЫЙ MAC-АДРЕС$
Телефон и комп обязаны снюхаться, начать спрашивать про PIN-коды, как вам тут действовать - природа подскажет :3

3, вариант 1: Подключение к инету, console-only way

- ставим пакет wvdial

- команда sdptool browse выдаст все доступные службы на всех bluetooth-устройствах окрест. Можно в принципе указать MAC-адрес в качестве парамета, чтобы ограничиться сканированием своего телефона. В выводе команды необходимо найти описание службы Dial-Up Networking (DUN) и узнать номер её канала (channel).

- открываем для редактирования файл /etc/bluetooth/rfcomm.conf и приводим к такому виду:

#
# RFCOMM configuration file.
#

rfcomm0 {
bind yes;
device $MAC-АДРЕС_ТЕЛЕФОНА$;
channel $НОМЕР_КАНАЛА$;
comment "пишите что хотите";
}


- открываем для редактирования файл /etc/wvdial.conf и приводим к такому виду:

[Dialer Defaults]
Modem = /dev/rfcomm0
Baud = 115200
Init1 = ATZ
Init2 = ATE0

[Dialer megafon]
Modem = /dev/rfcomm0
Init3 = AT+cgdcont=1,"IP","internet"
Phone = *99#
Stupid Mode = 1
Username = mega
Password = mega


Вместо параметров соединения для мегафона используем аналогичные от своего сотового оператора.

- Рестартуем сервис bluetooth, он должен прибиндить порт /dev/rfcomm0 к телефону

- Поднимаем интернет командой wvdial megafon (в моем случае), в вашем - используйте вашу замену слову megafon в строчке [Dialer megafon].

3, вариант 2: Подключение к инету, GUI-way

- ставим blueman

- в нем устройство будет уже спаренным - нажмем ещё и trust в контекстном меню.

- жмем "Подключиться к: точка доступа" в контекстном меню
После этого ifconfig покажет нам появление ещё одного сетевого интерфейса - bnep0

- осталась малость: запустить dhcpcd - чтобы получить IP-адрес, DNSы и прочее. На телефоне должна присутствовать служба "Точка доступа", другие подключения типа Wi-Fi лучше отключить совсем.

@темы: DUN, 3G, EDGE, GPRS, archlinux, bluetooth, linux, pairing, rfcomm0, интернет

URL
   

главная