segunda-feira, maio 08, 2006

Palm com bluetooth no Ubuntu

Resolvi fazer um post no blog para ficar mais acessível para todo mundo.

Ganhei um palm TX e queria partilhar internet lá em casa. Tudo bem, consegui fazer isto usando o cabo usb, mas não ficava legal.

Então daí eu pensei no bluetoth. Já que ele não gasta tanta bateria assim e é suficientemente rápido, e além de tudo vou pode trocar arquivo entre o pc e ele com facilidade.

Então comprei. Bom, de cara não funcionou... Mas depois de uma pesquisa básica no nosso Tio Google, eu achei um script para partilhar internet via bluetooth com uma placa de rede (só testei com placa de rede mesmo, não sei se funciona para modems dial-up).


1) Configurando Bluez


1.1) Com internet

É bem simples, primeiro reiniciamos o bluez e depois fazemos o forward que criará uma rota do bluetooth para o palm. É claro que você precisa de configurar o palm, então depois de ter o bluetooth eu mostro como se fazer isso.


#!/bin/sh

/etc/init.d/bluez-utils restart

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

killall -v dund

dund --listen --persist --msdun call palm


É preciso rodar o script como root. Então, você pode criar um script que chama esse deste modo:

#!/bin/sh

sudo bluez.sh # substitua com o nome do script acima

Pronto, à essas alturas se você tem o bluez instalado, seu dispositivo bluetooth deve estar funcionando. Se você não conseguiu não se desespere, existem outras maneiras, que eu não conheco, é claro, mas é só dar uma procurada no Titio.

No palm, simplificadamente, basta, depois de ter o bluetooth ativado e funcionando (é preciso rodar o script toda vez que se for usar o bluetooth), procurar por dispositivos bluetooth e mandar conectar com ele.
Tem um assistente bem simples no próprio palm. Procure por Pref. > Bluetooth > Configurar Dispositivos > Configuração do PC.
Ele deve achar seu computador se estiver tudo configurado corretamente.


1.2) Apenas para enviar arquivos

Se você deseja apenas enviar arquivos, é mais fácil. Basta ter os pacotes gnome-obex-server e gnome-bluetooth-manager

Apenas reiniciei o bluz com o comando /etc/init.d/bluez-utils restart . Após isto, inicie o bluetooth manager e mande arquivos com o obex. Como há diversos tutoriais na internet de como transferir arquivo com o gnome por bluetooth, vou pular esta parte.


2) Usando USB

Bom, com o USB é mais fácil, mas vc tem que alterar o script para seus dados, como ip do palm e pc, e usb que o palm está. Há maneiras de se automatizar isto, mas por enquanto vai assim mesmo.
Lembre-se de rodar o script como root. Pode-se usar o truque que mencionei acima.



#!/bin/sh
# Script to establish a routed and NAT'd ppp link between a Palm PDA
# and your PC.

# This script accompanies the article at
# http://atulchitnis.net/writings/palm-ppp.php

# By Atul Chitnis

# Version 1.1

# Note - if you are using a USB connection, start the connection
# at the Palm end *FIRST*, wait 2-3 seconds, then run this script.

# ---- start of parameter block

# The port your Palm is connected to
MyPort="/dev/ttyUSB1"

# The speed it talks at (ignored for USB connections)
MyBaud="115200"

# The IP address to assign to the Palm
MyPalmIP="192.168.0.3"

# The IP address to assign to PC's side of the link
MyPcIP="10.33.70.40"

# What DNS should the Palm use?
MyDNS=`grep ^nameserver /etc/resolv.conf|awk '{ print "ms-dns " $2 }'`
# Comment the previous line and uncomment and edit the next line if you
# prefer to use a DNS different from the ones in your /etc/resolv.conf
# MyDNS="192.168.1.1"

# What device will we use by default for the uplink?
MyUplink="eth0"

# Where are my tools?
MyTools="/sbin/"

# Where is pppd?
MyPPPD="/usr/sbin/pppd"

# ---- end of parameter block

# No edits should be required below

# Get rid of ipchains, if loaded
${MyTools}rmmod ipchains &> /dev/null

# Load iptables and some related modules
${MyTools}modprobe ip_tables
${MyTools}modprobe ip_conntrack_ftp
${MyTools}modprobe ip_conntrack_irc

# Flush any rules that may be hanging around
${MyTools}iptables -F


# OK, let's find out what our uplink device really is

DEFDEV=`${MyTools}route -n |grep "^0.0.0.0"|tr -s " "|cut -d " " -f8`
if [ ! -z "$DEFDEV" ]; then
MyUplink=$DEFDEV
fi

# All done, kick off pppd to talk to the port and establish a link
# pppd will wait for the actual connection to happen before going
# into the background

${MyPPPD} ${MyPort} ${MyBaud} local noauth ${MyPcIP}:${MyPalmIP} $MyDNS passive updetach asyncmap 0

if [ ! -z "`${MyTools}ifconfig|grep ${MyPalmIP}`" ]; then

# OK, we have a link, let's NAT

echo 1 > /proc/sys/net/ipv4/ip_forward

${MyTools}iptables -A INPUT -i ! ${MyUplink} -j ACCEPT
${MyTools}iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
${MyTools}iptables -t nat -A POSTROUTING -o ${MyUplink} -j MASQUERADE

echo
echo -e Link is up, your Palm is at ${MyPalmIP} \\a

else
echo -e Link failed \\a
fi


Na internet há muita coisa sobre palm e ppp (procure por "palm ppp over usb" sem aspas) e palm e bluetooth. No site do cara que fez o script para USB tem muita coisa. Procure também por gnome e bluetooth. Na verdade não há muito mistério e muita gente consegue sem ao menos reiniciar o bluez.

Qualquer dúvida só comentar ai galera.

Comments: Postar um comentário



<< Home

This page is powered by Blogger. Isn't yours?