Как устроить NAP в bluez последних версий без pand? [SOLVED]
Здравствуйте товарищи.
После пяти лет беззаботного существования под Дебианом захотел большего и поставил женту, чему много доволен. Многие вещи вкурил самостоятельно, но вот как создать интерфейс bnep0 (или pan0), вкурить не смог. Гуглил, разумеется, но все релевантные материалы доводят до места "запустите pand с опциями" и/или "пропишите PAND_ENABLE=true в /etc/conf.d/bluetooth". Но как его завести, когда в имеющейся версии bluez-utils-3.36 исполняемого файла pand нет вообще?
Исследовал, значит, http://wiki.bluez.org/wiki/Network, и по там собранным ЦУ создал /etc/bluetooth/network.service, но все равно ни bnep0, ни pan0 не объявились (т.е., после ln -s net.lo net.{bnep,pan}0 интерфейсы не поднимаются. Ни после вручную написанного sdptool add PANU.
Также нашел вот: http://forums.gentoo.org/viewtopic-t-584420-highlight-panu.html, но решивший данную проблему чел видимо все забыл.
Кто знает (не покидает надежда, что кто-то таки знает), какие волшебные слова нужно прописать в какие файлы под /etc/bluetooth, прошу поделиться.
- Для комментирования войдите или зарегистрируйтесь
Думаю, что нужно пересобрать
Думаю, что нужно пересобрать bluez-utils с флагом old-daemons и pand должен появиться. Я однажды, после обновления bluez-utils до какой не помню версии, искал dund, также как ты ищешь сейчас pand. Собрал bluez-utils с флагом old-daemons и все вернулось на свои места, а как настроить службы bluetooth по-новому в новых версиях bluez-utils - так и не понял.
blueman
Докладываю.
bluez-utils пересобрал с USE="old-daemons", нарисовался pand, но при pand --listen --role NAP в логах наблюдаем фатальное "address already in use (98)".
Товарисчи с альтлинукса сообщают (http://lists.altlinux.org/pipermail/gnome/2008-November/001364.html), что с pand какие-то хронические нюансы, притом дают наводку в сторону какого-то вечно неготового blueman'а, чтоб достичь желаемого bnep0. (Кстати, вероятно, можно было бы и без blueman обойтись было, и наладить нужные сервисы в нутрях bluez путем dbus-message с командной строкой в два килобайта, но всему же есть край и предел.)
Поставил таки этот blueman (0.6), и на женту все вроде завелось. Как и куда тыкать мышкой в данной програмуле, рассказывать не буду, поскольку все там интуитивно понятно. После тычков в женин лаптоп (с дебианом), проник в него через ssh и лежу на диване вполне доволен.
Итог: на bluez.org пора перемен, pand не функционален, ручки-крутилки для юзера в ужасном состоянии (через dbus-send), потому юзайте blueman и дожидайтесь, пока прибудут к нему ebuildы. (В дебиане его тоже нету, так что придется ставить ручками.)
:}
"address already in use"? У
"address already in use"? У меня было также, но когда настраивал "LAN Access Point" для того, чтобы жена могла с КПК в интернет ходить через компьютер. Не мог стартовать dund, пока не вырубил kdebluetooth, а потом понял, что можно порт другой использовать: sdptool add --channel=4 SP
Стукнуть бы этих разработчиков чем-нибудь...
Да, имхо невменяемые разработчики достались bluez-lib (так вроде она называется). Поставил последнюю версию меньше тройки (2.95 кажись) и все работает как надо. А c dbus+python+отсутствие нормальных примеров конфигов - мрак, короче.
А что до той ошибки, типа порт занят - это шутка авторов. Не работает pand в тройке, хоть и собирается.
Ну не могу промолчать
Не согласен ни насчёт невменяемости, ни с воплями "отдайте мне pand". А уж гуёвый blueman и подавно не обязателен. Нужно не old-daemons включать, тем более, что они deprecated, а просто потратить минут пятнадцать, чтобы понять, как устроена dbus. А потом ещё десять - ознакомиться с описанием обьектов и сообщений bluez. После этого можно начинать работать :)
Обратиться к bluez можно по адресу org.bluez, вызовы на wiki.bluez.org документированы (например, http://wiki.bluez.org/wiki/Network привела меня к http://bluez.cvs.sourceforge.net/*checkout*/bluez/utils/network/network-api.txt). Пути к обьектам, имена сообщений и их параметры описаны очень хорошо, главное - их не путать.
Если dbus отвечает (валится в лог или на консоль, если указано --print-reply) org.freedesktop.DBus.Error.AccessDenied (описание - Rejected send message) заглядываем в /etc/dbus-1/system.d/bluetooth.conf на предмет назначения прав доступа.
Например, спросили в консоли
dbus-send --system --type=method_call --print-reply --dest="org.bluez" /org/bluez org.bluez.Manager.ListAdapters
- получили список доступных адаптеров:
method return sender=:1.10 -> dest=:1.31 reply_serial=2
array [
string "/org/bluez/hci0"
]
В ответе dbus содержится путь к обьекту "адаптер" (-ы, если таковых несколько).
Конкретно в нашем случае (PAN с NAP):
Подключиться к NAP:
dbus-send --system --type=method_call --print-reply --dest="org.bluez" /org/bluez/network org.bluez.network.Manager.CreateConnection string:"00:02:5b:00:c4:7a" string:NAP
(здесь появляется интерфейс pan0);
Получить путь соединения:
dbus-send --system --type=method_call --print-reply --dest="org.bluez" /org/bluez/network org.bluez.network.Manager.ListConnections
ответ dbus:
method return sender=:1.10 -> dest=:1.35 reply_serial=2
array [
string "/org/bluez/network/connection0"
]
Подключить соединение:
dbus-send --system --type=method_call --print-reply --dest="org.bluez" /org/bluez/network/connection0 org.bluez.network.Connection.Connect
Здесь появляется интерфейс bnepX, готовый к работе.
Свиндовс под рукой нет, не проверял. С btpand, который в новой фре появился - работает отлично.
If you don't eat your meat, you can't have any pudding. How can you have any pudding, if you don't eat your meat?
Спасибо, однако, за
Спасибо, однако, за разъяснение!
:}
неясности с dbus
пожалуйста помогите разобраться с dbus.
по какой то причине он не хочет работать так как вы описали.
Устройство в системе есть и использовалось для дайлапа.
# hcitool dev
Devices:
hci0 00:0B:0D:07:20:92
Нетворк манагер установлен:
net-misc/networkmanager
Latest version available: 0.7.2
Latest version installed: 0.7.2
Size of files: 1,284 kB
dbus рестартовал как и написано в сообщениях после установки нетманагера.
пробую позвонить ему через dbus как вы писали:
# dbus-send --system --type=method_call --print-reply --dest="org.bluez" /org/bluez org.bluez.Manager.ListAdapters
Error org.freedesktop.DBus.Error.UnknownMethod: Method "ListAdapters" with signature "" on interface "org.bluez.Manager" doesn't exist
Ругается на отсутствие метода "ListAdapters" у интерфейса "org.bluez.Manager". А как спросить какие методы вообще обеспечивает интерфейс?
На то написан blueman, чтобы
На то написан blueman, чтобы весь тот фарш через dbus на bluez толкать. Его поставьте и будет вам щастье.
:}
Счастье в том, чтобы понимать
Счастье в том, чтобы понимать что делаешь, а не костыли ставить
Error
Error org.freedesktop.DBus.Error.UnknownMethod: Method "ListAdapters" with signature "" on interface "org.bluez.Manager" doesn't exist
возможно просто параметры надо какие-либо подсунуть еще.
Покажите
еще чтобы поковырять dbus есть модная штукенция d-feet называется.
Спасибо, что ответили! #
Спасибо, что ответили!
# dbus-send --system --type=method_call --print-reply --dest="org.bluez" / org.freedesktop.DBus.Introspectable.Introspect
method return sender=:1.36 -> dest=:1.55 reply_serial=2
string " "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
"
# dbus-send --system --type=method_call --print-reply --dest="org.bluez" /org org.freedesktop.DBus.Introspectable.Introspect
method return sender=:1.36 -> dest=:1.56 reply_serial=2
string " "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
"
# dbus-send --system --type=method_call --print-reply --dest="org.bluez" /org/bluez org.freedesktop.DBus.Introspectable.Introspect
method return sender=:1.36 -> dest=:1.58 reply_serial=2
string " "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
"
гм я так полагаю вам стоит
гм я так полагаю вам стоит воспользоваться [ code][/code ] чтобы можно было хоть что-то разглядеть....
Омг, ты это на полном серьезе
Омг, ты это на полном серьезе считаешь юзерским решением ?
Или таки это программисты для программистов делали ?
Типо юзер-блондинко ( ну так линукс же готов для десктопа) должен осиливать API вызовов для dbus ? :)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
А это не важно главное чтоб
А это не важно главное чтоб работало )))
dbus конечно это API в чистом виде, но коли оно есть и для shell, то почему не заюзать ) решения основанные на конфигурировании какой-либо тулзы по большому счету не многом лучше )
Если вам по тебе нечего
Если вам по тебе нечего сказать, то нет необходимости засорять ветку
Подскажите плиз спустя почти
Подскажите плиз спустя почти год изменилось что-нибудь?
Конкретно нужно поднять pan на серве. Иксов нет. Интересует gentoo-way.
pand теперь не умеет делать
pand теперь не умеет делать ничего кроме справки.
Локальный оверлей растёт