Eu pareço ter conseguido isso funcionar agora. Bluetooth parece um pouco meticuloso. Estou recapitulando meus passos no caso de alguém achar útil (embora seja basicamente o que eu tentei inicialmente). Isso é para o Android JB (4.2.2) em um Nexus 4 e Arch Linux 3.6.7-1, com bluez 4.101 no Gnome 3.6 (com gnome-bluetooth).
(este passo pode não fazer nada de útil) Desligue o Bluetooth no Android e desconecte seu adaptador USB / Bluetooth da sua máquina Linux (ou se você tiver um no built-in, redefina-o usando reset do hcitool devname)
Conecte / ligue seu adaptador bluetooth no Linux. Certifique-se de que seu adaptador esteja visível (pode ser configurado em gnome-bluetooth - você deve ver um ícone da bandeja do sistema bluetooth).
Ligue o Bluetooth no seu dispositivo Android. Use o Android para emparelhar com o adaptador (não consegui fazer o par oposto ao Linux). Uma caixa de diálogo aparecerá perguntando por uma chave. Coloque em qualquer PIN que você quiser. O Gnome deve exibir uma notificação solicitando uma chave; coloque o mesmo PIN que você digitou anteriormente. Seu dispositivo Android e a chave devem ser pareados neste momento.
No Linux, abra um terminal e verifique quais serviços de bluetooth estão disponíveis digitando
sdptool browse local
Se você já tem um serviço de porta serial, anote qual canal é. Se você não fizer isso, você pode adicionar o serviço:
sdptool add --channel=22 SP
Agora ouça neste canal usando o rfcomm:
sudo rfcomm listen /dev/rfcomm0 22
o rfcomm irá bloquear, escutando uma conexão com uma mensagem como
Waiting for connection on channel 22
De volta ao Android, usei o aplicativo BlueTerm ( link , também disponível gratuitamente na loja do Google Play), embora qualquer aplicativo semelhante deva trabalhos. Abra o BlueTerm, vá para as opções > Connect Device: selecione o adaptador emparelhado.
Espero que o aplicativo possa se conectar. Você verá uma verificação adicional no terminal em que você bloqueou a escuta com uma mensagem como:
Waiting for connection on channel 22
Connection from 22:22:22:22:22:22 to /dev/rfcomm0
Press CTRL-C for hangup
Qualquer coisa que você digitar no aplicativo BlueTerm deve ir para / dev / rfcomm0. Você pode ver coisas aparecerem ao digitar abrindo um novo terminal e fazendo algo como:
cat /dev/rfcomm0