Tuxas home page

C700, Openzaurus, Bluetooth and GPRS

Bluetooth Installation Example for the C700 with Experimental OZ

This is an example, how to get an Internet connection up on a SHARP SL-C700 Linux PDA, using a GSM/GPRS mobile phone with a Bluetooth interface. It is quick and dirty approach here, as the the OpenZaurus C700 software is still in an experimental stage anyway.

The example is based on a GSM mobile phone (Ericsson T68) and the Anycom Compact PCMCIA Bluetooth card. The installation is on top of the experimental Openzaurus.org C700 operating system. The Bluetooth driver has been taken from two other sources, see references below.

References:
- Bluetooth
http://homepage.mac.com/mokjpn/Zaurus/BT.html
http://bluez.sourceforge.net
- OZ:
http://www.openzaurus.org/official/experimental/c700/
http://papillon.ex.nii.ac.jp/zaurus/Members/Laurent/OZ_Migration
- GPRS Data account settings:
http://www.taniwha.org.uk/gprs.html
http://www.psg.com/~randy/gprs-ppp.html

Flash your C700 with Openzaurus/Opie. Copy all files in this directory to /mnt/card or /tmp on your C700 and insert the Anycom Bluetooth card into the compact pcmcia card slot. Chang to this directory and execute:

ipkg remove bluez-libs bluez-sdp bluez-pan bluez-utils
ipkg install bluez-zaurus_2.3b_arm.ipk

cp /etc/modules.conf /etc/modules.conf.save
ipkg -force-overwrite install bluez-slc700_2.3-1_arm.ipk
cat /etc/modules.conf.save >> /etc/modules.conf

rm -r /etc/rc.d
cp btstart /etc/init.d
cp bluetooth /etc/init.d
chmod +x /etc/init.d/btstart
chmod +x /etc/init.d/bluetooth
cp bluepin /usr/bin
cp hcid.conf /etc/bluetooth
cp rfcomm.conf /etc/bluetooth

echo "0000" > /etc/bluetooth/pin

rm -r /lib/modules/2.4.6-rmk1-np2-embedix/
chown -R root.root /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/
/sbin/depmod -a

preinstall basic PPP scripts

[ ! -d /etc/ppp/peers ] && mkdir /etc/ppp/peers
[ ! -d /etc/chatscripts ] && mkdir /etc/chatscripts
cp btgprs /etc/ppp/peers
cp t68igprs /etc/chatscripts

/etc/init.d/pcmcia restart # or reboot

#####################################

/etc/init.d/btstart

Bluetooth should work now. To test, enable Bluetooth recognition mode on your phone and execute:

hcitool scan

This should return the Bluetooth hardware address and the name of your phone, for example: "00:80:37:B1:AF:6D T68i"

Now configure the phone and ISP specific settings:

Edit the GPRS profile in your phone, and remember the CID number of the profile. On my phone the APN is web.vodafone.de and it has CID=3. Edit /etc/chatscripts/t68igprs if you have a different CID. To make the T68i known to the C700, edit /etc/init.d/btstart: Un-comment rfcomm line and insert your phones hardware address.

Fix a bug in /etc/ppp/options: Comment in the "noipx" option.

Note: With OZ, this does not always work for some reasons yet unclear to me. After scanning with the Bluetooth Manager Opie application in the Settings menu, it usually works:

rfcomm 0 00:80:37:B1:AF:6D 1

Enter PIN "0000" on the phone and connect to the Internet:

pon btgprs

use an application:
ping your_favourite_server

Note: suspend/restore of the C700 Bluetooth interface does not work right now as this to my understanding requires device driver support, which seems to have been implemented beginning in 2.4.20, but not in the current C700 2.4.18 kernel. You must physically remove and insert the Anycom card after a resume from the suspend mode as a workaround.

Download

Download all separate files from here or all in one tar archive from here.

Author

Stefan Katerkamp <skat_at_tuxas.net>


last update: Mon Apr 28 01:06:46 CEST 2003