Как изменить класс bluetooth-устройства

Я пытаюсь изменить свой рекламируемый класс bluetooth-устройства с компьютера на телефон, рабочую человечность 12.04. Я загрузил источники блюза и отредактировал main.conf файл для изменения строки

Class = 0x000100 

к чему-то еще. Я использовал

Class = 0x0c025a 

Затем я работал, заставляют && сделать установку. Я думаю что работы хорошо потому что /etc/bluetooth/main.conf файл был обновлен с моими изменениями.

Теперь, проблема - это, когда я на самом деле пытаюсь соединиться с устройством

hcitool cc <bdaddr>

Я вижу, что все еще рекламирую меня с помощью Класса 0x000100 и нет 0x0c025a.

Что я пропускаю здесь для получения, это изменяется для вступления в силу?

3
задан 25 March 2014 в 21:38

3 ответа

Во-первых, найдите свое имя интерфейса:

hciconfig

Это должно дать Вам название интерфейса, например, hci0.

, Учитывая, которые отображают Ваш интерфейсный класс:

hciconfig hci0 class

, Который должен отобразить Ваш класс устройства.

Наконец, с полномочием суперпользователя:

sudo hciconfig hci0 class 000408

должен настроить новый класс Вашего устройства.

А полезная ссылка классов Bluetooth с шестнадцатеричными и двоичными представлениями может быть найдена здесь: http://www.question-defense.com/tools/class-of-device-bluetooth-cod-list-in-binary-and-hex

8
ответ дан 17 November 2019 в 19:16

Необходимо изменить имя класса в/etc/bluetooth/main.conf файле.

Class = 0x00041C

Затем сервис Bluetooth перезапуска

sudo service bluetooth restart

Затем выключает Ваш Bluetooth от значка верхней панели и включает его.

1
ответ дан 17 November 2019 в 19:16

BlueZ hostname плагин переопределяет Name и Class настройки в /etc/bluetooth/main.conf. Выполните эти шаги для определения Класса устройства (CoD) Bluetooth:

  1. Пропустите загрузку hostname плагин при запуске демона Bluetooth путем изменения /lib/systemd/system/bluetooth.service. Пример:

    sudo sed -i 's/bluetoothd/bluetoothd \-\-noplugin=hostname/g' /lib/systemd/system/bluetooth.service
    

Кроме того, можно указать использование списка включения --plugin=<plugins>. Посмотрите bluetoothd(8) и https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/plugins

  1. Править /etc/bluetooth/main.conf и укажите Class в разделе General. Указать Name также, если Вы хотите что-то другое, чем BlueZ X.YZ:

    [General]
    Class = 0x1c0420
    Name = UbuntuCarAudio
    
  2. Перезагрузка или перезапуск сервис Bluetooth для изменений для вступления в силу:

    sudo systemctl daemon-reload
    sudo service bluetooth restart
    
  3. Проверьте изменения путем выполнения hciconfig -a или echo 'show' | bluetoothctl. hciconfig -a покажет Вам декодируемую информацию о Классе устройства (CoD):

    Name: 'UbuntuCarAudio'
    Class: 0x1c0420
    Service Classes: Rendering, Capturing, Object Transfer
    Device Class: Audio/Video, Car Audio
    
1
ответ дан 1 December 2019 в 13:10

Другие вопросы по тегам:

Похожие вопросы: