Como resetar o Bluetooth no Android para resolver problemas de conexão.

Problemas de conexão, no seu smartphone ou tablet Android podem ter várias causas ou explicações.
Neste post, vou mostrar como reiniciar o serviço de Bluetooth através do menu de aplicativos.

O procedimento já se mostrou eficaz para resolver alguns problemas de conexão a dispositivos de áudio, laptops etc. — aonde, apenas desligar e ligar o Bluetooth, não fazia efeito.

Algumas pessoas conseguem conectar o seu smartphone a outro aparelho via Bluetooth após desligar o aparelho, retirar a bateria e, após alguns segundos, recolocá-la e voltar a ligar o aparelho.
Outras, resolvem o problema apenas reiniciando o aparelho.
O procedimento, que segue, é mais rápido e menos “drástico”.
Testei em aparelhos Lenovo/Motorola Moto G4 e Moto G4 Plus — com sistemas operacionais Android 6.0 Marshmallow e 7.0 Nougat, respectivamente.
Para reiniciar o serviço do Bluetooth do Android, siga estes 5 passos:

  1. Entre no painel de Configurações do seu dispositivo e selecione o item Aplicativos
  2. Toque no menu de exibição, no canto superior direito da tela e selecione Mostrar sistema
  3. como reiniciar o serviço bluetooth a

  4. Agora, role até o item Enviar Bluetooth — os itens da lista estão em ordem alfabética — (na versão em inglês, ele está como “Bluetooth Share“. Toque nele.
  5. No menu do aplicativo de compartilhamento de dados via Bluetooth, selecione FORÇAR PARADA. Pronto.
  6. como reiniciar o serviço bluetooth (c) e (d)

Se o Bluetooth não reiniciar automaticamente, ligue-o você mesmo.
Em seguida, tente fazer de novo a conexão.
Boa sorte! 😉

Use o Nuntius para compartilhar as notificações do celular Android com o notebook.

Com o aplicativo Nuntius, é possível compartilhar notificações entre dispositivos Android e o seu PC/laptop via Bluetooth ou rede local.
Neste texto, vou mostrar como instalar no seu laptop/desktop e no smartphone, para permitir a comunicação de mensagens entre eles.

Para isto, use o aplicativo Nuntius para entregar as notificações recebidas no seu aparelho Android (celular, tablet etc) no desktop/notebook através da rede local (LAN) ou Bluetooth.

Para usar toda a funcionalidade do aplicativo, será necessário parear seus dispositivos via Bluetooth.
Será necessário, também, reiniciar sua sessão no GNOME para dar início ao aplicativo.
A solução é semelhante a oferecida pelo KDE Connect — embora não seja tão madura.

Como instalar o Nuntius no Linux

opensuse zypper search nuntius screenshot
Use o comando ‘zypper search’ para encontrar pacotes de software no openSUSE.

No Debian, Ubuntu e derivados, instale o Nuntius a partir dos repositórios oficiais, usando o apt:

apt update
apt install nuntius

No OpenSuSE, instale com o Zypper:

zypper install nuntius

Quem usa o Fedora, instale com o dnf:

dnf install nuntius

Não esqueça que o processo de instalação exige privilégios administrativos. Use o sudo ou o su, onde for necessário, portanto.

Como instalar o Nuntius no Android

O aplicativo está disponível no Google Play Store e no F-Droid:

O nome do aplicativo

O nome Nuntius e o logo do aplicativo fazem referência a uma função (ou um cargo) em Roma. O nuncio corresponde a diplomata eclesiástico. Carregar mensagens importantes entre as altas autoridades da Igreja Católica é uma das suas incumbências.
Entre suas várias funções, o nuncio serve de ligação entre a Igreja e a Santa Sé e supervisiona o episcopado diocesano.
Se tiver interesse, você pode obter informações mais aprofundadas sobre o tema na Wikipedia.

Como configurar o aplicativo no Android

Os desenvolvedores declaram, na documentação, terem testado o Nuntius nas seguintes condições:

  • Bluetooth versão 2.1
  • Android versão 4.3 (API 18)

Certifique-se de ter, pelo menos, estas versões.
O software ainda se encontra em estágio inicial de desenvolvimento. Portanto, se tiver problemas, qualquer informação que puder ser dada na página oficial do app (link no final do texto) será bem vinda.
nuntius options
Para saber as versões do Bluetooth em execução nos seus aparelhos, leia este artigo.

Como configurar no PC

Depois de instalar o aplicativo, recomenda-se reiniciar a sessão do ambiente desktop. Se achar melhor, reinicie todo o sistema.
Depois de reiniciado, o Nuntius será automaticamente carregado. Você pode conferir isto com o comando ps:

ps aux | grep nuntius

justinc+  1182  0.0  0.2 416352 20136 ?        Sl   09:03
   0:00 /usr/bin/nuntius --gapplication-service
justinc+ 23619  0.0  0.0  12784   980 pts/1    S+   17:19
   0:00 grep nuntius

nuntius and gnome

Como resolver problemas no PC

Depois de parear os 2 dispositivos, você ainda pode ter dificuldades de comunicação entre eles.
A documentação oficial recomenda estes passos, na configuração do bluetooth do seu notebook.
No terminal, execute o programa bluetoothctl e rode os comandos:

  • agent on
  • default-agent
  • trust endereco-mac-do-bluetooth-do-celular

Veja o meu exemplo:

bluetoothctl 
.

O celular em que estou trabalhando para este artigo é o “ChibaCity”, abaixo:

[NEW] Controller A4:02:B9:13:96:47 inspiration [default]
[NEW] Device F4:F5:24:B8:EF:0G ChibaCity
[NEW] Device 9C:E6:E7:D6:17:54 Flavinha
[CHG] Device F4:F5:24:B8:EF:0G ServicesResolved: yes
[CHG] Device F4:F5:24:B8:EF:0G Connected: yes

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

[bluetooth]# trust F4:F5:24:B8:EF:0G
[CHG] Device F4:F5:24:B8:EF:0G Trusted: yes
Changing F4:F5:24:B8:EF:0G trust succeeded

[bluetooth]# 

Recomendo a leitura dos sites, citados abaixo, na sessão de referências, caso você ainda tenha alguma dúvida ou dificuldade de conexão.
Boa sorte!

Referências

https://github.com/holylobster/nuntius-linux

Como determinar a versão do Bluetooth de qualquer carro, usando o Linux

O bluetooth está se tornando cada vez mais comum em equipamentos de som, tanto automotivos, quanto domésticos ou profissionais.
Equipamentos de som domésticos não são trocados com a mesma frequência dos smartphones. Tal como as TVs, é comum manter um bom aparelho de som por mais de 10 anos.
bluetooth mercedes-benz multimedia
O equipamento de som do carro, contudo, é um caso a parte.
Muitos carros atuais, já vem com o sistema de som completo, já instalado e perfeitamente ajustado ao design interior do veículo.
Neste caso, a substituição é mais difícil e pode ser mais cara — principalmente, se você decidir trocar o carro, em função de ter se decepcionado com o seu sistema de áudio.
O Bluetooth é uma tecnologia em desenvolvimento (desde o início da década de 90) e, provavelmente, deve estar atingindo o ápice da sua maturidade.
Se o equipamento de som tem este recurso, saber a versão embarcada do Bluetooth pode ajudar a entender o que realmente é possível fazer, dentro do automóvel, durante uma viagem, por exemplo.
Dentro de um carro, considero alguns itens importantes, neste tema:

  • que o sistema de som aceite a conexão com mais de um dispositivo simultaneamente — o que permite que vários ocupantes possam se revezar facilmente no seu uso.
  • que a conexão tenha largura de banda o suficiente para reproduzir áudio de altíssima qualidade.
  • que mantenha um fluxo estável da transmissão de áudio, sem engasgos, mesmo quando se sai do carro com o smartphone no bolso.
  • e que aceite ligações telefônicas.

O Bluetooth versão 2.1 já é capaz de satisfazer estas condições, embora tenha limitações quanto ao alcance — ou seja, se você for sair do carro, levando o smartphone conectado e no bolso, para ajeitar alguma coisa no porta-malas ou calibrar os pneus, o som irá engasgar.
reconhecer o meu dispositivo, se conectar e começar a tocar a minha playlist do ponto em que ela parou.

Quais as maiores diferenças entre as várias versões do Bluetooth?

Dentre os carros que testei, para escrever este artigo, o Ford Ka Sedan 2016 era o que tinha a versão mais antiga: Bluetooth 2.1.
Como já disse, esta versão é satisfatória mas… se você não quiser se incomodar com a interrupção da transmissão, vai ter que deixar o smartphone dentro carro.
Veja alguns dos recursos:

  • Bluetooth 2.1 — a partir desta versão, você já dispõe de A2DP, EDR, possível suporte a NFC e facilidade de pareamento — é tudo o que se precisa para usufruir dos maiores benefícios da tecnologia.
  • Bluetooth 3.0 — esta é a primeira versão de alta velocidade (20 Mbps) — aliado a um melhor alcance.
    É possível “enxergar” o carro na garagem do vizinho, se ele estiver usando esta versão.
    É encontrada em modelos como o Fiat Palio e Grand Siena Essence 2016, por exemplo.
    A partir desta versão, já é possível até transmitir áudio 5.1 surround sound.
  • Bluetooth 4.x e superior — nestas versões são introduzidos os protocolos de baixo consumo de energia e possibilidade de conexão de até 7 dispositivos simultâneos.

Quanto mais atual a versão do Bluetooth, maior o seu alcance, menor o consumo de energia e menor a interferência nas redes Wi-Fi e 4G.
bluetooth automobile information

Se o sistema de som do seu carro tiver suporte a versão 2.1, ele já terá, pelo menos, estes 3 recursos — A2DP (streaming em estéreo); AVRCP (seleção remota de trilhas de áudio) e EDR (taxa de transmissão mais alta).

Como detectar a versão do Bluetooth nos veículos ao meu redor

A maioria dos veículos precisa estar com o sistema de som ligado para obter uma conexão básica, que permita inquirir sobre o seu Bluetooth.
Eu não precisei parear o meu notebook (com Bluetooth 4.2) a nenhum veículo das redondezas para conseguir obter informações básicas. Só tive que esperar que o vizinho ligasse o carro e, consequentemente, o som.
Após ligar o Bluetooth no seu notebook, realize uma busca na rede, com o comando hcitool:

hcitool scan

Scanning ...
	00:54:AF:97:FC:F6	FIAT CONNECT

Agora use o endereço de hardware encontrado para obter mais informações:

sudo hcitool info 00:54:AF:97:FC:F6
[sudo] senha para justincase: 

Se você obtiver a mensagem “Operation not permitted“, execute o procedimento com privilégios administrativos (sudo, por exemplo).
Veja os resultados, que obtive após dar o comando acima:

Requesting information ...
	BD Address:  00:54:AF:97:FC:F6
	OUI Company: Continental Automotive Systems Inc. (00-54-AF)
	Device Name: FIAT CONNECT
	LMP Version: 3.0 (0x5) LMP Subversion: 0x1982
	Manufacturer: Cambridge Silicon Radio (10)
	Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x51 0x87
		<3-slot packets> <5-slot packets> <encryption> <slot offset> 
		<timing accuracy> <role switch> <hold mode> <sniff mode> 
		<park state> <RSSI> <channel quality> <SCO link> <HV2 packets> 
		<HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme> 
		<power control> <transparent SCO> <broadcast encrypt> 
		<EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan> 
		<interlaced iscan> <interlaced pscan> <inquiry with RSSI> 
		<extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave> 
		<AFH class. slave> <3-slot EDR ACL> <5-slot EDR ACL> 
		<sniff subrating> <pause encryption> <AFH cap. master> 
		<AFH class. master> <EDR eSCO 2 Mbps> <EDR eSCO 3 Mbps> 
		<3-slot EDR eSCO> <extended inquiry> <encapsulated PDU> 
		<non-flush flag> <LSTO> <inquiry TX power> <EPC> 
		<extended features> 

Como você pode ver, a versão instalada é a 3.0.
Se preferir, use o comando grep para obter um resultado mais enxuto:

hcitool info 00:54:AF:97:FC:F6 | grep -i version
	LMP Version: 3.0 (0x5) LMP Subversion: 0x1982

Você pode usar o comando ‘hcitool con’, alternativamente, para encontrar dispositivos Bluetooth na sua vizinhança.
Se quiser obter mais informações sobre o seu dispositivo local, leia sobre o hciconfig.
Por fim, use área dos comentários para nos contar o que encontrou na sua vizinhança e quais os recursos que você considera mais importantes em dispositivos Bluetooth para automóveis.

Como monitorar sua conexão Bluetooth no Linux

Há várias formas de se monitorar uma conexão Bluetooth, no Linux.
Normalmente, você obtém todo o feedback gráfico necessário durante as transferências de conteúdo.
Mas… e quando a transferência é de áudio ou se trata de uma conexão de rede?
Como obter informações sobre o fluxo de dados nestes casos?
Já demonstramos o uso dos utilitários de linha de comando hciconfig e hciutils, no artigo sobre como determinar a versão do Bluetooth de seus dispositivos. Recomendo esta leitura, caso você queira saber mais sobre este assunto.

O padrão de comunicação de dados Bluetooth foi lançado pela empresa sueca Ericsson, em 1994. Mas já vinha sendo desenvolvido desde 1989.

bluetooth logo
O utilitário hciconfig pode ser usado para obter várias informações sobre o dispositivo interno do seu notebook.
Use a opção ‘-a’, para obter alguns dados preliminares sobre ele:

hciconfig -a

A informação que nos interessa, aqui, é que se encontra na 4a e 5a linhas — taxas de recepção e transmissão (RX/TX):

hci0:	Type: BR/EDR  Bus: USB
	BD Address: A4:02:B9:02:85:36  ACL MTU: 1021:5  SCO MTU: 96:6
	UP RUNNING PSCAN 
	RX bytes:12033039 acl:240 sco:223076 events:85742 errors:0
	TX bytes:83500510 acl:84655 sco:222759 commands:326 errors:0
	Features: 0xff 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
	Link policy: RSWITCH HOLD SNIFF 
	Link mode: SLAVE ACCEPT 
	Name: 'inspiration'
	Class: 0x0c010c
	Service Classes: Rendering, Capturing
	Device Class: Computer, Laptop
	HCI Version: 4.2 (0x8)  Revision: 0x1000
	LMP Version: 4.2 (0x8)  Subversion: 0x1000
	Manufacturer: Intel Corp. (2)

O comando watch é muito usado para fazer monitoramento no Linux de arquivos ou de resultados de comandos.
No exemplo, abaixo, vamos monitorar a saída do hciconfig e exibir apenas as linhas que contenham dados que sofram alterações (a cada 2 segundos):

watch -n 2 -d hciconfig
Every 2,0s: hciconfig                      inspiration: Mon Sep 19 16:18:27 2016

hci0:   Type: BR/EDR  Bus: USB
        BD Address: A4:02:B9:02:85:36  ACL MTU: 1021:5  SCO MTU: 96:6
        UP RUNNING PSCAN
        RX bytes:15310713 acl:252 sco:287321 events:85858 errors:0
        TX bytes:86772182 acl:84667 sco:286900 commands:347 errors:0

bluetooth monitoring audio stream on Linux - Monitoramento do stream de audio bluetooth no Linux
Os exemplos, acima, mostram o monitoramento do fluxo de audio Bluetooth.
Você pode fazer a mesma coisa para monitorar uma conexão à Internet via Bluetooth, também.

Como determinar a versão do seu dispositivo Bluetooth

Dispositivos Bluetooth são muito comuns em notebooks e são extremamente úteis para a comunicação de dados — troca de arquivos, conexão à Internet etc.
No entanto, a tecnologia tem tido várias versões, desde o início de seu desenvolvimento (no fim da década de 80).
bluetooth logo
Cada nova versão tem incorporado novos recursos — para transmissão/recepção de dados e correção de problemas.
Saber qual a versão do Bluetooth suportada pelo dispositivo instalado no seu notebook ou desktop PC é importante para saber exatamente quais as suas capacidades — ou seja, saber o que verdadeiramente pode ser feito com ele.

Use o hciconfig para obter informações sobre os dispositivos bluetooth presentes no seu sistema

O hciconfig é uma ferramenta de configuração de dispositivos Bluetooth.
Você pode usá-lo para se referir especificamente a um dispositivo, usando o termo ‘hciX’. Caso esta referência não seja suprida, o utilitário irá buscar e exibir informações sobre todos os dispositivos que forem encontrados.
Ao usar o hciconfig sem qualquer parâmetro ou opção, ele retornará informações básicas sobre os diapositivos locais.

O prefixo HCI são as iniciais para Host Controller Interface ou interface de controle do hospedeiro.
E LMP corresponde a Link Management Protocol ou protocolo de gestão de link — usado para controlar a conexão de rádio entre os dispositivos envolvidos.

Veja um exemplo, com o uso da opção ‘-a’:

hciconfig -a
hci0:	Type: BR/EDR  Bus: USB
	BD Address: A4:02:B9:02:85:36  ACL MTU: 1021:5  SCO MTU: 96:6
	UP RUNNING PSCAN ISCAN 
	RX bytes:2077 acl:0 sco:0 events:192 errors:0
	TX bytes:32521 acl:0 sco:0 commands:191 errors:0
	Features: 0xff 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
	Link policy: RSWITCH HOLD SNIFF 
	Link mode: SLAVE ACCEPT 
	Name: 'inspiration'
	Class: 0x0c010c
	Service Classes: Rendering, Capturing
	Device Class: Computer, Laptop
	HCI Version: 4.2 (0x8)  Revision: 0x1000
	LMP Version: 4.2 (0x8)  Subversion: 0x1000
	Manufacturer: Intel Corp. (2)

Use o comando grep para obter apenas os resultados mais relevantes:

hciconfig -a | grep -i hci 

hci0:	Type: BR/EDR  Bus: USB
	HCI Version: 4.2 (0x8)  Revision: 0x1000

Use o comando ‘version’ para obter esta informação do dispositivo:

hciconfig hci0 version

hci0:	Type: BR/EDR  Bus: USB
	BD Address: A4:02:B9:02:85:36  ACL MTU: 1021:5  SCO MTU: 96:6
	HCI Version: 4.2 (0x8)  Revision: 0x1000
	LMP Version: 4.2 (0x8)  Subversion: 0x1000
	Manufacturer: Intel Corp. (2)

Como obter informações sobre dispositivos Bluetooth conectados

Se você tem dispositivos conectados de versões diferentes, os recursos disponíveis serão reduzidos aos da versão mais antiga.
Por este motivo, pode ser mais interessante saber qual é a versão do dispositivo ao qual o meu notebook está conectado.
Use o utilitário hcitool, para obter informações sobre os aparelhos conectados via Bluetooth ao seu notebook:

hcitool con

O comando acima vai mostrar informações, tais como o endereço MAC do dispositivo Bluetooth pareado ao notebook. Veja:

Connections:
	< ACL 5C:51:88:EB:9F:B1 handle 512 state 1 lm MASTER AUTH ENCRYPT 

De posse do endereço de hardware, acima, já posso inquirir o dispositivo diretamente. Veja como:

hcitool info 5C:51:88:EB:9F:B1

Requesting information ...
	BD Address:  5C:51:88:EB:9F:B1
	OUI Company: Motorola Mobility LLC, a Lenovo Company (5C-51-88)
	Device Name: Wintermute
	LMP Version: 4.1 (0x7) LMP Subversion: 0x7d3
	Manufacturer: Qualcomm (29)

...

Por exemplo, se o notebook usa um dispositivo Bluetooth 4.2 e se conecta ao smartphone com a versão 4.1, é seguro contar apenas com os recursos disponíveis na versão deste último.
Há vários outros comandos no Linux, que podem ajudar a obter informações importantes sobre o seu sistema. Para saber mais, leia Como obter informações sobre o seu sistema.

Referências

https://web.archive.org/web/20071222231740/http://www.information-age.com/article/2001/may/the_bluetooth_blues.
https://en.wikipedia.org/wiki/Bluetooth