I'm pretty sure that this had already been done before, I am just putting it here so I will remember it later ;)
Okay...
Step 1.Make your bluetooth device discoverable (just for a few seconds, at least)
Step 2.run this command:
% hcitool scan
Find the line that looks like
C0:XX:XX:XX:XX:00 Renz phone
That previous command gives you the bdaddr (Bluetooth Device Address) of your phone. I placed Xs in there (just to secure the phone, yours would actually be HEX Digits.=)
Step 3.Find out your device's DUN (Dial Up Networking) channel by running:
% sdptool search DUN C0:XX:XX:XX:XX:00
You may come up with the following:
Inquiring ...
Searching for DUN on C0:XX:XX:XX:XX:00 ...
Service Name: Dial-Up Networking
Service RecHandle: 0x10012
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 22
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
From here, we can infer that our Dialup Networking Service is @ channel 22
Step 4.Bind your rfcomm0 to this channel:
% rfcomm bind 0 C0:XX:XX:XX:XX:00 22
We basically tell rfcomm to bind to rfcomm0 using our bdaddr(C0:XX:XX:XX:XX:00) to channel 22.
Step 5.Configure your wvdial by editing /etc/wvdial.conf and putting in:
[Dialer Defaults]
phone=*99#
Modem=/dev/rfcomm0
Username=putyourusernameanythingwilldo
Password=putanythingheresmartdoesnotcare
New PPPD=yes
Stupid Mode=yes
Init1=ATZ
Init2=ATQ0 V1 E1 S0=0 & C1 &D2+FCLASS=0
baud=460800
Step 6.Run wvdial:
% wvdial
Be careful not to press ctrl-c while wvdial is running or else, you will get disconnected.
That's it! Have fun!