LINUX.ORG.RU

Виджет Bluedevil и отключение адаптера bluetooth при загрузке

 , ,


0

0

Здравствуйте, форумчане. Помогите «укротить» bluetooth-адаптер

Bus 002 Device 003: ID 0489:e00d Foxconn / Hon Hai Broadcom Bluetooth 2.1 Device
, который живет своей жизнью. Система Debian Jessie, рабочее окружение KDE 4.14.1, естественно установлен BlueDevil и на панель вынесен значок bluetooth, через который можно управлять адаптером (добавлять устройства, передавать файлы, и, самое главное- включать и выключать адаптер).
Проблема состоит в том, что если через значок отключить адаптер и перезагрузиться, то система запускается все равно с включенным адаптером. Есть еще одна особенность, если выключить адаптер и сделать ПКМ по любому файлу (использую dolphin, в других ФМ возможно по другому), то адаптер автоматически включается.

До появления проблемы с bluetooth сидел на Debian Wheezy с тем же рабочим окружением и проблем с выключением адаптера- не было.

Что бы было понятно, про какой значок я говорю, выкладываю вот и вот

Для решения предпринимались различные действия...
Удалялся bluetooth из загрузки, но тогда пропадал значок на панели и Bluedevil не видел адаптеры.
Создавал правило

ACTION=="add", SUBSYSTEM=="bluetooth", KERNEL=="hci[0-9]*", RUN+="/bin/hciconfig %k down"
- результат был тот-же самый.
Пытался сделать костыль в виде запуска /bin/hciconfig %k down после загрузки рабочего стола, что бы система стартовала с включенным адаптером, а потом кеды его прибивали- это вроде сработало, но до первого ПКМ.

Может есть у кого какие идеи? Задолбало постоянно тыркать в этот значек. Блютузом иногда пользуюсь, поэтому снести его- не вариант.

Ответ на: комментарий от Google_Play

Нет, ты не прав.

Действия systemd в этой связи ограничиваются лишь запоминанием состояний rfkill'ов при шатдауне и восстановлением их при следующем запуске. При этом известно, что BlueZ (вплоть до текущей версии, при том, что в дебиане очевидно не последняя) не умеет рулить связанным с адаптером rfkill'ом и всегда держит его включенным (а хотелось бы).

С первой проблемой (безусловное включение адаптера при старте системы) я тоже сталкивался. Насколько мне известно, в BlueZ 5 это никак не регулируется, а в BlueZ 4 смотри файл /etc/bluetooth/main.conf.

Ну а второе звучит как дистропроблема; в арче такого никогдав последние три года не было.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)

Удав-правило — почти то, что нужно. Но не совсем: оно выполняется раньше, чем стартует bluetoothd и включает адаптеры обратно. Решением будет пара из правила для udev и юнита для systemd:

/etc/udev/rules.d/99-foo.rules

ACTION=="add", SUBSYSTEM=="bluetooth", KERNEL=="hci[0-9]*", ENV{SYSTEMD_WANTS}+="disable-bluetooth@%k.service"

/etc/systemd/system/disable-bluetooth@.service:

[Unit]
Description=Disable bluetooth for %i
BindsTo=sys-subsystem-bluetooth-devices-%i.device
After=sys-subsystem-bluetooth-devices-%i.device bluetooth.service

[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/bin/hciconfig %i down

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от ATIpro

Попробуй в /var/lib/rfkill/saved-state поменять значение у твоего адаптера с 0 на 1.

...не нашел, ни каталога, ни файла. Ты уверен, что из /var можно управлять адаптером?

Google_Play ()
Ответ на: комментарий от intelfx

писал по памяти — могут потребоваться корректировки, ты проверь.

...ну что тут сказать? ...ГУРУ!

Все работает. Тема решена. Спасибо.

Google_Play ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.