Сайт | Скачать | Видео | Wiki

Автор Тема: Bluez-tray  (Прочитано 112082 раз)

0 Пользователей и 4 Гостей просматривают эту тему.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #360 : 16 Октябрь 2017, 03:32:42 »
Первый if изменён так как при отсоединении "свистка" остаётся пустой /sys/class/bluetooth.
если этот скрипт выполняется при запуске системы (а мы его так и запускаем) то зачем диалог выбора адаптера? пустого /sys/class/bluetooth тут тоже вроде не должно быть.


-----------------------
Я думаю задачу надо разделить на две:
1. Два адаптера при загрузке системы - что мы хотим видеть?
Я лично не хотел бы видеть окон с выбором нужного адаптера, лучше уж два значка в трее.

2. адаптер один но добавляем адаптер когда система уже загружена - что ожидаем ?
« Последнее редактирование: 16 Октябрь 2017, 08:15:25 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #361 : 16 Октябрь 2017, 08:51:21 »
 И первое и второе создаёт два значка в трее при загрузке юдевом. Не нравится юдев, напиши юнит.
Все остальные варианты заметно проигрывают.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #362 : 16 Октябрь 2017, 08:57:51 »
И первое и второе создаёт два значка в трее при загрузке юдевом.
не udev а твой скрипт создает - если уж точно.

напиши юнит.
нет это не выход.

----------------
не могу получить информацию по поводу Что ожидаем? может мы ожидаем разные результаты...
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #363 : 16 Октябрь 2017, 09:14:12 »
Что ожидаем?
Вот и я не понимаю, Что нужно?
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #364 : 16 Октябрь 2017, 09:21:51 »
Что нужно?
нужно принять решение и воплотить в жизнь.

когда у тебя в трее два значка, запуск puppybt делается в каком формате?
puppybt hci1
или просто puppybt?
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #365 : 16 Октябрь 2017, 10:34:46 »
когда у тебя в трее два значка, запуск puppybt делается в каком формате?
/lib/udev/rules.d/97-bluetooth.rules:
Код
ACTION=="add", KERNEL=="rfkill?", ATTR{type}=="bluetooth", RUN+="bluez.sh %s{name} %k"
Где %s{name} это hci? , а %k это rfkill? .
/lib/udev/bluez.sh строка 8:
Код
/usr/bin/bluez-tray "$@"
bluez-tray.c строки 334 - 339:
Код
	cmd[0]=0;
strcat(cmd,"/usr/bin/puppybt ");
strcat(cmd,argv[1]);
strcat(cmd," ");
strcat(cmd,argv[2]);
strcat(cmd," &");
Где argv[1] это hci? и argv[2] это rfkill? переданные от udev через bluez.sh на bluez-tray. В результате получаем команду типа:
Код
 /usr/bin/puppybt hci1 rfkill2 & 
для второго bt-адаптера.
 Ты же спешишь сразу запустить bluetoothd, который нужен только для трансляции команд через dbus.

Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #366 : 16 Октябрь 2017, 11:02:59 »
/usr/bin/puppybt hci1 rfkill2 &
rfkill2 в puppybt не используется в качестве параметра, думаю можно убрать.

Ты же спешишь сразу запустить bluetoothd, который нужен только для трансляции команд через dbus.
ты в свой bluez.sh давно заглядывал? там в первых же строках идет запуск bluetoothd. И куда в этом случае ты спешишь?
bluetoothd пока еще нужен для работы bluetooth, так что пока у меня все нормально делается.
« Последнее редактирование: 16 Октябрь 2017, 11:05:06 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #367 : 16 Октябрь 2017, 12:34:29 »
И куда в этом случае ты спешишь?
На тебя глядя. А вдруг... :D
bluetoothd пока еще нужен для работы bluetooth
Не уверен на все 100%
у меня все нормально делается.
Дык это ты нормальный, а я не-е-е...
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #368 : 16 Октябрь 2017, 14:18:56 »
Самокритично.

Я бы хотел увидеть информацию из udev-monitor при вставлении блютус свистка, сделаешь?

Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #369 : 16 Октябрь 2017, 16:38:31 »
Код
# udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[175.861462] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1 (usb)
KERNEL[175.864228] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0 (usb)
KERNEL[175.864429] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.1 (usb)
KERNEL[175.864602] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.2 (usb)
UDEV  [175.873724] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1 (usb)
KERNEL[175.894282] add      /module/ecdh_generic (module)
UDEV  [175.899328] add      /module/ecdh_generic (module)
KERNEL[175.971943] add      /module/bluetooth (module)
KERNEL[175.972058] add      /class/bluetooth (class)
UDEV  [175.977352] add      /class/bluetooth (class)
UDEV  [175.978278] add      /module/bluetooth (module)
KERNEL[175.984983] add      /module/btintel (module)
KERNEL[175.985766] add      /module/btbcm (module)
KERNEL[175.986523] add      /module/btrtl (module)
KERNEL[175.987700] add      /module/btusb (module)
KERNEL[175.992352] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/bluetooth/hci0 (bluetooth)
KERNEL[175.992453] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/bluetooth/hci0/rfkill1 (rfkill)
KERNEL[175.992819] add      /bus/usb/drivers/btusb (drivers)
UDEV  [175.995694] add      /module/btbcm (module)
UDEV  [175.996305] add      /module/btintel (module)
UDEV  [175.997130] add      /module/btrtl (module)
UDEV  [176.003086] add      /bus/usb/drivers/btusb (drivers)
UDEV  [176.003586] add      /module/btusb (module)
UDEV  [176.004177] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.1 (usb)
UDEV  [176.005764] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0 (usb)
UDEV  [176.007174] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.2 (usb)
KERNEL[176.178970] add      /module/bnep (module)
UDEV  [176.184407] add      /module/bnep (module)
UDEV  [237.066928] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/bluetooth/hci0 (bluetooth)
UDEV  [237.071571] add      /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/bluetooth/hci0/rfkill1 (rfkill)
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн loop223

  • Ветеран
  • *****
  • Сообщений: 606
  • Репутация: +7/-0
Re: Bluez-tray
« Ответ #370 : 17 Октябрь 2017, 03:59:20 »
Рекомендую ждать версию 5.5 - в ней будет запуск из /etc/xdg
Pralight64(Minirc)-та же проблема- Ошибка D-Bus.(D-Bus setup failed: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory)
« Последнее редактирование: 17 Октябрь 2017, 04:01:18 от loop223 »
X96MAX+ SoC S905X3 4/64.Armbian 22.11.0 bullseye 5.15.78
Home Assistant Supervised

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #371 : 17 Октябрь 2017, 05:11:38 »
Pralight64(Minirc)-та же проблема- Ошибка D-Bus.(D-Bus setup failed: F
обратитесь к разработчику дистрибутива. Отсутствие system сессии dbus к работе bluetooth отношения не имеет.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #372 : 17 Октябрь 2017, 08:05:32 »
Решение для случая когда адаптер подключается в процессе работы найдено.

При запуске системы нужное количество bluez-tray будет запускаться скриптом bluetooth.sh (в скрипте пока нет реализации поиска нескольких адаптеров) надо как-то распарсить что адаптеров два через цикл

При уже загруженной системе, bluez-tray для вновь подключенного адаптера будет запущен средствами udev через правило.
« Последнее редактирование: 17 Октябрь 2017, 08:11:03 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #373 : 17 Октябрь 2017, 09:00:20 »
нужное количество bluez-tray будет запускаться скриптом bluetooth.sh
Выкинуть. Зачем дублировать.
средствами udev через правило.
Вот это и оставить. Оно и при старте системы срабатывает.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #374 : 17 Октябрь 2017, 09:04:32 »
Оно и при старте системы срабатывает.
надоело уже по кругу ходить, я знаю твой метод.
1. Ожидание запуска xorg один фиг через костыль
2. systemd прибивает процессы
3. Твои же собственные слова - bluetoothd так рано запускать не обязательно.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.