Linux - Wireless NetworkingThis forum is for the discussion of wireless networking in Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I assume that you have your Bluetooth device up and running successfully. This can be any kind of Bluetooth transceiver.
You can check if Bluetooth is working try the following:
If you see output you have an USB device. If it says "DOWN" then the hcid is probably not running.
Now we will try to find the phone. Set your phone to be visible by everybody for now. Then execute hcitool, this should look somewhat similar to this:
[root@evilgenius ~]# hcitool scan
00:E0:03:3E:4E:19 Nokia 6230 TN
This is good news. We found the phone. Now we are going to inquire the device and ask it for dialup networking (DUN). This will bring up the pairing process that you have to do once. If your system is configured well (like FC3) you will be asked for the communication PIN that you have to enter the same on the machine and on the phone.
[root@evilgenius ~]# sdptool search DUN
Searching for DUN on 00:E0:03:3E:4E:19 ...
Service Name: Dial-up networking
Service RecHandle: 0x10002
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
Language Base Attr List:
Profile Descriptor List:
"Dialup Networking" (0x1103)
Write down the channel you see. You will need it soon. You can now ping the device to see if communication is working:
[root@evilgenius ~]# l2ping 00:E0:03:3E:4E:19
Ping: 00:E0:03:3E:4E:19 from 00:20:E0:7A:15:6F (data size 20) ...
0 bytes from 00:E0:03:3E:4E:19 id 200 time 47.65ms
0 bytes from 00:E0:03:3E:4E:19 id 201 time 36.47ms
0 bytes from 00:E0:03:3E:4E:19 id 202 time 37.44ms
3 sent, 3 received, 0% loss
If that works your are fine. the GRPS connection later.
The 1 at the very end of the line is the channel we noted earlier. You can verify the result with
[root@evilgenius ~]# rfcomm show
rfcomm0: 00:E0:03:3E:4E:19 channel 1 clean
Now you can use minicom or something similar to talk to the phone. Use /dev/rfcomm0 as the device (if you bound to 0 above) you talk to. With my phone 57600 bits/sec and 8-N-1 worked fine. Try typing "at[ENTER]" which should return "OK".
First we try it the low-tech style. Try a serial minicom session like the following:
This should establish the GRPS connection. Note that you have to replace "internet.t-d1.de" by whatever the access point name (GPRS) is for your service provider.
If this worked you are ready for a more formal way. I will describe this here for Fedora Core 3.
Nice way on Fedora Core 3
First edit /etc/wvdial.conf. Add two sections like the following:
The name given here is the name from the dialer section above. Now we create the configuration file so that we can easily establish the connection. Create the file /etc/sysconfig/network-scripts/ifcfg-GPRS with the following content:
A little tweak is needed to get bluetooth and rfcomm started up when it is needed right before the device initialization. The init parameter of pppd cannot be used (pppd won't start if the devcice is not already present). So what we do is create the file /sbin/ifup-pre-local which gets executed before ifup-ppp. This script may look similar to this one:
case "$1" in
/usr/bin/rfcomm bind 0 00:E0:03:3E:4E:19 1
This will do what we want. Replace the address and channel appropriately. Not that on some older versions it may be just "GPRS" instead of "ifcfg-GPRS". You can check this by outputting $1 into a file (add echo $1 > /tmp/GPRS for example).
Now you can establish the connection (the USERCTL=yes will allow you to do this as a normal user) as easy as