The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Подключение мобильного телефона T68 через Bluetooth к Linux (wireless bluetooth driver linux gprs mobile modem)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: wireless, bluetooth, driver, linux, gprs, mobile, modem,  (найти похожие документы)
From: Dmitry Lya <mcweesatbasis-is.spb.ru> Newsgroups: http://www.linux.ru/ Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC) Subject: Подключение мобильного телефона T68 через Bluetooth к Linux Оригинал: http://www.linux.ru/articles/bluetooth2/ Прикручиваем T68 через Bluetooth к линуксу Для начала необходимо включить поддержку bluetooth в ядре (устественно, поддержку USB тоже, если ваш адаптер для этой шины). В моем случае (USB bluetooth dongle MSI MS-6967) адаптер поддерживается драйверами BlueZ (http://bluez.sourceforge.net/) - # # Bluetooth support # CONFIG_BLUEZ=m CONFIG_BLUEZ_L2CAP=m CONFIG_BLUEZ_SCO=m CONFIG_BLUEZ_RFCOMM=m CONFIG_BLUEZ_RFCOMM_TTY=y CONFIG_BLUEZ_BNEP=m CONFIG_BLUEZ_BNEP_MC_FILTER=y CONFIG_BLUEZ_BNEP_PROTO_FILTER=y # # Bluetooth device drivers # CONFIG_BLUEZ_HCIUSB=m CONFIG_BLUEZ_USB_SCO=y CONFIG_BLUEZ_USB_ZERO_PACKET=y CONFIG_BLUEZ_HCIUART=m CONFIG_BLUEZ_HCIUART_H4=y CONFIG_BLUEZ_HCIUART_BCSP=y CONFIG_BLUEZ_HCIUART_BCSP_TXCRC=y CONFIG_BLUEZ_HCIBFUSB=m CONFIG_BLUEZ_HCIDTL1=m CONFIG_BLUEZ_HCIBT3C=m CONFIG_BLUEZ_HCIBLUECARD=m CONFIG_BLUEZ_HCIBTUART=m CONFIG_BLUEZ_HCIVHCI=m Конечно, возможны варианы все вставить в ядро, но это - как желается ;-). Далее, как обычно: # make dep all modules modules_install install # shutdown -r now Ну а далее утягиваем с того-же сайта [64]софт, либо в сырцах, либо для конкретного дистрибутива. Устанавливаем. Правим /etc/modules.conf, куда вписываем следующее: ### BlueTooth ################################ # alias net-pf-31 bluez alias bt-proto-0 l2cap alias bt-proto-3 rfcomm Стартуем сервис: # /etc/init.d/bluetooth start Проверяем наличие локального интерфейса (привожу мой случай): # hciconfig -a hci0: Type: USB BD Address: 00:10:DC:12:34:56 ACL MTU: 192:8 SCO MTU: 64:8 UP RUNNING PSCAN ISCAN RX bytes:733 acl:20 sco:0 events:57 errors:0 TX bytes:3140 acl:37 sco:0 commands:17 errors:0 Features: 0xff 0xff 0x0f 0x00 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: HOLD SNIFF PARK Link mode: SLAVE ACCEPT Name: 'BlueZ-tooth' Class: 0x000100 Service Classes: Unspecified Device Class: Computer, Uncategorized HCI Ver: 1.1 (0x1) HCI Rev: 0x1e7 LMP Ver: 1.1 (0x1) LMP Subver: 0x1e7 Manufacturer: Cambridge Silicon Radio (10) Прекрасно! Локальный адаптер "прикрутился". Теперь устанавливаем телефон в bluetooth discoverable и сканируем: # hcitool scan Scanning ... 00:0A:D9:2C:87:8B T68i Теперь надо "спарить" устройства. Записываем пин-код в файл /etc/bluetooth/pin, потом перезапускаем bluetooth, дальше с телефона запрашиваем инициировать "спаривание" (результаты можно наблюдать в /var/log/messages). Теперь пришло время sdptool. Сканируем мобилу на предмет предоставляемых сервисов (приведу некоторые, кои нас будут интересовать): # sdptool browse 00:0A:D9:2C:87:8B Browsing 00:0A:D9:2C:87:8B ... Service Name: Dial-up Networking Service RecHandle: 0x10000 Service Class ID List: "Dialup Networking" (0x1103) "Generic Networking" (0x1201) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100 Service Name: Serial Port 1 Service RecHandle: 0x10003 Service Class ID List: "Serial Port" (0x1101) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 4 Service Name: Serial Port 2 Service RecHandle: 0x10004 Service Class ID List: "Serial Port" (0x1101) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 5 Service Name: OBEX Object Push Service RecHandle: 0x10005 Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 10 "OBEX" (0x0008) Profile Descriptor List: "OBEX Object Push" (0x1105) Version: 0x0100 Создаем устройства rfcomm: I=0 ;\ while [ "$I" -lt 256 ]; do \ if [ ! -c /dev/rfcomm"$I" ]; then \ mknod -m 666 /dev/rfcomm"$I" c 216 "$I" ; \ fi ; \ I=`expr "$I" + 1` ; \ done Сначала проверим работу rfcomm "вручную": # rfcomm bind 0 00:0A:D9:2C:87:8B 4 Этой командой устанавливается связь между последовательным устройством и bluetooth-сервисом телефона на канале 4 (последовательный порт). Проверить работоспособность можно с помощью программы minicom - надо войти в установки программы и указать использование порта /dev/rfcomm0, после чего вы получите доступ к модему телефона (управление с помощью AT-крманд). Через этот-же порт можно устанавливать GPRS-соединение с интернетом с помощью pppd. Чтобы не делать лишних пассов в будущем, пишем /etc/bluetooth/rfcomm.conf (согласно сервисам мобилы): rfcomm0 { bind yes; device 00:0A:D9:2C:87:8B; channel 4; comment "T68 Serial Port 1"; } rfcomm1 { bind yes; device 00:0A:D9:2C:87:8B; channel 5; comment "T68 Serial Port 2"; } rfcomm2 { bind yes; device 00:0A:D9:2C:87:8B; channel 1; comment "T68 DialUp Networking"; } rfcomm3 { # bind yes; device 00:0A:D9:2C:87:8B; channel 2; comment "T68 Fax Machine"; } rfcomm4 { # bind yes; device 00:0A:D9:2C:87:8B; channel 3; comment "T68 Audio Gateway"; } rfcomm10 { # Automatically bind the device at startup bind yes; # Bluetooth address of the device device 00:0A:D9:2C:87:8B; # RFCOMM channel for the connection channel 10; # Description of the connection comment "MyMobile OBEX"; } А чтобы все это запускалось вместе с сервисом bluetooth, добавим в /etc/init.d/bluetooth следующее: add_services() { SDPTOOL="/usr/bin/sdptool" RFCOMM="/usr/bin/rfcomm" $SDPTOOL add --channel=10 OPUSH $SDPTOOL add --channel=1 DUN $SDPTOOL add --channel=2 FAX $SDPTOOL add --channel=3 HSET $SDPTOOL add --channel=4 SP $SDPTOOL add --channel=5 SP $RFCOMM bind all } и в start(), после daemon /usr/sbin/sdpd add_services Теперь все должно работать "гаутоматЫчно". К сожалению пока никак не удается прикрутить OpenOBEX к существующей конфигурации. Т.е. все запускается, но, к сожалению, результат нулевой :-(, как впрочем и с obexftp. Хотя последний устанавливает соединение (что видно по логам и мобиле), но отваливается ни с чем... Автор: Dmitry Lya <mcweesatbasis-is.spb.ru>

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру