Índice - Tutoriais

Bluetooth no Linux, guia completo

Por Carlos E. Morimoto em 14 de fevereiro de 2007 às 13h22

3

Compartilhando a conexão com o Palm

Se você tem um Palm com Bluetooth, pode acessar a web através dele, usando a conexão do desktop. A utilidade pode parecer contestável à primeira vista, já que o Bluetooth só funciona a distâncias curtas, de forma que se você está do lado do desktop, seria mais prático usá-lo para acessar, ao invés do Palm. Mas, na prática acaba não sendo bem assim. Os transmissores Bluetooth tipo 1 são capazes de cobrir distâncias maiores, chegando próximo do oferecido por uma rede wireless doméstica, permitindo usar o Palm para acessar a web enquanto não estiver na frente do micro. Se você costuma acessar a web via GPRS no Palm, pode usar a conexão compartilhada no desktop para economizar (as operadoras cobram por MB transferido) enquanto estiver perto do desktop.

Se você já configurou o suporte a Bluetooth, fazer o compartilhamento envolve apenas rodar alguns comandos adicionais, que usam o dund para aceitar a conexão do Palm e cria um script de compartilhamento da conexão.

Comece rodando o comando que permite que o palmtop estabeleça a conexão com o desktop:

# dund --listen --msdun --channel 1 10.0.0.1:10.0.0.2

Rode agora os comandos que compartilham a conexão. Note que estes são os mesmos comandos que você usa ao compartilhar a conexão com outros micros da rede local.

# modprobe iptable_nat
# echo '1' > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

O "eth0" na terceira linha indica a placa que o seu micro usa para acessar a Internet, não se esqueça de substituir pela interface correta, caso diferente. Você pode verificar a configuração da rede usando o comando "ifconfig".

Se você acessa via ADSL, pode ser necessário usar este quarto comando. Ele ajusta o tamanho dos pacotes enviados pelo Palm, de forma que eles se ajustem ao MTU usado pelo modem ADSL. Sem isto a conexão pode ficar instável, pois o modem ADSL não suporta os pacotes de 1500 bytes usados dentro da rede local, cortando os últimos bytes de cada pacote:

# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536
-j TCPMSS --clamp-mss-to-pmtu

Depois de rodar os comandos pela primeira vez, você pode transformá-los em um script, para que não precise ficar digitando-os cada vez que quiser ativer o compartilhamento. Para isso, crie um arquivo de texto contendo os comandos e marque a permissão de execução (chmod +x). A partir daí, basta executar o script :).

A partir daí, falta só configurar a conexão no palmtop. Nos Palms acesse o utilitário "Prefs" e vá no "Connection > New". Dê um nome qualquer para a conexão e marque as opções "Connect to PC", "Via: Bluetooth":
tutorial-bluetooth_html_dbe1f27
Ainda dentro do "Prefs", acesse agora a opção "Network" e escolha a conexão que foi criada. Este é o mesmo menu onde você configura a conexão via GPRS, ao conectar através de um celular com Bluetooth:
tutorial-bluetooth_html_71b9d019
Clique no botão "Details" e marque a opção "Fallback None", caso contrário a conexão cai sempre depois de um minuto de ociosidade.

Naturalmente, esta mesma receita pode ser adaptada para acessar através de outros palmtops e smartphones. Os comandos executados no PC continuam os mesmos, muda apenas a configuração feita em cada aparelho.

3 comentáriosPor Carlos E. Morimoto. Revisado 14 de fevereiro de 2007 às 13h22

Comentários

Acessando internet no celular via bluetooth.
por Fabio (anônimo) em 5 de abril de 2011 às 01h59
Ola, parabéns pelo tutorial, ficou fantástico, bem, mas o que eu procurava era o contrario, uma forma de compartilhar a conexão do pc com o celular usando um adaptador bluetooth no pc, usando linux(uso ubuntu), o cel que tenho é um nokia 5233(symbian) sem wi-fi, por isso gostaria de compartilhar a internet pelo bluetooth, agradeço antecipadamente.
Acessar internet via bluetooth por claudia (anônimo)
Bluedevil no Kubuntu 10.10
por Fábio (anônimo) em 28 de março de 2011 às 15h37
Tem algum guia desses para o Bluedevil no Kubuntu?