เนื่องจาก Palm Treo 680 นี้ไม่มี Wifi ให้เชื่อมต่อกับ internet ได้โดยตรง วิธีการที่สามารถจะเชื่อมต่อกับ internet ที่ประหยัด และสะดวกที่สุดก็คงเป็นการเชื่อมต่อผ่านทาง bluetooth ซึ่งตัว Palm Treo เองได้เตรียมเครื่องมือที่เรียกว่า DialUp Networking (DUN) เอาไว้ให้เรียบร้อยแล้ว
โดยปกติ เรามักจะคุ้นเคยกับการที่ โทรศัพท์ทำตัวเป็นโมเต็ม เพื่อให้คอมพิวเตอร์สามารถเชื่อมต่อกับ internet ได้ แต่ในกรณีนี้เป็นในทางกลับกัน นั่นก็คือ เราจะทำให้ Palm สามารถใช้ internet ได้โดยผ่านเครื่องคอมพิวเตอร์ PC ที่เชื่อมต่อ internet อยู่แล้ว ซึ่งเทคนิคอันนี้ เรียกว่า Bluetooth Reversed DUN
การทดสอบการใช้งานนี้ ทำบน Ubuntu Hardy กับ Palm Treo 680
ขั้นตอนที่ 1 ทำการเปิดช่องทางให้ Ubuntu สามารถรับ connection จาก Treo ได้
1. เปิดหน้าจอ terminal
2. พิมพ์คำสั่งดังต่อไปนี้ ทีละคำสั่ง
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i ppp0 -j ACCEPT
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
โดยในคำสั่งบรรทัดที่ 2 ถ้าหากมีการเชื่อมต่อ internet ผ่านทาง network card ตัวอื่น ก็ให้เปลี่ยนจาก eth0 ตามความเหมาะสม อย่างเช่น ถ้าใช้ wireless lan ผ่านทาง wlan0 ก็ให้เปลี่ยนเป็น wlan0
3. ทำการค้นหา DNS server address ซึ่งโดยปกติจะอยู่ในไฟล์ /etc/resolv.conf
cat /etc/resolv.conf
หรือไม่ก็ใช้ openDNS address คือ 208.67.222.220 หรือ 208.67.222.222 ซึ่งจะนำไปใช้ในขั้นตอนต่อไป
4. สร้างไฟล์สำหรับ dund
sudo nano /etc/ppp/peers/palm
พิมพ์ข้อความด้านล่าง
--------
115200
192.168.2.1:192.168.2.2
local
ms-dns 208.67.222.222
noauth
debug
--------
ในบรรทัดที่ 4 สามารถเปลี่ยนหมายเลขเป็น DNS server address อื่น ที่จดมาในข้อ 3. ได้
5. ทำการ run dund โดยใช้คำสั่ง
dund --nodetach --listen --persist --msdun call palm
เป็นอันเสร็จขั้นตอนบน PC
ขั้นตอนที่ 2 สร้าง connection ใน Treo
- ไปที่ Prefs -> Connection -> New
- ใส่ Name ตามต้องการ เช่น Bluetooth to PC, Connect to PC, Via Bluetooth
- ในช่อง Device สามารถเลือกให้เป็น trusted devices ถ้าเคย pair กันมาก่อนแล้ว หรือเลือกให้ค้นหาก็ได้
- Tap ที่ปุ่ม Details, Speed 115,200, Flow ctl Automatic, OK
- หลังจากนั้นออกมาที่หน้าจอ Prefs อีกครั้ง
- เลือก Network -> Menu -> Service -> New
- ใส่ชื่อตามต้องการ เช่น Ubuntu
- เลือกชื่อ Connection ที่ได้สร้างเอาไว้ในขั้นตอนก่อน (Bluetooth to PC), OK
- แล้วก็ทดลอง connect ถ้าทุกอย่างเป็นไปเรียบร้อยดี ก็จะเห็นความเคลื่อนไหวบนจอ terminal
สำหรับการตั้งให้ dund และการ config iptable เป็นไปโดยอัตโนมัติ ทุกครั้งที่ boot เครื่อง ทำได้โดยการสร้าง script ไว้ที่ /etc/init.d/
sudo nano /etc/init.d/start_bluetooth.sh
----------
#!/bin/bash
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
-----------
Save
- เปลี่ยน permission เป็น root executable
sudo chmod 755 start_bluetooth
sudo ln -s /etc/init.d/start_bluetooth /etc/rc2.d/S98_start_bluetooth
เป็นอันเสร็จเรียบร้อย
อ้างอิง
help.ubuntu.comhttp://www.newt.com/debian/treo650.html