Требуется настроить выход в сеть через мобильный телефон. На этой машине ранее стоял 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
Куда копать?