Difference between revisions of "Bluetooth (Русский)"

From ArchWiki
Jump to: navigation, search
m (unmaintained)
(Some fixes)
Line 10: Line 10:
 
[[zh-CN:Bluetooth]]
 
[[zh-CN:Bluetooth]]
 
{{Related articles start (Русский)}}
 
{{Related articles start (Русский)}}
{{Related|Bluez4}}
+
{{Related2|Bluez4|Bluez4 (English)}}
{{Related2|Bluetooth Mouse (Русский)|Bluetooth-мышь}}
+
{{Related2|Bluetooth mouse (Русский)|Bluetooth мышь}}
{{Related2|Bluetooth mouse configuration|Настройка bluetooth-мыши}}
+
{{Related2|Bluetooth headset (Русский)|Bluetooth наушники}}
{{Related2|Bluetooth headset|Bluetooth-наушники}}
+
{{Related2|Blueman|Blueman (English)}}
{{Related|Blueman}}
 
 
{{Related articles end}}
 
{{Related articles end}}
{{Unmaintained (Русский)}}
+
 
 
{{TranslationStatus (Русский)|Bluetooth|2014-10-14|339989}}
 
{{TranslationStatus (Русский)|Bluetooth|2014-10-14|339989}}
  
Line 23: Line 22:
 
== Установка ==
 
== Установка ==
  
Установите стек протоколов Bluetooth {{Pkg|bluez}} и пакет {{Pkg|bluez-utils}}, предоставляющий утилиту {{ic|bluetoothctl}}, из [[Official Repositories (Русский)|официальных репозиториев]].  Для чтения настроек и сопряжения по пин-коду используется демон {{ic|dbus}}, запускаемый автоматически при помощи ''systemd'', а демон {{ic|bluetooth}} необходим для работы самого протокола Bluetooth.
+
Установите стек протоколов Bluetooth {{Pkg|bluez}} и пакет {{Pkg|bluez-utils}}, предоставляющий утилиту {{ic|bluetoothctl}}, из [[Official repositories (Русский)|официальных репозиториев]].  Для чтения настроек и сопряжения по пин-коду используется демон {{ic|dbus}}, запускаемый автоматически при помощи ''systemd'', а демон {{ic|bluetooth}} необходим для работы самого протокола Bluetooth.
  
 
Загрузите универсальный драйвер bluetooth, если это еще не сделано:
 
Загрузите универсальный драйвер bluetooth, если это еще не сделано:
Line 29: Line 28:
 
  # modprobe btusb
 
  # modprobe btusb
  
Для запуска [[systemd (Русский)|systemd]]-сервиса bluetooth воспользуйтесь командой:
+
Для запуска [[systemd (Русский)|systemd]] сервиса bluetooth воспользуйтесь командой:
  
 
  # systemctl start bluetooth
 
  # systemctl start bluetooth
Line 39: Line 38:
 
{{Note (Русский)|По умолчанию демон bluetooth разрешит использовать устройства bnep0 только пользователям, входящим в группу lp. Удостоверьтесь, что учетная запись обычного пользователя добавлена в нее, если вы намереваетесь подключаться по bluetooth. Вы можете изменить группу, требуемую для этого, в файле {{ic|/etc/dbus-1/system.d/bluetooth.conf}}}}
 
{{Note (Русский)|По умолчанию демон bluetooth разрешит использовать устройства bnep0 только пользователям, входящим в группу lp. Удостоверьтесь, что учетная запись обычного пользователя добавлена в нее, если вы намереваетесь подключаться по bluetooth. Вы можете изменить группу, требуемую для этого, в файле {{ic|/etc/dbus-1/system.d/bluetooth.conf}}}}
  
{{Note (Русский)|Некоторые адаптеры Bluetooth встроены в платы Wi-Fi (например, [http://www.intel.com/content/www/us/en/wireless-products/centrino-advanced-n-6235.html Intel Centrino]). В этих случаях необходимо, чтобы сперва была включена плата Wi-Fi (обычно при помощи клавиш(и) на ноутбуке), после чего ядро сможет увидеть адаптер Bluetooth}}
+
{{Note (Русский)|Некоторые адаптеры Bluetooth встроены в платы Wi-Fi (например, [http://www.intel.ru/content/www/ru/ru/wireless-products/centrino-advanced-n-6235.html Intel Centrino]). В этих случаях необходимо, чтобы сперва была включена плата Wi-Fi (обычно при помощи клавиш(и) на ноутбуке), после чего ядро сможет увидеть адаптер Bluetooth}}
  
 
{{Note (Русский)|Некоторые адаптеры Bluetooth (например, Broadcom) конфликтуют с сетевыми адаптерами. В этом случае вам необходимо удостовериться, что устройство Bluetooth подключается до начала загрузки сетевых служб}}
 
{{Note (Русский)|Некоторые адаптеры Bluetooth (например, Broadcom) конфликтуют с сетевыми адаптерами. В этом случае вам необходимо удостовериться, что устройство Bluetooth подключается до начала загрузки сетевых служб}}
Line 50: Line 49:
  
 
Запустите интерактивную команду {{ic|bluetoothctl}}. После этого можно ввести {{ic|help}} для получения списка доступных команд.
 
Запустите интерактивную команду {{ic|bluetoothctl}}. После этого можно ввести {{ic|help}} для получения списка доступных команд.
* Включите питание контроллера, введя {{ic|power on}}. По умолчанию оно отключено
+
* Включите питание контроллера, введя {{ic|power on}}. По умолчанию оно отключено.
* Введите {{ic|devices}}, чтобы увидеть MAC-адрес устройства для сопряжения
+
* Введите {{ic|devices}}, чтобы увидеть MAC-адрес устройства для сопряжения.
* Войдите в режим обнаружения устройств при помощи команды {{ic|scan on}}, если нужного вам устройства нет в списке
+
* Войдите в режим обнаружения устройств при помощи команды {{ic|scan on}}, если нужного вам устройства нет в списке.
* Включите агент при помощи {{ic|agent on}}
+
* Включите агент при помощи {{ic|agent on}}.
* Введите {{ic|pair ''MAC-адрес''}}, чтобы осуществить сопряжение (работает автодополнение по tab)
+
* Введите {{ic|pair ''MAC-адрес''}}, чтобы осуществить сопряжение (работает автодополнение по tab).
* При использовании устройства без PIN, возможно, потребуется подтверждение, прежде чем оно сможет успешно переподключиться. Для этого введите {{ic|trust ''MAC-адрес''}}
+
* При использовании устройства без PIN, возможно, потребуется подтверждение, прежде чем оно сможет успешно переподключиться. Для этого введите {{ic|trust ''MAC-адрес''}}.
* Наконец, используйте {{ic|connect ''MAC-адрес''}} для установки соединения
+
* Наконец, используйте {{ic|connect ''MAC-адрес''}} для установки соединения.
  
 
Ваша сессия будет выглядеть примерно так:
 
Ваша сессия будет выглядеть примерно так:
Line 140: Line 139:
 
Другим вариантом, по сравнению с использованием пакетов KDE или Gnome Bluetooth, является Obexfs, который позволяет вам примонтировать ваш телефон и использовать его как часть файловой системы.
 
Другим вариантом, по сравнению с использованием пакетов KDE или Gnome Bluetooth, является Obexfs, который позволяет вам примонтировать ваш телефон и использовать его как часть файловой системы.
  
{{Note (Русский)|Для использования Obexfs необходимо устройство, которое поддерживает сервис Obex FTP}}
+
{{Note (Русский)|Для использования ObexFS необходимо устройство, которое поддерживает сервис Obex FTP}}
  
 
Установите пакет {{Pkg|obexfs}} и примонтируйте поддерживаемые телефоны, выполнив:
 
Установите пакет {{Pkg|obexfs}} и примонтируйте поддерживаемые телефоны, выполнив:
Line 146: Line 145:
 
  $ obexfs -b ''MAC-адрес_устройства'' /точка_монтирования
 
  $ obexfs -b ''MAC-адрес_устройства'' /точка_монтирования
  
Как только вы закончите, используйте следующую команду для отмонтирования устройства:
+
Когда вы закончите, используйте следующую команду для отмонтирования устройства:
  
 
  $ fusermount -u /точка_монтирования
 
  $ fusermount -u /точка_монтирования
Line 152: Line 151:
 
Чтобы узнать об остальных опциях монтирования, загляните на http://dev.zuckschwerdt.org/openobex/wiki/ObexFs
 
Чтобы узнать об остальных опциях монтирования, загляните на http://dev.zuckschwerdt.org/openobex/wiki/ObexFs
  
{{Note (Русский)|Удостоверьтесь, что устройство bluetooth, которое вы монтируете, '''не''' установлено в режим ''только для чтения''. У вас должна быть возможность проверить это в настройках устройства. Если оно примонтировано в режиме ''только для чтения'', вы можете столкнуться с ошибкой прав доступа при попытке передачи файлов на устройство}}
+
{{Note (Русский)|Убедитесь, что устройство bluetooth, которое вы монтируете, '''не''' настроено так, чтобы монтироваться в режиме ''только для чтения''. Это должно настраиваться в настройках на самом устройстве. Если оно примонтировано в режиме ''только для чтения'', вы можете столкнуться с ошибкой прав доступа при попытке передачи файлов на устройство}}
  
 
=== Передача по ObexFTP ===
 
=== Передача по ObexFTP ===
Line 158: Line 157:
 
Если ваше устройство поддерживает сервис Obex FTP, но вы не желаете монтировать его, вы можете осуществлять передачу файлов на и с устройства, используя команду obexftp.
 
Если ваше устройство поддерживает сервис Obex FTP, но вы не желаете монтировать его, вы можете осуществлять передачу файлов на и с устройства, используя команду obexftp.
  
{{Note (Русский)|Если вы прежде уже устанавливали пакет {{pkg|obexfs}}, {{pkg|obexftp}} тоже должен быть установлен в качестве зависимости}}
+
{{Note (Русский)|Если вы прежде уже устанавливали пакет {{pkg|obexfs}}, значит пакет {{pkg|obexftp}} уже установился в качестве зависимости}}
  
 
Чтобы послать файл на устройство, выполните команду:
 
Чтобы послать файл на устройство, выполните команду:
Line 168: Line 167:
 
  $ obexftp -b ''MAC-адрес_устройства'' -g имя_файла
 
  $ obexftp -b ''MAC-адрес_устройства'' -g имя_файла
  
{{Note (Русский)|Удостоверьтесь, что файл, который вы хотите получить, находится в ''папке обмена'' устройства. Если файл находится в ее подпапке, пропишите в команде правильный путь}}
+
{{Note (Русский)|Убедитесь, что файл, который вы хотите получить, находится в ''папке обмена'' устройства. Если файл находится в её подпапке, пропишите в команде правильный путь.}}
  
 
=== Obex Object Push ===
 
=== Obex Object Push ===
Line 201: Line 200:
 
   $ vi ~/.config/user-dirs.dirs
 
   $ vi ~/.config/user-dirs.dirs
  
=== Ключ Bluetooth USB ===
+
=== Bluetooth USB свисток ===
  
Если вы используете ключ USB, вы должны проверить, что ваш ключ Bluetooth признан. Вы можете сделать это, запустив {{ic|journalctl -f}} (или заглянув в {{ic|/var/log/messages.log}}), когда подключаете ключ USB. Должно появиться что-то вроде следующего (ищите hci):
+
Если вы пользуетесь USB свистком, вы должны проверить, что ваш Bluetooth свисток распознан системой. Это можно сделать с помощью команды {{ic|journalctl -f}}, после того как вы воткнёте USB свисток (или заглянув в {{ic|/var/log/messages.log}}). Должно появиться что-то вроде следующего (ищите hci):
  
# tail -f /var/log/messages.log
 
 
   Feb 20 15:00:24 hostname kernel: [ 2661.349823] usb 4-1: new full-speed USB device number 3 using uhci_hcd
 
   Feb 20 15:00:24 hostname kernel: [ 2661.349823] usb 4-1: new full-speed USB device number 3 using uhci_hcd
 
   Feb 20 15:00:24 hostname bluetoothd[4568]: HCI dev 0 registered
 
   Feb 20 15:00:24 hostname bluetoothd[4568]: HCI dev 0 registered
Line 212: Line 210:
 
   Feb 20 15:00:25 hostname bluetoothd[4568]: Adapter /org/bluez/4568/hci0 has been enabled
 
   Feb 20 15:00:25 hostname bluetoothd[4568]: Adapter /org/bluez/4568/hci0 has been enabled
  
Если вы получили только первые две строки, вы можете посмотреть, нашёл ли он устройство, но вам необходимо поднять его.
+
Если вы получили только первые две строки, значит свисток распознан, но вам необходимо его активировать (поднять).
 
Пример:
 
Пример:
  
Line 237: Line 235:
 
  Operation not possible due to RF-kill
 
  Operation not possible due to RF-kill
  
обратитесь к утилите {{ic|rfkill}}:
+
это ошибка может возникать либо из-за утилиты {{ic|rfkill}}, в таком случаевы можете решить проблему командой:
  
 
  # rfkill unblock all
 
  # rfkill unblock all
  
или, возможно, используется аппаратное переключение на компьютере. Аппаратный переключатель bluetooth (по крайней мере, иногда) также контролирует доступ к ключам USB. Щёлкните/нажмите этот переключатель и попробуйте поднять устройство заново.
+
либо это может быть из-за того, что используется аппаратный выключатель на компьютере. Аппаратный выключатель bluetooth (по крайней мере, иногда) также контролирует доступ к bluetooth USB свисткам. Передвиньте/нажмите этот переключатель и попробуйте поднять устройство ещё раз.
  
 
Чтобы убедиться, что устройство было определено, вы можете использовать {{ic|hcitool}}, являющуюся частью {{ic|bluez-utils}}. Вы можете получить список доступных устройств, их идентификаторов и MAC-адресов, используя:
 
Чтобы убедиться, что устройство было определено, вы можете использовать {{ic|hcitool}}, являющуюся частью {{ic|bluez-utils}}. Вы можете получить список доступных устройств, их идентификаторов и MAC-адресов, используя:
Line 268: Line 266:
 
         Manufacturer: Cambridge Silicon Radio (10)}}
 
         Manufacturer: Cambridge Silicon Radio (10)}}
  
=== Ключ Logitech Bluetooth USB ===
+
=== Logitech Bluetooth USB свисток ===
  
Существуют ключи Logitech (Logitech MX5000), которые могут работать в двух режимах: встроенный и HCI. Во встроенном режиме ключ эмулирует устройство USB так, что вашему компьютеру кажется, что вы используете обычную USB мышь/клавиатуру.
+
Существуют Logitech свистки (например, Logitech MX5000), которые могут работать в двух режимах: встроенный и HCI. Во встроенном режиме свисток эмулирует устройство USB так, что ваш компьютер думает, что вы используете обычную USB мышь/клавиатуру.
  
Если вы нажмёте маленькую красную кнопку на USB BT мини-ресивере, включится другой режим. Удерживайте красную кнопку на ключе BT и подключите к компьютеру, и через 3-5 секунд удерживания кнопки в системном трее появится иконка Bluetooth ([http://ubuntuforums.org/showthread.php?t=1332197 Обсуждение]).
+
Если вы нажмёте маленькую красную кнопку на USB BT мини-приёмнике, включится другой режим. Удерживайте красную кнопку на BT свистке и вставьте его в компьютер, и через 3-5 секунд удерживания кнопки в системном трее появится иконка Bluetooth ([http://ubuntuforums.org/showthread.php?t=1332197 Обсуждение]).
  
 
=== hcitool scan: Устройство не найдено ===
 
=== hcitool scan: Устройство не найдено ===

Revision as of 12:55, 19 December 2014

zh-CN:Bluetooth

Состояние перевода: На этой странице представлен перевод статьи Bluetooth. Дата последней синхронизации: 2014-10-14. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Bluetooth является стандартом для беспроводных соединений малой дальности сотовых телефонов, компьютеров и других электронных устройств. В Linux канонической реализацией стека протоколов Bluetooth является BlueZ.

Установка

Установите стек протоколов Bluetooth bluez и пакет bluez-utils, предоставляющий утилиту bluetoothctl, из официальных репозиториев. Для чтения настроек и сопряжения по пин-коду используется демон dbus, запускаемый автоматически при помощи systemd, а демон bluetooth необходим для работы самого протокола Bluetooth.

Загрузите универсальный драйвер bluetooth, если это еще не сделано:

# modprobe btusb

Для запуска systemd сервиса bluetooth воспользуйтесь командой:

# systemctl start bluetooth

Чтобы включить сервис bluetooth в автозагрузку, воспользуйтесь командой:

# systemctl enable bluetooth
Примечание: По умолчанию демон bluetooth разрешит использовать устройства bnep0 только пользователям, входящим в группу lp. Удостоверьтесь, что учетная запись обычного пользователя добавлена в нее, если вы намереваетесь подключаться по bluetooth. Вы можете изменить группу, требуемую для этого, в файле /etc/dbus-1/system.d/bluetooth.conf
Примечание: Некоторые адаптеры Bluetooth встроены в платы Wi-Fi (например, Intel Centrino). В этих случаях необходимо, чтобы сперва была включена плата Wi-Fi (обычно при помощи клавиш(и) на ноутбуке), после чего ядро сможет увидеть адаптер Bluetooth
Примечание: Некоторые адаптеры Bluetooth (например, Broadcom) конфликтуют с сетевыми адаптерами. В этом случае вам необходимо удостовериться, что устройство Bluetooth подключается до начала загрузки сетевых служб

Настройка при помощи интерфейса командной строки

Bluetoothctl

Сопряжение с устройством в оболочке (shell) является одним из самых простых и надежных вариантов. То, что необходимо делать, зависит от используемых устройств и их входной функциональности. Последующие инструкции описывают сопряжение с устройством при помощи /usr/bin/bluetoothctl лишь в общих чертах.

Запустите интерактивную команду bluetoothctl. После этого можно ввести help для получения списка доступных команд.

  • Включите питание контроллера, введя power on. По умолчанию оно отключено.
  • Введите devices, чтобы увидеть MAC-адрес устройства для сопряжения.
  • Войдите в режим обнаружения устройств при помощи команды scan on, если нужного вам устройства нет в списке.
  • Включите агент при помощи agent on.
  • Введите pair MAC-адрес, чтобы осуществить сопряжение (работает автодополнение по tab).
  • При использовании устройства без PIN, возможно, потребуется подтверждение, прежде чем оно сможет успешно переподключиться. Для этого введите trust MAC-адрес.
  • Наконец, используйте connect MAC-адрес для установки соединения.

Ваша сессия будет выглядеть примерно так:

# bluetoothctl 
[NEW] Controller 00:10:20:30:40:50 pi [default]
[bluetooth]# agent KeyboardOnly 
Agent registered
[bluetooth]# default-agent 
Default agent request successful
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:10:20:30:40:50 Discovering: yes
[NEW] Device 00:12:34:56:78:90 myLino
[CHG] Device 00:12:34:56:78:90 LegacyPairing: yes
[bluetooth]# pair 00:12:34:56:78:90
Attempting to pair with 00:12:34:56:78:90
[CHG] Device 00:12:34:56:78:90 Connected: yes
[CHG] Device 00:12:34:56:78:90 Connected: no
[CHG] Device 00:12:34:56:78:90 Connected: yes
Request PIN code
[agent] Enter PIN code: 1234
[CHG] Device 00:12:34:56:78:90 Paired: yes
Pairing successful
[CHG] Device 00:12:34:56:78:90 Connected: no

Чтобы устройство было активно после перезагрузки, необходимо правило udev:

/etc/udev/rules.d/10-local.rules
# Set bluetooth power up
ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig hci0 up"

После цикла ухода/возвращения из спящего режима устройство можно включать автоматически, используя подобный сервис systemd:

/etc/systemd/system/bluetooth-auto-power@.service
[Unit]
Description=Bluetooth auto power on
After=bluetooth.service sys-subsystem-bluetooth-devices-%i.device suspend.target

[Service]
Type=oneshot
#We could also do a 200 char long call to bluez via dbus. Except this does not work since bluez does not react to dbus at this point of the resume sequence and I do not know how I get this service to run at a time it does. So we just ignore bluez and force %i up using hciconfig. Welcome to the 21st century.
#ExecStart=/usr/bin/dbus-send --system --type=method_call --dest=org.bluez /org/bluez/%I org.freedesktop.DBus.Properties.Set string:org.bluez.Adapter1 string:Powered variant:boolean:true
ExecStart=/usr/bin/hciconfig %i up

[Install]
WantedBy=suspend.target

Настройка при помощи графических фронтендов

Следующие пакеты предоставляют графический интерфейс для изменения настроек Bluetooth.

GNOME Bluetooth

Примечание: GNOME Bluetooth больше не предоставляет апплета для системного лотка. Форк этого апплета можно установить с пакетом gnome-bluetooth-applet-gitAUR, однако, по состоянию на апрель 2014 г., этот пакет не компилируется

GNOME Bluetooth - форк старого пакета bluez-gnome, ориентированный на интеграцию со средой GNOME. Пакет gnome-bluetooth предоставляет бэкенд, gnome-shell - апплет для отображения состояния, а gnome-control-center - GUI-фронтенд настройки, к которому можно получить доступ, набрав Bluetooth на экране обзора или при помощи команды gnome-control-center bluetooth.

Также вы можете напрямую выполнять следующие команды:

  • bluetooth-sendto: послать файл на удаленное устройство
  • bluetooth-wizard: для сопряжения с новыми устройствами

Если вы используете Thunar и хотите добавить пункт Bluetooth в подменю Отправить на в меню свойств файлов, смотрите инструкции здесь (команда, которую необходимо добавить - bluetooth-sendto %F).

Чтобы иметь возможность принимать файлы, необходимо установить пакеты obexfs и gnome-user-share. После этого вы можете зайти в Настройки -> Обмен для авторизации принимаемых через bluetooth файлов от сопряженных устройств.

BlueDevil

Инструментом Bluetooth в KDE является BlueDevil. Он может быть установлен с пакетом bluedevil, доступным в официальных репозиториях.

Удостоверьтесь, что демон bluetooth запущен, как описано выше. У вас должны быть иконки Bluetooth и в Dolphin, и в системном трее, нажав на которые вы можете настроить BlueDevil и найти устройства Bluetooth. Также вы можете настроить BlueDevil через Системные Настройки KDE.

Blueman

Смотрите статью Blueman.

Использование Obex для отсылки и получения файлов

ObexFS

Другим вариантом, по сравнению с использованием пакетов KDE или Gnome Bluetooth, является Obexfs, который позволяет вам примонтировать ваш телефон и использовать его как часть файловой системы.

Примечание: Для использования ObexFS необходимо устройство, которое поддерживает сервис Obex FTP

Установите пакет obexfs и примонтируйте поддерживаемые телефоны, выполнив:

$ obexfs -b MAC-адрес_устройства /точка_монтирования

Когда вы закончите, используйте следующую команду для отмонтирования устройства:

$ fusermount -u /точка_монтирования

Чтобы узнать об остальных опциях монтирования, загляните на http://dev.zuckschwerdt.org/openobex/wiki/ObexFs

Примечание: Убедитесь, что устройство bluetooth, которое вы монтируете, не настроено так, чтобы монтироваться в режиме только для чтения. Это должно настраиваться в настройках на самом устройстве. Если оно примонтировано в режиме только для чтения, вы можете столкнуться с ошибкой прав доступа при попытке передачи файлов на устройство

Передача по ObexFTP

Если ваше устройство поддерживает сервис Obex FTP, но вы не желаете монтировать его, вы можете осуществлять передачу файлов на и с устройства, используя команду obexftp.

Примечание: Если вы прежде уже устанавливали пакет obexfs, значит пакет obexftp уже установился в качестве зависимости

Чтобы послать файл на устройство, выполните команду:

$ obexftp -b MAC-адрес_устройства -p /путь/к/файлу

Чтобы получить файл с устройства, выполните команду:

$ obexftp -b MAC-адрес_устройства -g имя_файла
Примечание: Убедитесь, что файл, который вы хотите получить, находится в папке обмена устройства. Если файл находится в её подпапке, пропишите в команде правильный путь.

Obex Object Push

Если ваше устройство не поддерживает сервис Obex FTP, проверьте, поддерживает ли оно Obex Object Push.

# sdptool browse XX:XX:XX:XX:XX:XX

Просмотрите вывод: ищите Obex Object Push, запомните канал этого сервиса. Если он поддерживается, можно использовать пакет ussp-push для отсылки файлов на устройство:

# ussp-push XX:XX:XX:XX:XX:XX@КАНАЛ файл желаемое_имя_файла_на_телефоне

Примеры

Все примеры были перемещены в статью bluez4. Их необходимо проверить и исправить для использования с bluez5.

Решение проблем

gnome-bluetooth

Если вы видите это при попытке включить получение файлов в настройках bluetooth:

 Bluetooth OBEX start failed: Invalid path
 Bluetooth FTP start failed: Invalid path

Установите пакет xdg-user-dirs и выполните:

 $ xdg-user-dirs-update

Вы можете отредактировать пути, используя команду:

 $ vi ~/.config/user-dirs.dirs

Bluetooth USB свисток

Если вы пользуетесь USB свистком, вы должны проверить, что ваш Bluetooth свисток распознан системой. Это можно сделать с помощью команды journalctl -f, после того как вы воткнёте USB свисток (или заглянув в /var/log/messages.log). Должно появиться что-то вроде следующего (ищите hci):

 Feb 20 15:00:24 hostname kernel: [ 2661.349823] usb 4-1: new full-speed USB device number 3 using uhci_hcd
 Feb 20 15:00:24 hostname bluetoothd[4568]: HCI dev 0 registered
 Feb 20 15:00:24 hostname bluetoothd[4568]: Listening for HCI events on hci0
 Feb 20 15:00:25 hostname bluetoothd[4568]: HCI dev 0 up
 Feb 20 15:00:25 hostname bluetoothd[4568]: Adapter /org/bluez/4568/hci0 has been enabled

Если вы получили только первые две строки, значит свисток распознан, но вам необходимо его активировать (поднять). Пример:

hciconfig -a hci0
hci0:	Type: USB
	BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
	DOWN 
	RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:0 acl:0 sco:0 commands:0 errors:
# hciconfig hci0 up
hciconfig -a hci0
hci0:	Type: USB
	BD Address: 00:02:72:C4:7C:06 ACL MTU: 377:10 SCO MTU: 64:8
	UP RUNNING 
	RX bytes:348 acl:0 sco:0 events:11 errors:0
        TX bytes:38 acl:0 sco:0 commands:11 errors:0

Если появляется ошибка вроде этой:

Operation not possible due to RF-kill

это ошибка может возникать либо из-за утилиты rfkill, в таком случаевы можете решить проблему командой:

# rfkill unblock all

либо это может быть из-за того, что используется аппаратный выключатель на компьютере. Аппаратный выключатель bluetooth (по крайней мере, иногда) также контролирует доступ к bluetooth USB свисткам. Передвиньте/нажмите этот переключатель и попробуйте поднять устройство ещё раз.

Чтобы убедиться, что устройство было определено, вы можете использовать hcitool, являющуюся частью bluez-utils. Вы можете получить список доступных устройств, их идентификаторов и MAC-адресов, используя:

$ hcitool dev
 Devices:
         hci0	00:1B:DC:0F:DB:40

Более детальная информация об устройстве может быть получена с помощью hciconfig.

$ hciconfig -a hci0
 hci0:   Type: USB
         BD Address: 00:1B:DC:0F:DB:40 ACL MTU: 310:10 SCO MTU: 64:8
         UP RUNNING PSCAN ISCAN 
         RX bytes:1226 acl:0 sco:0 events:27 errors:0
         TX bytes:351 acl:0 sco:0 commands:26 errors:0
         Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
         Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
         Link policy: RSWITCH HOLD SNIFF PARK 
         Link mode: SLAVE ACCEPT 
         Name: 'BlueZ (0)'
         Class: 0x000100
         Service Classes: Unspecified
         Device Class: Computer, Uncategorized
         HCI Ver: 2.0 (0x3) HCI Rev: 0xc5c LMP Ver: 2.0 (0x3) LMP Subver: 0xc5c
         Manufacturer: Cambridge Silicon Radio (10)

Logitech Bluetooth USB свисток

Существуют Logitech свистки (например, Logitech MX5000), которые могут работать в двух режимах: встроенный и HCI. Во встроенном режиме свисток эмулирует устройство USB так, что ваш компьютер думает, что вы используете обычную USB мышь/клавиатуру.

Если вы нажмёте маленькую красную кнопку на USB BT мини-приёмнике, включится другой режим. Удерживайте красную кнопку на BT свистке и вставьте его в компьютер, и через 3-5 секунд удерживания кнопки в системном трее появится иконка Bluetooth (Обсуждение).

hcitool scan: Устройство не найдено

  • На некоторых ноутбуках Dell (например, Studio 15) вы должны переключить режим Bluetooth с HID на HCI. Установите пакет bluez-hid2hci, после чего udev будет делать это автоматически. В качестве альтернативы вы можете выполнить эту команду для переключения на HCI вручную:
# /usr/lib/udev/hid2hci
  • Если устройство не появится, а на вашей машине есть операционная система Windows, попробуйте загрузить её и включить адаптер bluetooth в windows
  • Иногда также помогает эта простая команда:
# hciconfig hci0 up

rfkill unblock: не разблокируется

Если ваше устройство по-прежнему программно блокируется и у вас запущен connman, попробуйте это:

$ connmanctl enable bluetooth

Мой компьютер невидим

Не можете обозревать компьютер с вашего телефона? Включите PSCAN и ISCAN:

# enable PSCAN and ISCAN
$ hciconfig hci0 piscan 
# check it worked
$ hciconfig
 hci0:   Type: USB
         BD Address: 00:12:34:56:78:9A ACL MTU: 192:8 SCO MTU: 64:8
         UP RUNNING PSCAN ISCAN
         RX bytes:20425 acl:115 sco:0 events:526 errors:0
         TX bytes:5543 acl:84 sco:0 commands:340 errors:0
Примечание: Проверьте DiscoverableTimeout и PairableTimeout в /etc/bluetooth/main.conf

Попробуйте изменить класс устройства в /etc/bluetooth/main.conf, как здесь:

# Default device class. Only the major and minor device class bits are
# considered.
#Class = 0x000100 (from default config)
Class = 0x100100

Это было единственное решение, сделавшее мой компьютер видимым для телефона.

Не происходит сопряжение с клавиатурой Logitech

Если вам не выдается ключ доступа при попытке сопряжения клавиатуры Logitech, наберите следующую команду:

# hciconfig hci0 sspmode 0

Если после сопряжения клавиатура по-прежнему не подключается, проверьте вывод hcidump -at. Если в нем содержатся повторяющиеся подключения-отключения, как в следующем сообщении:

   status 0x00 handle 11 reason 0x13
   Reason: Remote User Terminated Connection

значит, на данный момент единственным решением является установка старого стека Bluetooth.

Профили HSP/HFP

bluez5 не поддерживает профили HSP/HFP (гарнитура телефонии для TeamSpeak, Skype и т.д.). Для получения дополнительной информации смотрите обсуждение bluez4.

До тех пор, пока поддержка не реализована, необходимо откатиться до bluez4 и установить пакет pulseaudio-bluez4AUR из AUR.