Показать сообщение отдельно
Старый 02.10.2009, 10:15   #7
Admin
Администратор
 
Аватар для Admin
 
Регистрация: 16.04.2007
Ресивер: .....
Адрес: Зимбабве
Сообщений: 3,167
Сказал(а) спасибо: 2,176
Поблагодарили 9,289 раз(а) в 2,273 сообщениях
Вес репутации: 55
Admin отключил(а) отображение уровня репутации
По умолчанию Bluetooth и Dreambox DM800

Bluetooth и Dreambox DM800


Bluetooth - это современная технология беспроводной передачи данных, позволяющая соединять друг с другом практически любые устройства: мобильные телефоны, ноутбуки, внешние устройства для компьютеров (принтеры, мышки, клавиатуры), цифровые фотоаппараты… спутниковые тюнеры
Как радиотехнология (частота 2,4 ГГц), Bluetooth способна "обходить" препятствия, поэтому соединяемые устройства могут находиться вне зоны прямой видимости (в отличие от инфракрасных устройств). Соединение происходит автоматически, как только Bluetooth-устройства оказываются в пределах досягаемости, причем не только по принципу точка - точка (два устройства), но и по принципу точка - много точек (одно устройство работает с несколькими другими). Естественно, для реализации технологии Bluetooth на дриме 800 необходимо установить определенное программное обеспечение (ПО) под Линукс о котором мы поговорим позже.
Технология Bluetooth рассчитана на работу на небольшом расстоянии в 10-15 метров (при увеличении мощности до 100 мВт ("Class 1") Bluetooth-устройства станут более "дальнобойными" - до 100 м, но и будут потреблять больше энергии).
Скорость передачи данных, предусматриваемая стандартом версии 1.2, составляет порядка 721 Кбит/сек в одном направлении и 57,6 Кбит/сек в другом при асимметричном режиме и 420 Кбит/с в полнодуплексном режиме. Новейшая версия Bluetooth 2.0 поддерживает EDR (Enhanced Data Rate) – именно эта технология обеспечивает более быстрый обмен информацией с другими устройствами до 2,1 Мбит/с – в 3 раза быстрее, чем обычно. При этом снижается энергопотребление, а значит, увеличивается время жизни батареи.

От теории перейдем к практике и оснастим тюнер «голубым зубом».
(Все действия, описанные в данном материале, я проводил на имидже Gemini 4.0)
Цель – подключить к дримбоксу Bluetooth-адаптер и заставить его работать
Я использовал вот такой адаптер:
Bluetooth USB адаптер CANYON CN-BTU3 (черный)
Чип - Integrated System Solution Corp. (vendor 0x1131, product 0x1004)



Предварительно скачиваем себе архив с необходимыми файлами.
!!! (Все файлы и настройки любезно предоставлены enigma)

1. Выключаем тюнер из сети 220 и подключаем имеющийся в наличии USB Bluetooth-адаптер в свободный USB-разъем на задней панели дримбокса или в USB переходник-удлинитель.



2. Включаем дримбокс, дожидаемся его загрузки, открываем ФТП (DCC, Total Comander) и копируем 8 файлов из архива в папку /tmp тюнера:

libbluetooth2_3.4-r0_mipsel.ipk
libusb_0.1.12-r0_mipsel.ipk
kernel-module-hidp_2.6.12-r13_dm800.ipk
kernel-module-hci-usb_2.6.12-r12_dm800.ipk
kernel-module-l2cap_2.6.12-r12_dm800.ipk
kernel-module-bluetooth_2.6.12-r12_dm800.ipk
kernel-module-rfcomm_2.6.12-r12_dm800.ipk
bluez-utils_3.4-r0_mipsel.ipk


3. Устанавливаем необходимые пакеты и библиотеки. В телнете даем следующие команды именно в таком порядке:

ipkg install /tmp/libbluetooth2_3.4-r0_mipsel.ipk
ipkg install /tmp/libusb_0.1.12-r0_mipsel.ipk
ipkg install /tmp/kernel-module-hidp_2.6.12-r13_dm800.ipk
ipkg install /tmp/kernel-module-hci-usb_2.6.12-r12_dm800.ipk
ipkg install /tmp/kernel-module-l2cap_2.6.12-r12_dm800.ipk
ipkg install /tmp/kernel-module-bluetooth_2.6.12-r12_dm800.ipk
ipkg install /tmp/kernel-module-rfcomm_2.6.12-r12_dm800.ipk
ipkg install /tmp/bluez-utils_3.4-r0_mipsel.ipk


Внимание!!!
Для имиджа Gemini 4.2 необходимо установить дополнительно еще один файл перед установкой пакета bluez-utils_3.4-r0_mipsel.ipk


4. Открываем на редактирование файл /etc/init.d/bootup и добавляем туда следующие строчки для автозагрузки данных модулей.

modprobe hidp
modprobe hci_usb
modprobe l2cap
modprobe rfcomm
modprobe Bluetooth


5. Сохраняем измененный файл и перезагружаем ресивер командой reboot через телнет либо используя пульт ДУ. В случае удачной перезагрузки проверяем, загружены ли нужные нам модули командой lsmod



6. Протестируем работу нашего USB Bluetooth адаптера. В телнете даем команду hciconfig и получаем список bluetooth-устройств (в моем случае это был hci0).
root@dm800:~# hciconfig
hci0: Type: USB
BD Address: 00:11:67:C2:A2:C2 ACL MTU: 1021:4 SCO MTU: 48:10
UP RUNNING PSCAN
RX bytes:395 acl:0 sco:0 events:17 errors:0
TX bytes:317 acl:0 sco:0 commands:17 errors:0

7. Отсканируем окружающую среду на предмет наличия активных Bluetooth-устройств. Разумеется, надо включить блютуз в телефоне и положить его не очень далеко. В телнете даем команду hcitool scan
Через несколько секунд получим результат сканирования:
root@dm800:~# hcitool scan
Scanning ...
00:21:9E:49:BD:94 K800i ........:@:-P
00:0D:41:1E:16:B9 Benq-Siemens E71
Нижнее устройство – это мой Benq-Siemens E71 с адресом 00:0D:41:1E:16:B9 – запомним этот адрес - он нам еще понадобится!!!, а верхний телефон – это телефон соседа снизу

8. Теперь подправим два файлика в папке /etc/bluetooth/ (образцы есть в архиве!)

hcid.conf
rfcomm.conf


Точнее, файл hcid.conf можно просто скопировать из архива в дримбокс.
В этом файле можно задать пароль (пин-код) для доступа к блютусу телефона
# Default PIN code for incoming connections
passkey "0000";

и название блютуса дримбокса (под таким именем его будет отображать телефон в списке блютус-устройств)
# Local device name
# %d - device id
# %h - host name
name "Dreambox DM8000HD";

rfcomm.conf тоже можно скопировать с архива, но в нем необходимо прописать блютус-адрес нашего телефона, который мы получили при сканировании, а так же номер канала (которому соответствует служба Dial-up Networking). Это нужно для того, чтобы каждый раз при запуске Bluetooth происходила автоматическая привязка к Bluetooth-порту нашего мобильного телефона (т.е. к rfcomm0).
#
# RFCOMM configuration file.
#

rfcomm0 {
# Automatically bind the device at startup
bind yes;

# Bluetooth address of the device
device 00:0D:41:1E:16:B9;

# RFCOMM channel for the connection
channel 1;

# Description of the connection
comment "Benq-Siemens E71";
}

По выбору номера канала я напишу позже.
По идее ему должна соответствовать служба DUN (Dial-up Networking) телефона. Это надо для использования блютуса для доступа в интерент по GPRS. Как это можно проверить? Даем команду телнета
sdptool browse 00:0D:41:1E:16:B9
где 00:0D:41:1E:16:B9 – это адрес блютуса телефона.
Будет вывод примерно такого вида:
Browsing 00:0D:41:1E:16:B9...
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

Здесь мы видим, что служба DUN Dial-up Networking висит на первом канале.
Инфу по каналам мне надо еще уточнить. Напишу позже.

9. Перегружаем дримбокс чтобы наши изменения вступили в силу.
Проверяем, правильно ли работает канал, даем команду телнета rfcomm
root@dm800:~# rfcomm
rfcomm0: 00:0D:41:1E:16:B9 channel 1 clean

Видим, что первый канал свободен.
В принципе все. На этом подключение Bluetooth-адаптера можно считать законченным.


Подключение мобильного телефона для работы с GPRS через Bluetooth

Сначала выполняем описанное здесь.
Теперь надо изменить файлик /etc/ppp/peers/gprs-siem
Дописываем строчки для блютус-девайса:
# Here is for USB Bluetooth-adapter
/dev/bluetooth/rfcomm/0

Строчки для USB-кабеля закрываем значком #
# Here is for USB serial cable
#/dev/usb/tts/0

Предварительно на телефоне надо провести поиск новых блютус-устройств. Затем в списке устройств для устройства-дримбокса установить опцию "Автоподключение без подтверждения" или сделать его доверенным, тогда телефон не будет спрашивать пароля при каждом соединении.

Теперь пытаемся подключится к интернету. Запускаем скрипт gprs_start.
Если телефон запросит пароль, надо его ввести (0000). При этом скрипт может завершится с ошибкой. В этом случае выполняем то, что написано выше, т.е. ищем новые устройства и делаем его доверенным.
После этого опять запускаем скрипт gprs_start.



__________________
DM500S, DM800HD, GI S8120 - 4W,5E,13E,36Е,75E (VIP)

Поминутный IPTV!

ThinkPad.com.ua - форум любителей техники ThinkPad
Admin вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо: