Подтвердить что ты не робот

Командная строка Linux: как принимать пар для устройства Bluetooth без вывода

Есть ли способ соединить устройство в Linux, не требуя булавки (для целей тестирования, поэтому мне нужно, чтобы это было сделано без взаимодействия с пользователем, если у вас есть root-доступ)?

bluez-simple-agent, по-видимому, требует наличия штыря, за исключением некоторых простых устройств, таких как мыши.

4b9b3361

Ответ 1

Попробуйте установить безопасность на none в файле /etc/bluetooth/hcid.conf

http://linux.die.net/man/5/hcid.conf

Это, вероятно, будет работать только для устройств HCI (мышь, клавиатура, пробел и т.д.). Если у вас есть другой тип устройства, возможно, существует другая, но аналогичная настройка для изменения.

Ответ 2

Ввод PIN-кода на самом деле является устаревшим методом сопряжения, который теперь называется Legacy Pairing. Безопасный простой режим сопряжения доступен в версии Bluetooth v2.1 и более поздних версиях, которая содержит большинство современных устройств Bluetooth. Аутентификация SSPMode обрабатывается стек протоколов Bluetooth и, таким образом, работает без взаимодействия с пользователем.

Вот как можно подключиться к устройству:

# hciconfig hci0 sspmode 1
# hciconfig hci0 sspmode
hci0:   Type: BR/EDR  Bus: USB
BD Address: AA:BB:CC:DD:EE:FF  ACL MTU: 1021:8  SCO MTU: 64:1
Simple Pairing mode: Enabled
# hciconfig hci0 piscan
# sdptool add SP
# hcitool scan
    00:11:22:33:44:55    My_Device
# rfcomm connect /dev/rfcomm0 00:11:22:33:44:55 1 &
Connected /dev/rfcomm0 to 00:11:22:33:44:55 on channel 1
Press CTRL-C for hangup

Это установит последовательное соединение с устройством.

Ответ 3

Это работало как прелесть для меня, конечно, для этого нужны привилегии суперпользователя:-)

# hcitool cc <target-bdaddr>; hcitool auth <target-bdaddr>

Чтобы получить <target-bdaddr>, вы можете выполнить команду ниже:
$ hcitool scan

Примечание. Исключайте # и $, поскольку они являются запросами командной строки.

Предоставлено

Ответ 4

Для Ubuntu 14.04 и Android попробуйте:

hcitool scan #get hardware address
sudo bluetooth-agent PIN HARDWARE-ADDRESS
На Android-устройстве появится диалоговое окно PIN-кода. Введите тот же PIN-код.

Примечание: может потребоваться sudo apt-get install bluez-utils.

Примечание2: Если PIN-код не отображается, сначала попробуйте выполнить сопряжение с Android (не удастся из-за неправильного PIN-кода). Затем повторите попытку, как описано выше.

Ответ 5

выполните шаги (CentOs):

  • bluetoothctl
  • устройства
  • просмотр
  • пара 34: 88: 5D: 51: 5A: 95 (34: 88: 5D: 51: 5A: 95 - это код моего устройства, замените его на свой).
  • доверие 34: 88: 5D: 51: 5A: 95
  • connect 34: 88: 5D: 51: 5A: 95

Если вы хотите получить более подробную информацию https://www.youtube.com/watch?v=CB1E4Ir3AV4

Ответ 6

~ $ hciconfig noauth

Это должно сделать трюк (я использую bluez 5.23, и там нет более простых и насыщенных оттенков). Тем не менее, я пытаюсь найти способ внесения изменений в постоянный hciconfig, поскольку после выключения питания и последующего включения снова требуется аутентификация. Пока что изменения в hciconfig все равно остаются неизменными при перезагрузке. он возвращается обратно только при отключении питания. Если кто-то нашел способ сделать hciconfig постоянным, дайте мне знать!