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

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

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #510 : 27 Ноябрь 2018, 10:14:16 »
Код
src/main.c: В функции «parse_config»:
src/main.c:328:12: ошибка: «struct main_opts» не содержит элемента с именем «defaultpin»
   main_opts.defaultpin = val;
            ^
src/main.c: В функции «init_defaults»:
src/main.c:448:11: ошибка: «struct main_opts» не содержит элемента с именем «defaultpin»
  main_opts.defaultpin = 0000;
           ^
make[1]: *** [Makefile:7938: src/bluetoothd-main.o] Ошибка 1
make: *** [Makefile:3278: all] Ошибка 2
:(
Моноблок 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
« Ответ #511 : 27 Ноябрь 2018, 10:38:00 »
это норма :) в hcid.h надо вписать еще , только я незнаю какой тип данных сделать
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #512 : 27 Ноябрь 2018, 13:30:13 »
незнаю какой тип данных сделать
Сделал char, собралось, но PIN всё равно просит.
Моноблок 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
« Ответ #513 : 27 Ноябрь 2018, 16:17:29 »
Эээ. Это был всего лишь первый этап, я же написал что надо дальше делать, но я еще не смотрел как. Я вобще в шоке что  у тебя что-то скомпилилось и без сегфолта :)))
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #514 : 28 Ноябрь 2018, 08:56:00 »
Нужно смотреть bluetoothd debug на этапе запроса pincode, тогда точно будет видно какую функцию править.

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #515 : 28 Ноябрь 2018, 09:05:18 »
есть debug?
Только это
Код
# /usr/libexec/bluetooth/bluetoothd --help
Usage:
  bluetoothd [OPTION?]

Help Options:
  -h, --help                  Show help options

Application Options:
  -d, --debug=DEBUG           Specify debug options to enable
  -p, --plugin=NAME,..,       Specify plugins to load
  -P, --noplugin=NAME,...     Specify plugins not to load
  -f, --configfile=FILE       Specify an explicit path to the config file
  -C, --compat                Provide deprecated command line interfaces
  -E, --experimental          Enable experimental interfaces
  -n, --nodetach              Run with logging in foreground
  -v, --version               Show version information and exit
Мне кажется, что всё-таки проще довести до ума bluez-tools-5.37. Там код понятнее.
Моноблок 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
« Ответ #516 : 28 Ноябрь 2018, 09:11:07 »

  -d, --debug=DEBUG           Specify debug options to enable

включи вот это. У меня щас нет ноутбука с bluetooth, сижу чисто код читаю .

Мне кажется, что всё-таки проще довести до ума bluez-tools-5.37. Там код понятнее.
мне в принципе без разницы я же не программист и программировать не умею О_О. Но привязывать в bt-agent чтобы брал параметр из конфига от bluez это не совсем правильно.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #517 : 28 Ноябрь 2018, 12:14:58 »
привязывать в bt-agent чтобы брал параметр из конфига от bluez
Зачем? Есть ключ -p (читать из файла), только там что-то не так с фильтром, поэтому не читает.
bt-agent.c функция _read_pin_file, с 96 строки:
Код
	GRegex *regex = g_regex_new("^(\\S+)\\s+(\\S+)$", 0, 0, NULL);

while ((read = getline(&line, &len, fp)) != -1) {
n++;

if (g_regex_match_simple("^\\s*(#|$)", line, 0, 0))
continue;

GMatchInfo *match_info;
if (g_regex_match(regex, line, 0, &match_info)) { //(строка 105)
gchar **t = g_match_info_fetch_all(match_info);
/* Convert MAC to upper case */
if (g_regex_match_simple("^([0-9a-fA-F]{2}(:|$)){6}$", t[1], 0, 0))
g_hash_table_insert(pin_hash_table, g_ascii_strup(t[1], -1), g_strdup(t[2]));
else
g_hash_table_insert(pin_hash_table, g_strdup(t[1]), g_strdup(t[2]));
g_strfreev(t);
} else {
if (first_run)
g_print("%d: Invalid line (ignored)\n", n); //(строка 115)выводит в консоль
}
g_match_info_free(match_info);
}
Моноблок 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
« Ответ #518 : 28 Ноябрь 2018, 12:47:13 »
Ты хочешь от меня слишком многого, я не могу прочитать этот код. Мутно что-то
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Bluez-tray
« Ответ #519 : 30 Ноябрь 2018, 08:37:10 »
посмотри plugins/autopair.c по моему то что нужно!

этот плагин определяет класс устройства и отправляет нужный пинкод, для всяких наушников 0000, для клавиатур еще что-то. Надо прописать ему include "src/hcid.h" и в конце функции autopair_pincb дописать чтобы пытался посылать содержимое main.opts.defaultpin если оно задано (а если не задано, тогда return 0).

Мне показалось или bt-scan стал в btscan.lst имя устройства в кавычках выводить? нельзя ли вернуть формат в нормальное состояние?

Код
<notebook labels=\"$(awk '{print substr($0,index($0,$2))}' /tmp/btscan.lst | tr '\n' '|')\">
$(cat /tmp/panel)
</notebook>
не работает код
« Последнее редактирование: 30 Ноябрь 2018, 08:58:39 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #520 : 03 Декабрь 2018, 08:53:51 »
посмотри plugins/autopair.c
Посмотрел. Гибрид bt-scan и client. Заставить работать не удалось.
В bt-agent подставил в переменную ret "0000", автоматическое спаривание с наушниками получилось, правда со второй попытки.
Запутано всё, bt-agent слушает bluetoothd, bluetoothd обращается к сокету через dbus, прямо "коррупционная схема" какая-то. Вот бы это всё выпрямить, работают же bt-scan и dt-browse напрямую.
Моноблок 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
« Ответ #521 : 03 Декабрь 2018, 08:58:48 »
прямо "коррупционная схема" какая-то.
угу.


Посмотрел. Гибрид bt-scan и client. Заставить работать не удалось.
а шо ты делал? дай примеры кода.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #522 : 03 Декабрь 2018, 09:10:52 »
а шо ты делал?
Да ничего, просто запустил bluetoothd --plugin=autopair, и тишина...
Моноблок 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
« Ответ #523 : 03 Декабрь 2018, 09:17:26 »
Да ничего, просто запустил bluetoothd --plugin=autopair, и тишина...
неее это не поможет, плагин используется по умолчанию, его подгружать ненадо. А вот изменения в код внести - НАДО.

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Bluez-tray
« Ответ #524 : 03 Декабрь 2018, 10:20:33 »
Код
# bt-scan 
Scanning ...
20:A9:0E:72:AF:9C "ALCATEL ONETOUCH 2012D" Phone 0
BC:B1:F3:46:7C:44 "C3520" Phone 0
# cat /tmp/btscan.lst
20:A9:0E:72:AF:9C ALCATEL ONETOUCH 2012D
BC:B1:F3:46:7C:44 C3520
Что не так?
Моноблок 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