Habilitando a descoberta do Bluetooth na inicialização

3

Eu gostaria de fazer um dongle USB Bluetooth detectável na inicialização (ou sempre que estiver conectado) no Debian Squeeze ou Wheezy.

Se eu usar hciconfig inicialmente, posso ver o dispositivo neste modo:

    UP RUNNING PSCAN

Usar hciconfig hci0 piscan funciona corretamente. Isso coloca o dispositivo nesse modo (e o dispositivo pode ser descoberto):

    UP RUNNING PSCAN ISCAN

Vários documentos (por exemplo, no wiki do Debian ou este problema do Ubuntu aponta para as configurações em /etc/bluetooth/hcid.conf . Parece que a configuração de iscan enable; pscan enable; neste arquivo deve funcionar. Infelizmente, as versões do Bluez que estou usando (4.x) não possuem esse arquivo (mesmo com o pacote bluez-compat instalado).

/etc/bluetooth/main.conf diz:

# How long to stay in discoverable mode before going back to non-discoverable
# The value is in seconds. Default is 180, i.e. 3 minutes.
# 0 = disable timer, i.e. stay discoverable forever
DiscoverableTimeout = 0

Isso não funciona, no entanto. O dispositivo é inicializado no modo PSCAN , mas não PSCAN ISCAN .

Mesmo manualmente, o seguinte comando retirado do wiki Debian não funciona:

dbus-send --system --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable

Existe uma maneira recomendada de configurar o dispositivo no modo PSCAN ISCAN na inicialização (ou quando o dongle é inserido)?

    
por Bruno 23.09.2013 / 17:08

3 respostas

2

Você pode tentar isso:

Adicione o comando bash hciconfig hci0 piscan no /etc/rc.local (antes da última linha de "exit 0").

Nota: qualquer comando bash adicionado ao /etc/rc.local será executado sem as variáveis de ambiente que estão sendo carregadas ainda. Então, usei caminhos absolutos!

    
por 13.08.2014 / 15:52
0

No momento, há outra opção no Wiki do Debian :

hciconfig hci0 piscan

Isso funciona para mim.

Infelizmente, ainda não encontrei como configurar o código PIN para o dispositivo local. (pode ser o meu conhecimento inglês leve, mas em muitos documentos por aí estou confuso sobre o que eles estão falando).

    
por 01.06.2014 / 14:49
0

O argumento para bluetooth-agent define o PIN.

Agora anexe o seguinte a /etc/inittab (usando nano - e substituindo o seu próprio):

#Bluetooth Channel 22
PA22:23:respawn:/usr/bin/bluetooth-agent 1234
BS22:23:once:/usr/bin/sdptool add --channel=22 SP
BT22:23:once:/usr/bin/rfcomm -r watch 0 22 /sbin/agetty -L rfcomm0 115200

Veja também este pergunta .

    
por 23.08.2015 / 08:51