Não é possível emparelhar meu teclado genérico via PIN automático

6

Estou usando o Xubuntu, puro Xfce, de 64 bits.

O problema:

Eu tentei de duas maneiras; ambos falharam por diferentes razões: (1) a forma de linha de comando (veja abaixo) falha porque em nenhum momento ela realmente pede uma verificação de pinos. (2) o modo GUI usando o utilitário "Bluetooth" (que soa genérico, mas é o que a ferramenta é realmente chamada e como ela é catalogada no Synaptic) falha porque o teclado não responde quando o pino é solicitado pelo Bluetooth.

Como faço para parear meu dispositivo corretamente com o uso de um PIN gerado automaticamente?

Eu realmente não me importo se a solução será baseada em GUI ou não, contanto que você consiga parear a maneira segura, com um PIN. Eu não quero usar meu teclado no modo de descoberta o tempo todo por razões óbvias relacionadas à segurança.

Detalhes dos meus esforços fracassados:

Eu segui as instruções no link para ativar um dispositivo bluetooth genérico ( link ), que obteve sucesso . Exceto vem a parte em que devo pedir uma senha, eu não estava. Isso é um pouco perturbador, penso comigo mesmo. Qualquer pessoa da vizinhança poderia ter, dessa maneira, conectado ao meu teclado e começado a registrar as minhas atividades.

De qualquer forma, foi assim que eu fiz:

peter@peter-xfce:~$ hcitool scan
Scanning ...
peter@peter-xfce:~$ hcitool scan
Scanning ...
    00:12:A1:11:04:E9   Bluetooth Keyboard
peter@peter-xfce:~$ gksudo mousepad /etc/bluetooth/hcid.conf
peter@peter-xfce:~$ sudo gedit /etc/default/bluetooth
peter@peter-xfce:~$ sudo /etc/init.d/bluetooth restart
 * Stopping bluetooth                                                    [ OK ] 
 * Starting bluetooth                                                    [ OK ] 
peter@peter-xfce:~$ sudo hidd --connect 00:12:A1:11:04:E9
sudo: hidd: command not found
peter@peter-xfce:~$ hidd --connect 00:12:A1:11:04:E9
The program 'hidd' is currently not installed.  You can install it by typing:
sudo apt-get install bluez-compat

[neste ponto, o bluez-compat está instalado]

peter@peter-xfce:~$ sudo hidd --connect 00:12:A1:11:04:E9
peter@peter-xfce:~$ 

[agora pode digitar usando o teclado bluetooth]

Novamente, isso é inaceitável. Não considero que o dispositivo tenha sido emparelhado de maneira segura porque nenhum PIN foi solicitado.

Como alternativa, via GUI:

Mas o teclado não responde e não consigo digitar o PIN quando solicitado.

    
por ptrcao 28.08.2011 / 11:05

3 respostas

2

Acabei de obter o emparelhamento para trabalhar sozinho no linux ... Eu fiz o seguinte:

Estou no Linux Mint

Primeiro, recebi o nome do dispositivo bluetooth usando o hcitool inq enquanto o dispositivo era detectável:

$ hcitool inq
Inquiring ...
00:1F:20:3D:7A:4A        clock offset: 0x14b4    class: 0x002540

Em seguida, identifiquei o dispositivo:

$ hcitool scan
Scanning ...
        00:1F:20:3D:7A:4A        Logitech K760

Este é o teclado que eu estava tentando conectar. :) Em seguida, eu precisava do nome do adaptador bluetooth como um dispositivo:

$ hciconfig
hci0:     Type: BR/EDR  Bus: USB
          BD Address: E0:2A:82:02:5D:EF   ACL MTU: 1021:8  SCO MTU: 64:1
          UP RUNNING PSCAN ISCAN
          RX bytes:5150 ac1:0 sco:0 events:262 errors:0
          TX bytes:1272 ac1:0 sco:0 commands:116 errors:0

Armado com esta informação, agora podemos usar o agente simples:

$ bluez-simple-agent hci0 00:1F:20:3D:7A:4A
DisplayPasskey (/org/bluez/791/hci0/dev_00_1F_20_3D_7A_4A, 123456)

Neste ponto, você pode digitar a senha que é o número após a vírgula entre parênteses, no teclado bluetooth. então aperte enter e você terá:

Release
New Device (/org/bluez/791/hci0/dev_00_1F_20_3D_7A_4A)

Em seguida, precisamos conectar o teclado ao sistema de entrada:

hidd --connect 00:1F:20:3D:7A:4A

Neste momento, percebi que cometi dois erros: a ferramenta não foi instalada ...

$ sudo aptitude install bluez-compat
<all sorts of wonderful stuff you don't need to see here>

... e não corri como root:

$ hidd --connect 00:1F:20:3D:7A:4A
HID create error 13 (permission denied)
$ sudo !! # yes if you put this command in
          # after failing to run a command that requires elevation,
          # it will run as though sudo'ed, the shell subs !! for
          # the last command
sudo hidd --connect 00:1F:20:3D:7A:4A
Can't get device information: host is down

Neste ponto, o teclado perdeu o status de "detectável" (a luz azul não estava mais piscando, então pressionei a tecla de descoberta, depois no teclado antigo, pressione a seta para cima e digite para repetir o comando:

$ sudo hidd --connect 00:1F:20:3D:7A:4A
$ _

O comando não fornece saída se for bem-sucedido, o dispositivo está agora emparelhado e pronto para uso como teclado.

Aproveite!

    
por 22.12.2012 / 19:40
1

Se o teclado funciona sem o PIN, significa que o teclado em si não está configurado para exigir PIN para comunicação. Você pode precisar de uma ferramenta específica de hardware para esse dispositivo para usar o emparelhamento baseado em PIN. Ou então, talvez as instruções dadas aqui funcionem - note a parte em que você precisa digitar o PIN no teclado para defini-lo.

    
por 28.08.2011 / 15:16
0

Eu tenho o mesmo problema, mas o problema é que o gui não estava dando o alfinete certo! se eu olhar o resultado do comando sudo hcidump -at o pino era muito diferente, eu tinha que realmente olhar para o pino do comando para inseri-lo no gui. de outra forma, acredito que este é um bug do xfce que deveria ter sido consertado há algum tempo, porque data de uma versão mais antiga.

    
por 15.06.2014 / 09:13