Итак, статус такой:
1) USB-адаптер Bluetooth вставлен и распознан.
root@server:~# lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2) Я установил следующие пакеты из buster без происшествий:
bluez amd64 5.50-1
bluetooth all 5.50-1
libical3 amd64 3.0.4-3
bluez-obexd amd64 5.50-1
bluez-tools amd64 2.0~20170911.0.7cb788c-2
rfkill amd64 2.33.1-0.1
3) блютуз не блокируется:
root@server:~# rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
4) служба bluetooth работает:
root@server:~# service bluetooth start
root@server:~# service bluetooth status
? bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-03-19 12:42:35 CET; 1min 9s ago
Docs: man:bluetoothd(8)
Main PID: 29677 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4333)
Memory: 1.6M
CGroup: /system.slice/bluetooth.service
mq29677 /usr/lib/bluetooth/bluetoothd
У меня нет доступа к X, поэтому я не могу запустить blueman
Как теперь сделать устройство видимым и начать процесс сопряжения с принтером прямо с консоли, чтобы установить принтер на этот компьютер?
ОБНОВЛЕНИЕ 1: наконец, я смог увидеть принтер с
root@server~# bluetoothctl
Agent registered
Ладно.
[bluetooth]# help
Menu main:
Available commands:
-------------------
advertise Advertise Options Submenu
scan Scan Options Submenu
gatt Generic Attribute Submenu
list List available controllers
show [ctrl] Controller information
select <ctrl> Select default controller
devices List available devices
paired-devices List paired devices
system-alias <name> Set controller alias
reset-alias Reset controller alias
power <on/off> Set controller power
pairable <on/off> Set controller pairable mode
discoverable <on/off> Set controller discoverable mode
agent <on/off/capability> Enable/disable agent with given capability
default-agent Set agent as the default one
advertise <on/off/type> Enable/disable advertising with given type
set-alias <alias> Set device alias
scan <on/off> Scan for devices
info [dev] Device information
pair [dev] Pair with device
trust [dev] Trust device
untrust [dev] Untrust device
block [dev] Block device
unblock [dev] Unblock device
remove <dev> Remove device
connect <dev> Connect device
disconnect [dev] Disconnect device
menu <name> Select submenu
version Display version
quit Quit program
exit Quit program
help Display help about this program
export Print evironment variables
хорошо, поэтому я сказал так:
[bluetooth]# show
Controller 00:15:83:F4:BA:F5 (public)
Name: server
Alias: server
Class: 0x00000104
Powered: yes
Discoverable: no
Pairable: yes
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1D6Bp0246d0532
Discovering: no
[bluetooth]#
а потом я начал:
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# discoverable on
Changing discoverable on succeeded
[CHG] Controller 00:15:83:F4:BA:F5 Discoverable: yes
[bluetooth]# devices
Device 06:0E:3C:5C:1A:FD ENVY 5000 series
[bluetooth]#
тогда я пойду
[bluetooth]# pair 06:0E:3C:5C:1A:FD
Attempting to pair with 06:0E:3C:5C:1A:FD
[CHG] Device 06:0E:3C:5C:1A:FD Connected: yes
[CHG] Device 06:0E:3C:5C:1A:FD Name: OfficeJet 5200 series
[CHG] Device 06:0E:3C:5C:1A:FD Alias: OfficeJet 5200 series
[CHG] Device 06:0E:3C:5C:1A:FD ServicesResolved: yes
и через несколько секунд ...
[CHG] Device 06:0E:3C:5C:1A:FD ServicesResolved: no
[CHG] Device 06:0E:3C:5C:1A:FD Connected: no
Failed to pair: org.bluez.Error.AuthenticationCanceled
[bluetooth]#
В принтере есть что-то под названием Smart Bluetooth, поэтому я сказал себе, что, может быть, я должен не «спаривать», а «доверять», поэтому я пошел:
[bluetooth]# trust 06:0E:3C:5C:1A:FD
Changing 06:0E:3C:5C:1A:FD trust succeeded
[bluetooth]#
и вот опять воткнул еще не вижу принтер на http://127.0.0.1:631
Намек?
Через несколько часов я нашел ответ.
сначала необходимо отключить включение / выключение режима простого сопряжения. в зависимости от того, что поддерживает ваше устройство. Мне это не нужно, поэтому я отключил.
hciconfig sspmode off
В следующий раз я отключил тайм-аут, потому что хочу, чтобы принтер оставался подключенным, пока я его не отключу. в /etc/bluetooth/input.conf
IdleTimeout=30
Просто измените его на 0, и устройства останутся подключенными.
IdleTimeout=0
Дело раскрыто.