Автор Тема: Bluetooth и Dreambox DM800  (Прочитано 9674 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн Startsev

  • завсегдатай
  • **
  • Сообщений: 84
  • Karma: +2/-4
  • Пол: Мужской
  • Абонент HD
    • Лучший кардшаринг=недорого+без затыков+тех.поддержка
Bluetooth и Dreambox DM800
« : 02 Февраль 2010, 19:14:43 »
Цель – подключить к дримбоксу Bluetooth-адаптер и заставить его работать
Предварительно скачиваем себе архив с необходимыми файлами.
!!! (Все файлы и настройки любезно предоставлены enigma с форума http://dream.altmaster.net)

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.
Globo 9500 HD софт 1.2.57
Philips 32PFL7772D HD Ready 1080i 50Hz
346-677-005