Como alterar a classe de dispositivo bluetooth

2

Estou tentando mudar minha classe de dispositivo bluetooth anunciada de computador para telefone, executando o Ubuntu 12.04. Eu baixei as fontes bluez e editei o arquivo main.conf para mudar a linha

Class = 0x000100 

para outra coisa. Eu usei

Class = 0x0c025a 

Então eu corri make & amp; & amp; faça a instalação. Acho que funciona bem porque o arquivo /etc/bluetooth/main.conf foi atualizado com minhas alterações.

Agora, o problema é que quando eu realmente tento me conectar a um dispositivo

hcitool cc <bdaddr>

Vejo que ainda estou me anunciando usando a classe 0x000100 e não 0x0c025a .

O que estou perdendo aqui para que as alterações entrem em vigor?

    
por twinPrimesAreEz 25.03.2014 / 18:22

3 respostas

7

Primeiro, encontre o nome da sua interface:

hciconfig

Ele deve fornecer o nome da interface, por exemplo, hci0 .

Considerando que você exibe sua classe de interface:

hciconfig hci0 class

Isso deve exibir sua classe de dispositivo.

Finalmente, com privilégios de superusuário:

sudo hciconfig hci0 class 000408

deve configurar uma nova turma do seu dispositivo.

Uma referência útil de classes bluetooth com representações hexadecimais e binárias pode ser encontrada aqui: link

    
por JJW 11.08.2014 / 17:28
1

Você precisa alterar o nome da classe no arquivo /etc/bluetooth/main.conf.

Class = 0x00041C

Em seguida, reinicie o serviço bluetooth

sudo service bluetooth restart

Em seguida, desligue o seu bluetooth no ícone do painel superior e ligue-o.

    
por Durgesh 12.01.2016 / 13:58
1

O plug-in BlueZ hostname substitui as configurações Name e Class em /etc/bluetooth/main.conf . Siga estas etapas para especificar a classe de dispositivo Bluetooth (CoD):

  1. Ignore o carregamento do plug-in hostname ao iniciar o daemon do bluetooth modificando /lib/systemd/system/bluetooth.service . Exemplo:

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

Como alternativa, você pode especificar uma lista de inclusão usando --plugin=<plugins> . Veja bluetoothd(8) e link

  1. Edite /etc/bluetooth/main.conf e especifique Class na seção Geral. Especifique Name também se você quiser algo diferente de BlueZ X.YZ :

    [General]
    Class = 0x1c0420
    Name = UbuntuCarAudio
    
  2. Reinicie ou reinicie o serviço Bluetooth para que as alterações entrem em vigor:

    sudo systemctl daemon-reload
    sudo service bluetooth restart
    
  3. Verifique as alterações executando hciconfig -a ou echo 'show' | bluetoothctl . hciconfig -a mostrará a informação decodificada de classe de dispositivo (CoD):

    Name: 'UbuntuCarAudio'
    Class: 0x1c0420
    Service Classes: Rendering, Capturing, Object Transfer
    Device Class: Audio/Video, Car Audio
    
por Chris Sidi 05.08.2018 / 19:54