Acesso à internet via Bluetooth no Linux

Bom, para receita, precisaremos dos seguintes ingredientes:

Distribuição utilizada: Ubuntu Feisty Fawn 64 bits, mas pode utilizar outra de acordo com o gosto (todos os módulos e softwares necessários vem instalados nesta distro por padrão, o único pacote que instalei foi o bluez-pin para ter uma interface de usuário na hora de colocar a senha do pareamento bluetooth).

Hardware: Computador de mesa/notebook com bluetooth e acesso à internet, handheld palmOne TUNGSTEN E2, mas deve ser possível utilizar qualquer outro que possua Bluetooth e softwares de conexão à internet.

Módulos do kernel:

  • hci_usb
  • rfcomm
  • e demais módulos encontrados na maioria dos kernels, relacionados a usb e NAT

Softwares Linux:

  • bluez (pacotes bluez-pin e bluez-utils além do bluez-pin)
  • ppp
  • modprobe, iptables, etc.

Primeira parte: Linux

  1. Carregue o módulo hci_usb, modprobe hci_usb
  2. Cheque os dispositivos bluetooth conectados pelo comando hciconfig -a, provavelmente o handheld aparecerá como hci0, então conecte-o com o comando hciconfig hci0 up
  3. rode o daemon HCI Bluetooth: /usr/sbin/hcid
  4. neste passo, caso esteja utilizando uma outra distro, tente rodar o daemon de serviço de descoberta bluetooth: sdpd; como não tem este comando no Ubuntu, não precisa rodar (funciona do mesmo jeito).
  5. carregue o módulo rfcomm, modprobe rfcomm
  6. Rode o servidor de acesso: dund --listen --msdun --channel 1 10.1.1.101:10.1.1.102 (se quiser pode variar os endereços ip, colocando 192.168.2.101:192.168.2.102, por exemplo)
  7. Agora vamos habilitar a tradução de endereços de rede para o nosso prezado handheld:

    echo '1' > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -A FORWARD -i ppp0 -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  8. Pronto. Para desabilitar o bluetooth, basta dar um kill nos processos dund e hcid.

Segunda parte: handheld

  1. Pareie o handheld com o computador, partindo da tela inicial, Bluetooth => configurar dispositivos => Dispositivos confiáveis => Adicionar disp., daí escolha o computador (terá o nome: “$(hostname)-0”). Então será pedida a senha de pareamento: escolha uma, coloque no handheld e no Linux, inicie a interface de usuário (Bluetooth Applet 0.6, iniciada com o comando bluez-pin --dbus) irá te pedir a senha. Clique na caixinha amarela e preencha com a mesma senha colocada no handheld. De volta ao handheld, toque Ok.
  2. Com o dispositivo pareado entre em Prefs=>Conexão e adicione a conexão Bluetooth recém criada, Conectar a: PC; Via: Bluetooth; Dispositivo: toque para selecionar o computador recém-pareado. Toque Ok.
  3. Novamente em Prefs, iremos configurar o acesso à internet via o servidor ppp iniciado pelo comando dund no Linux. Para tanto entre em Rede=>Nova, Serviço: escolha um nome qualquer; Usuário: em branco; Senha: em branco; Conexão: toque para selecionar a conexão recém-criada; agora toque em Detalhes…=>De-selecione Consultar DNS e preencha o endereço dos servidores DNS de acordo com o constante do arquivo /etc/resolv.conf do Linux; Endereço IP: automático (já foi determinado pelo comando dund); Ok; Toque Conectar (dica: em Detalhes… pode escolher Tempo limite: Nunca para evitar expirar a conexão por tempo de inatividade)
  4. No linux, dá pra testar se a conexão está funcionando com um ping 10.1.1.101
  5. Deve funcionar

Como o wordpress.com faz umas substituições de caracteres que inviabilizam a postagem de scripts shell, coloquei os scripts de desligamento e ligamento do acesso bluetooth (pronúncia; Blúe-Tuf) no site alternativo (obrigado freeshell.org!. Os scripts se chamam ./blueon para ativar e ./off para desativar.

Nas experiências que tive, o acesso funcionou. Caso o Versamail não esteja baixando emails basta entrar em Configurações=>Servidores de correio e escolher no ítem Serviço: a conexão bluetooth recém-criada, substituindo a conexão USB usada anteriormente.

9 comentários sobre “Acesso à internet via Bluetooth no Linux

  1. Bom dia Alguem pode me dizer se tem como eu conectar o meu computador na internet via bluetooth? e como eu faço isso é pago alguma coisa assim…

    Agradeço a quem puder me enviar um e-mail respondendo isso

    Grato!

  2. Excelente tutorial! Segui direitinho e funcionou, o palm da minha namorada acessou sem problema o bluetooth do meu notebook. Sensacional, meus parabéns. Agora vai ficar mais fácil pra ela colocar linux no desktop.

  3. @Autor, eu gostei de ler o tutorial, gostaria mais ainda se eu soubesse se esse tutorial é compatível com o modelo da Nokia 5233. É uma suadeira fazer isso funcionar e nem isso eu consegui com o windows 7. Tive problemas por causa do tipo de dados que pode ser usado quando for setar um novo ponto de acesso (só pode ser usado o Data Packet e não mais o Data Call).

    Existe alguma solução pra me ajudar?
    Grato.

  4. “Como o wordpress.com faz umas substituições de caracteres que inviabilizam a postagem de scripts shell, coloquei os scripts de desligamento e ligamento do acesso bluetooth” Vc ainda teria os scripts?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *