LINUX.ORG.RU

GPRS через Bluetooth: Failed to open /dev/rfcomm0: Connection refused


0

1

Требуется настроить выход в сеть через мобильный телефон. На этой машине ранее стоял xandros, там был GUI, через который всё работало с этим телефоном. Теперь у меня debian lenny, ядро и python от squeeze. Делаю так:

Включаю bluetooth на обоих устройствах. Выполняю:

$ hcitool scan
Scanning ...
        64:D5:B3:CD:17:00       Philips Xenium 9@9k

$ sdptool search DUN
Searching for DUN on 64:D5:B3:CD:17:00 ...
Service Name: Dial-upnetworking
Service RecHandle: 0x10002
Service Class ID List:
  "Dialup Networking" (0x1103)
  "Generic Networking" (0x1201)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 3
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100

$ sudo rfcomm bind rfcomm0 64:D5:B3:CD:17:00 3
$ rfcomm
rfcomm0: 64:D5:B3:CD:17:00 channel 2 clean
$ sudo l2ping 64:D5:B3:CD:17:00
(...)
57 sent, 57 received, 0% loss
$ sudo pppd call megafon

Вижу ошибку: Failed to open /dev/rfcomm0: Connection refused

Содержимое /etc/ppp/peers/megafon:

/dev/rfcomm0 115200
# отключаем сжатие данных
nobsdcomp
nodeflate
# команда для установки соединения
connect '/usr/sbin/chat -v -f /etc/ppp/chat-megafon'
noauth
# автоматическое получение сетевых настроек
noipdefault
usepeerdns
defaultroute
# необязательно
debug
nodetach
#lcp-echo-failure 0

Содержимое /etc/ppp/chat-megafon:

TIMEOUT         5
ECHO            ON
ABORT           '\nBUSY\r'
ABORT           '\nERROR\r'
ABORT           '\nNO ANSWER\r'
ABORT           '\nNO CARRIER\r'
ABORT           '\nNO DIALTONE\r'
ABORT           '\nRINGING\r\n\r\nRINGING\r'
''              \rAT
TIMEOUT         12
OK              ATE1
OK              'AT+cgdcont=1,"IP","internet"'
OK              ATD*99***1#

Вариант два - wvdial со следующим конфигом:

[Dialer Defaults]
 init1 = ATZ
 init2 = AT+CGDCONT=1,"IP","internet" - строку инициализации вы должны узнать у своего оператора
 ISDN = 0
 Phone = *99# - скорее всего у вас такой же
 Username = "internet" - узнаётся у оператора, если для подключения к интернету оператор не требует логин и пароль, то лучше ввести любые символы, например "none"
 Password = "internet" - смотрите выше
 Modem = /dev/rfcomm0
 Baud = 460800
 New PPPD = yes

Ошибка та же - «Cannot open /dev/rfcomm0: Connection refused»

Нагуглил совет удалить /var/lib/bluetooth/* и совет удалить сопряжение в телефоне

Удалил и то, и другое. Пытаюсь выполнить повторное сопряжение, выходит так (здесь большие сомнения, что делаю это правильно): При

$ sudo hcitool cc 64:D5:B3:CD:17:00 && sudo hcitool con && sudo hcitool auth 64:D5:B3:CD:17:00
Connections:
        < ACL 64:D5:B3:CD:17:00 handle 11 state 1 lm MASTER
HCI authentication request failed: Input/output error

вывод hcidump такой:

$ sudo hcidump
HCI sniffer - Bluetooth packet analyzer ver 1.42
device: hci0 snap_len: 1028 filter: 0xffffffff
< HCI Command: Create Connection (0x01|0x0005) plen 13
> HCI Event: Command Status (0x0f) plen 4
> HCI Event: Connect Complete (0x03) plen 11
< HCI Command: Read Remote Supported Features (0x01|0x001b) plen 2
> HCI Event: Command Status (0x0f) plen 4
< HCI Command: Remote Name Request (0x01|0x0019) plen 10
> HCI Event: Read Remote Supported Features (0x0b) plen 11
> HCI Event: Command Status (0x0f) plen 4
< HCI Command: Authentication Requested (0x01|0x0011) plen 2
> HCI Event: Command Status (0x0f) plen 4
> HCI Event: Link Key Request (0x17) plen 6
< HCI Command: Link Key Request Negative Reply (0x01|0x000c) plen 6
> HCI Event: Command Complete (0x0e) plen 10
> HCI Event: PIN Code Request (0x16) plen 6
< HCI Command: PIN Code Request Negative Reply (0x01|0x000e) plen 6
> HCI Event: Command Complete (0x0e) plen 10
< HCI Command: PIN Code Request Negative Reply (0x01|0x000e) plen 6
> HCI Event: Auth Complete (0x06) plen 3
> HCI Event: Command Complete (0x0e) plen 10
> HCI Event: Max Slots Change (0x1b) plen 3
> HCI Event: Remote Name Req Complete (0x07) plen 255
< HCI Command: Disconnect (0x01|0x0006) plen 3
> HCI Event: Command Status (0x0f) plen 4
> HCI Event: Disconn Complete (0x05) plen 4

Содержимое секции options файла /etc/bluetooth/hcid.conf таково;

        autoinit yes;
        security user;
        pairing multi;
        passkey "1234";

Что меня смущает, так это что auth можно нужно успеть выполнить за пару секунд после cc:

$ sudo hcitool cc 64:D5:B3:CD:17:00 && sudo hcitool con
Connections:
        < ACL 64:D5:B3:CD:17:00 handle 11 state 1 lm MASTER
$ sudo hcitool cc 64:D5:B3:CD:17:00 && sleep 5 && sudo hcitool con
Connections:
$ sudo hcitool cc 64:D5:B3:CD:17:00 && sudo hcitool con && sudo hcitool auth 64:D5:B3:CD:17:00
Connections:
        < ACL 64:D5:B3:CD:17:00 handle 11 state 1 lm MASTER
HCI authentication request failed: Input/output error

Куда копать?

>xandros, там был GUI, через который всё работало с этим телефоном

sudo apt-get install bluez

MyFreedom ★★★
()

В bluez появилась регрессия. Просто соединись с Интернетом и тогда спросят pin. А hcitool cc больше не работает.

GUI назывался KPPP. Есть еще Gnome-PPP.

Zenitar
()
Ответ на: комментарий от Zenitar

KPPP из KDE3 пробовал, но он отпал сразу - пишет, что нет ответа от модема. Gnome-PPP, думаю, выведет то же самое.

При соединении через wvdial телефон спрашивал PIN трижды, я вводил «1234», согласно конфигу. Однако, он ругался той же ошибкой и спрашивал PIN снова. Таких попыток было 3. Если вводить неверный пин, сообщение об ошибке такое же, как если вводить верный. Как я понимаю, у меня сложность именно с настройкой сопряжения устройств.

aptitude скзала «E: Не удалось найти пакет bluez»

lost_shadow
() автор топика

Как-то не очень понял, как ты без Bluez работаешь?

Если не находит Bluez, посмотри bluez-utils и blues-libs.

В ём сейчас кая-то другая схема запроса кода. Раньше он вылазил, а сейчас передаётся через dbus, так что нужна прога, которая ловит этот запрос и спрашивает в диалоге. В blues входит такой simple-agent, который может это сделать, но в gentoo, например, чтобы он установился нужно устанавливать с включённой отладкой.

Смоляное Чучелко

fat-II
()

Ну вот и у меня та же самая проблема. Мне надо из консоли соединиться с телефоном, через hcitool. Потому что ни Gnome-bluetooth, ни kde-bluetooth в этой системе нет, а blueman не работает. Что сделать?

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