Доброго времени суток, друзья.
Описание начну, пожалуй, из желаемого результата.
Уже несколько месяцев являюсь счастливым обладателем замечательного девайса wl500gP. Понятное дело пользуюсь Торрентом и "коробочка" круглосуточно тянет всякие интересные вещи. Вот чего действительно не хватает этому почти идеальному роутеру так это экрана. Поэтому чтобы посмотреть состояние закачек, подправить настроечки на роутере и т.п. нужно включать Большой Гудящий Комп. Лень, как известно, двигатель прогресса ... она и навеяла такое решение проблемы. Вот было бы замечательно смотреть состояние закачек и получать доступ к консоли роутера через мобильник. Уже давно пользуюсь и очень доволен своим SonyEricsson m600 (смартфон под симбиан). Поискал немного и нашел putty для симбиан. Все было бы просто замечательно если бы m600 умел работать с wi-fi, но данный аппарат имеет только Bluetooth.
Итак, задача стоит подружить wl500gP и Bluetooth (уж извините за столь долгое предисловие). После непродолжительных поисков по форуму и в Гугле я нашел 2 пути решения поставленой задачи:
1 путь (тупиковый): модуль affix. Установка описана в теме http://wl500g.info/showthread.php?t=...ight=bluetooth. Но после несложной установки так и не удалось заставить его работать. Выскакивает ошибка описанная здесь http://wl500g.info/showthread.php?t=...ight=bluetooth и которую никто не поборол (или поборол, но стесняется похвалиться).
2 путь (перспективный) модуль bluez. После изучения темы http://wl500g.info/showthread.php?t=...ighlight=bluez и замечательной статьи Дмитрия Жижелева http://www.dzhi.sp.ru/articles/HOWTO...ith-Samba.html мне удалось заставить работать Bluetooth. Остались "мелочи" в решении которых я надеюсь на помощь уважаемого сообщества знатоков и любителей Линукс и wl500gP в частности.
Инструкция по установке Bluetooth (подключение будем осуществлять по PAN, вариант настройки по РРРсм. ниже в инструкции уважаемого Gart)
Нужно:
- wl500
- usb bluetooth адаптер (в данном случае USB Bluetooth от MSI)
- модули bluez (где взять указано ниже)
- мобильный дивайс с которого будем это дело тестить (в данном случае se m600)
Шаг первый (опциональный)
шутка ... понятное дело на роутере давать такую команду особого смысла нет.Code:mount /dev/brain /mnt/head (с) Дмитрий Жижелев
Шаг второй
Устанавливаем необходимые пакеты:
Шаг третийCode:ipkg install bluez-libs ipkg install bluez-utils ipkg install bluez-hcidump
Скачиваем необходимые модули отсюда: http://wl500g.info/attachment.php?at...8&d=1183282939
Создаем папки /tmp/harddisk/bluez и /tmp/harddisk/bluez/module (подразумевается что используется внешний Usb или hdd диск)
Извлекаем из скачаного архива модули и кладем их ВСЕ (без сохранения структуры папок архива) в папку /tmp/harddisk/bluez/module.Code:mkdir /tmp/harddisk/bluez mkdir /tmp/harddisk/bluez/module
Имеем следующие модули:
bluez.o - базовая функциональность
hci_usb.o - драйвер USB Bluetooth адаптера
rfcomm.o - радио COM-порт
bnep.o - Bluetooth сеть
l2cap.o - L2CAP протокол, может быть полезен чтобы пинговать Bluetooth устройства
sco.o - Bluetooth аудио.
Для удобства создаем файл start-bluez в папке /tmp/harddisk/bluez следующего содержания:
Делаем его исполняемым:Code:#!/bin/sh insmod ./module/bluez.o insmod ./module/hci_usb.o insmod ./module/l2cap.o insmod ./module/rfcomm.o insmod ./module/bnep.o insmod ./module/sco.o
Шаг четвертыйCode:chmod +x /tmp/harddisk/bluez/start-bluez
Подключаем USB-Bluetooth к роутеру.
Запускаем start-bluez.
Если все прошло удачно то в системном логфайле должно появиться что-то вроде
Шаг пятыйFeb 23 21:39:48 kernel: BlueZ Core ver 2.2 Copyright (C) 2000,2001 Qualcomm Inc
Feb 23 21:39:48 kernel: Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
Feb 23 21:40:03 kernel: BlueZ L2CAP ver 2.1 Copyright (C) 2000,2001 Qualcomm Inc
Feb 23 21:40:03 kernel: Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
Feb 23 21:40:17 kernel: BlueZ SCO ver 0.3 Copyright (C) 2000,2001 Qualcomm Inc
Feb 23 21:40:17 kernel: Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
Feb 23 21:40:32 kernel: BlueZ BNEP ver 1.0
Feb 23 21:40:32 kernel: Copyright (C) 2001,2002 Inventel Systemes
Feb 23 21:40:32 kernel: Written 2001,2002 by Clement Moreau <clement.moreau@inventel.fr>
Feb 23 21:40:32 kernel: Written 2001,2002 by David Libault <david.libault@inventel.fr>
Feb 23 21:40:32 kernel: Copyright (C) 2002 Maxim Krasnyanskiy <maxk@qualcomm.com>
Feb 23 21:40:38 kernel: BlueZ RFCOMM ver 0.4
Feb 23 21:40:38 kernel: Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>
Feb 23 21:40:38 kernel: Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>
Feb 23 21:40:44 kernel: BlueZ HCI USB driver ver 2.1 Copyright (C) 2000,2001 Qualcomm Inc
Feb 23 21:40:44 kernel: Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
Feb 23 21:40:44 kernel: usb.c: registered new driver hci_usb
для того чтобы наш Bluetooth-алаптер стал виден другим устройствам нужно запустить службы dbus-daemon и hcid.
Для этого в файле /opt/etc/dbus-1/system.conf заменяем указываем пользователя admin(вместо root), т.е должна быть строка <user>admin</user>. В файле /opt/etc/dbus-1/system.d/bluetooth.conf аналогично меняем пользователя root на admin (т.е. должна быть строка <policy user="admin">). После этого запускаем службу dbus-daemon:
Далее, при желании, редактируем /opt/etc/bluetooth/hcid.conf (описания параметров достаточно понятны и приведены на "родном" английском). Я установил:Code:dbus-daemon --system
security=auto
passkey=BlueZ - PIN код для "спаривания"
name=BlueZ (%d) - имя роутера видимое другим Bluetooth устройствам.
После этого запускаем службу hcid:
Если все прошло удачно в системном логе появится что-то вроде:Code:hcid
Чтобы активировать USB Bluetooth адаптер набираем:Feb 23 21:41:50 hcid[309]: HCI dev 0 registered
Feb 23 21:41:50 hcid[309]: HCI dev 0 up
Feb 23 21:41:50 hcid[309]: Device hci0 has been added
Feb 23 21:41:50 input[311]: Bluetooth Input daemon
Feb 23 21:41:50 hcid[309]: Starting security manager 0
Feb 23 21:41:50 input[311]: Registered input manager path:/org/bluez/input
Feb 23 21:41:50 hcid[309]: Device hci0 has been activated
Проверяем работает ли USB Bluetooth:Code:hciconfig hci0 up piscan
должно выдать что-то вроде:Code:hciconfig
Ну и наконец запускаем службу sdpdhci0: Type: USB
BD Address: 00:02:5B:01:16:5E ACL MTU: 384:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:36390 acl:922 sco:0 events:1358 errors:0
TX bytes:26231 acl:843 sco:0 commands:218 errors:0
чтобы добавлять локальные Bluetooth сервисы используем sdptool. Наример чтобы добавить сериал порт набараем:Code:sdpd
Пробую со смартфона найти роутер. Ура появился девайс BlueZ (0) (ну или хто как у себя его обозвал). Пробую "спаривание" ... проходит на ура.Code:type sdptool add --channel 2 SP
Шаг шестой
Все это чудестно.
Мы можем просканировать близлежащие Bluetooth девайсы командой:
и получим что-то вроде:Code:hcitool scan
Далее, нам нужно настроить сетевое соединение (TCP/IP) через Bluetooth. Для этого будем использовать службу pand. Запускаем ее следующим образом:Scanning ...
00:16:41:05A7 RAKE
00:01:E3:5F:BC:58 CX75
чтобы после подключения выполнялись кое какие действия создаем файл dev-up в папке /tmp/harddisk/bluez следующего содержания:Code:pand --listen --master --role NAP --devup /tmp/harddisk/bluez/dev-up
делаем файл исполняемымCode:#!/bin/sh ifconfig bnep0 up brctl addif br0 bnep0
этот маленький скриптик будет добавлять интерфейс Bluetooth (bnep0) к бриджу br0 (говоря простым языком добавлять еще один порт к свитчу)Code:chmod +x /tmp/harddisk/bluez/dev-up
Ура! Все должно работать.
На телефоне (обьясню как это делается на m600) добавляем новую учетную запись интернет, я выставлял для телефона статический IP (например 192.168.2.50, маска 255.255.255.0, шлюз 192.168.2.1, DNS 192.168.2.1), но по идее должно работать и динамическое получение адреса.
Подключаемся и вуаля. Надеюсь ничего не забыл.
Хочу предупредить что в даной инструкции совсем не рассматриваются вопросы безопасности.
И спасибо за внимание.