Linux tethering for the 6600

Note: This discusses how to use your 6600's EVDO or 1xRTT connection to allow your PC to surf the web. This is different from the other bluetooth tethering sites that discuss how to get your pocket pc to surf using the PC's connection.

UPDATE: 23-JAN-2007 FC6 BLUETOOTH TETHERING AUTOMATIC

Ok, I got tired of doing it all by hand.
Download these two files to /tmp:
setup script
tether script
And then do this:
sudo chmod +x /tmp/bluetooth*
sudo mv /tmp/bluetooth_tether /usr/local/bin/
sudo /tmp/bluetooth_tether_setup
Enter in your phone number
All done.

NOTE: This is for Verizon users. Other users will need to edit /etc/wvdial.conf and set the right username and password. For verizon it's phone number/vzw. If you do this, please remember that you don't need to change the service name (vzw)... that's just for the dialer's convenience. However, if you do, also change it in the svc="vzw" line in /usr/local/bin/bluetooth_tether

Setting up your PPC

  1. Enable bluetooth.
  2. Make sure the service offering network is on.
  3. Make sure it is open to anyone to connect.

HOW TO TETHER:

  1. Make sure your PPC is not connected to the data network. There are various ways of doing it. You can hold down the red end-call button for five seconds and see if that works. If you've don the FLAGS2 registry hack you can click the "disconnect" button. You can enter and exit flight mode and not allow it to reconnect... whatever works for you.
  2. /usr/local/bin/bluetooth_tether

OLD INSTRUCTIONS FOLLOW:

All this was tested on a Fedora Core 5 system. It should work equally well on any system provided you have the right tools installed (bluez, sdp, hcid, rfcomm).

I put this together and then found an excellent resource on the net here

0. Make sure you have the right packages installed...
# yum install bluez-libs bluez-pin bluez-utils bluez-hcidump bluez-utils-cups

0.2 If you're using SELINUX you'll need to system-config-security-level, take the SELINUX tab, and under SELinux Service Protection check "Disable SELinux protection for bluetooth daemon"
0.4 service bluetooth restart

1. # hciconfig hci0 up

2. # sdptool browse
Look for the MAC address of the phone... and make sure that on channel 4 it's offering DUNS. It should look like this:

Inquiring ...
Browsing 00:09:2D:28:2D:F6 ... <--- your MAC address here!!!
...
Service Name: Dial-up Networking
Service RecHandle: 0x10005
Service Class ID List:
  "Dialup Networking" (0x1103)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 4                <--- DUNS is on channel 4
...
3. Edit /etc/bluetooth/rfcomm.conf and add in:

rfcomm0 {
        bind yes;
        device 00:09:2D:28:2D:F6;  <---- your MAC address from before here!!!
        channel 4;
        comment "XV6600-VZW";
}
4. Edit /etc/bluetooth/hcid.conf and add in:

options {
        autoinit yes;
        security user;
        pairing multi;
        pin_helper /etc/bluetooth/6600.pin;
}
device { name "BlueZ (%d)";         class 0x100;         iscan enable; pscan enable;         lm accept;         lp
 hold,sniff,park; }

5. Create the file /etc/bluetooth/6600.pin and put in something like:

#!/bin/sh
echo "PIN:1111"              <-- your choice of PIN here
6. Don't forget to chmod u+x /etc/bluetooth/6600.pin

7. Bind the comm port...

rfcomm bind /dev/rfcomm0 00:00:00:00:00 4             <--- your MAC address here
8. system-config-network. Select device, hit new, and add a modem (modem0) pointing to /dev/rfcomm0. Then add an account for ISP login... using modem0. Remember the name you give it.

9. edit /etc/wvdial.conf and change the init2 string to be ATE1Q0 10. wvdial name-of-account

Enjoy

Ehud