Tethering é o terror de muita operadora de telefonia celular: é a capacidade de um aparelho de ser usado como se fosse um modem, compartilhando a própria conexão com a internet. Isso é tão detestado por elas que muitos aparelhos são vendidos com essa possibilidade bloqueada. O motivo de tanto ódio é que isso tira a possibilidade delas de venderem um outro produto: os modens 3G!!

O N900 permite fazer o tethering, tanto via cabo USB quanto por bluetooth.

A conexão via bluetooth é excelente, pois você fica livre de qualquer cabo (apesar que a conexão via USB vem com uma vantagem extra: ao mesmo tempo que usa a internet através do aparelho, também recarrega a bateria). Mas o tethering via bluetooth está desabilitado por padrão no N900! E não há uma forma gráfica de habilitá-lo (por enquanto).

É necessário apelar para o terminal para poder usar tethering via bluetooth….há duas formas: a temporária e a quase-permanente.

Na forma temporária, basta rodar este script no terminal:

sdptool add –channel 1 DUN
while true; do
rfcomm -S — listen -1 1 /usr/bin/pnatd ‘{}’
sleep 1
done

Observação: para rodar o script, é necessário ser root. O script pode ser criado com qualquer nome, qualquer extensão (por padrão, no GNU/Linux os scripts possuem extensão .sh). Após estar criado, entre como root e rode o comando “chmod +x ” (sem aspas). O comando chmod é utilizado para mudar as permissões dos arquivos. O parâmetro “+x” faz com que o arquivo possa ser executado (no GNU/Linux não é a extensão do arquivo que determina se ele é um executável, mas uma propriedade/permissão dele).

O script deve ficar rodando num terminal até que o tethering não seja mais necessário. Para finalizá-lo, basta pressionar Control+C.

A forma quase-permanente consiste em criar um outro script e colocá-lo num diretório específico. Este é o script:

description “DUN over Bluetooth”
author “Philip Langdale”

respawn
console none

start on started bluetoothd
stop on stopping bluetoothd

pre-start script
# XXX: bluetoothd should do this in post-start
while [ ! -e /var/run/sdp ]; do
sleep 1
done
sdptool add –channel 1 DUN
end script

exec rfcomm -S — listen -1 1 /usr/bin/pnatd ‘{}’

post-stop script
sdptool del `sdptool browse local | grep Dial-Up -A 1 -m 1 | tail -n 1 | cut -d ‘ ‘ -f 3`
sleep 1
end script

(ele foi alterado para que seja executado corretamente na inicialização do aparelho)

Complicado, né?? Existe uma outra forma mais simples de consegui-lo. Abra o terminal, vire root, digite o comando “wget http://intr.overt.org/misc/bluetooth-dun”. Caso apareça a mensagem de que o comando wget não foi encontrado, digite isto: “apt-get install wget”. O comando “apt-get” é utilizado para instalar/remover programas/pacotes via linha de comando (rigorosamente a mesma coisa que o gerenciador de aplicativos faz de forma gráfica, mas muito mais poderoso). O “wget” é utilizado para baixar alguma coisa da internet (qualquer coisa! Pode ser uma página html, um arquivo, uma figura, até um site inteiro…é um comando extremamente poderoso, e vale a pena conhecê-lo mais).

O script deve ficar no diretório /etc/event.d. Para iniciá-lo, basta digitar “start bluetooth-dun” (considerando que seu nome é “bluetooth-dun”). Uma vez iniciado, só será preciso reiniciá-lo quando o N900 for desligado e ligado novamente. Ainda não descobri como fazer com que o script seja executado automaticamente na subida do sistema. (o autor o atualizou para que ele fosse iniciado automaticamente ao ligar o aparelho).

Caso seja necessário pará-lo, é só usar o comando “stop bluetooth-dun”. Não é preciso alterar a permissão de execução dele.

O fato de ficar rodando em background praticamente não interfere na utilização do aparelho, pois ele fica parado até que o bluetooth seja ligado…portanto, não consome CPU (e consequentemente bateria).

O autor pretende criar um pacote com o script, e aí talvez ele consiga configurá-lo para que a inicialização seja automática também.

fonte: Wubble e sua correção

Artigos relacionados: