The bluetooth.tgz and bluetooth2.tgz files are now attached to another post in this thread - see the note at the bottom of this one. In order to keep the files within the allowed 256KB attachment limit, I have removed the source code and object files - these files are not needed to install the Bluetooth modules and drivers. If you really want the source code, it can be obtained from places like http://www.kernel.org (FYI: The original Linpus linux shipped with the AA1 is based on kernel 2.6.23.9). The drivers and kernel modules supplied here are based on 100% unmodified original source code - I just compiled them to make them available for all of us.
I am glad that so many have found this thread useful and thanks to those who have added their appreciations and their own wisdom in the true spirit of an Open Source support community. Since originally posting this article, things have moved on and my AA1 is (July 2009) now running Fedora 11 so I can't really help much now with Linpus-related issues, but I encourage everyone to post their technical questions to this thread where some kind soul will no doubt help if they can. All the best - Linker3000.
These notes describe setting up a bluetooth adaptor for use with a mobile phone to connect to the Internet, but the initial setup and pairing procedure is also applicable to other devices such as keyboards and mouses - see the other posts in this thread for additional info from others.
*Everything is working except with Dial Up Networking (DUN) getting the ppp DNS servers to be used automatically. There's a few options to work around this:
Upgrading NetworkManager to the SVN version (see this post: viewtopic.php?f=16&t=1209) helps as it allows manual DNS entries to be specified so you can edit in your dial-up service's DNS servers after you have connected - or just use the OpenDNS DNS servers (208.67.222.222 and 208.67.220.220). Others have added the OpenDNS servers to /etc/resolv.conf, but you need to keep an eye on this as NetworkManager can overwrite the file later. You can also specify your service provider's DNS servers (or use OpenDNS) in the gnome-ppp app.
The developers of NetworkManager state that they will 'soon' implement improved support for Dial Up Networking (I'll update the notes here 'as and when'). As an alternative to DUN, some have implemented Personal Area Networks (PANs) via Bluetooth to their phones - see the other posts in this thread.
Useful reading: This PDF is chapter 7 of "Linux Unwired" from O'Reilly and it contains further notes on getting Bluetooth working, pairing devices, file transfers, OBEX, PAN and printing: http://www.devx.com/assets/download/10183.pdf
Happy Bluetoothing!
I hope you find these notes useful - just remember that it's up to you whether you decide to act upon them - they worked for me, but you use them at your own risk.
1) Use the Package Installer (having enabled the Advanced Menu as described here: viewtopic.php?f=13&t=28 ) or yum to install the following:
bluez-gnome, bluez-hcidump, bluez-libs, bluez-libs-devel, bluez-utils, gnome-ppp, gnome-bluetooth
Note: the above-referenced article also describes how you can open a terminal window using file manager and someone has added a note about doing the same with Alt-F2. You will need to be in a terminal window, with root (super user) permissions to issue the commands below. To do this, use the su command to elevate your permissions, or issue the commands with sudo - eg: sudo hciconfig -a
2) Plug in your USB dongle and see if it is recognised (here, I am already logged in as root):
- Code: Select all
[root@localhost.net]$ lsusb
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
If it's not recognised you may need to try a different make/model. Mine was a cheap 'Technika' one from Tesco in the UK.
3) Issuing the command /etc/init.d/bluetooth start gives:
- Code: Select all
[root@localhost.net]$ /etc/init.d/bluetooth start
audit_log_user_command(): Connection refused
Can't open RFCOMM control socket: Address family not supported by protocol
We need some Kernel modules...
Download links are at the bottom of this post.
4) Download the kernel modules pack bluetooth.tgz (compiled using a vanilla 2.6.23.9 kernel), extract the files and copy them to the folder /lib/modules/2.6.23.9lw/kernel/drivers/net/bluetooth
5) Now download bluetooth2.tgz, extract and copy the drivers to /lib/modules/2.6.23.9lw/kernel/drivers/bluetooth
Note: Each tgz file expands into its own 'bluetooth' folder so the simplest way to install these files is to copy them into the .../drivers/net and .../kernel/drivers folder (one per location as per the above instructions) and then issue the command tar xvfz <filename>. If you get an error during the copy or extraction, make sure you are logged in as root.
then...
- Code: Select all
[root@localhost.net]# depmod
[root@localhost.net]# /etc/init.d/bluetooth start
Starting Bluetooth Services: [OK]
6) Run the 'Bluetooth Applet' (/usr/bin/bluetooth-applet) to get a Bluetooth logo at the bottom of the screen. Here you can change Bluetooth properties (enable/disable audio, serial, echo and input service), but nothing else happens yet...
7) If your Bluetooth dongle seems dead - remove and re-insert it - OHMYGOD it's flashing! - and a little window should pop up telling you your device had been made 'connectable'!!
8) Scan for new Bluetooth devices on your phone - mine found 'localhost-0' - instruct the phone to pair with the device and enter a key. A 'pairing request' box should pop up on the Acer One asking for a key too. Note the MAC address of the device wishing to pair - you'll need it later. Enter the key on your Acer and you should be told you have bonded!
9) Right click on the Bluetooth logo and select 'Preferences': My bonded phone is listed and the Services tab shows Input and Serial services are available...
10) You can now try and ping your bluetooth device:
First - confirm device is there - it's probably hci0:
- Code: Select all
hciconfig -a
Start your device (it may be already started - need to be root for this):
- Code: Select all
hciconfig hci0 up
Ping your USB dongle:
- Code: Select all
l2ping [MAC address of adapter] eg: l2ping 00:11:33:55:77:AA
If all is well - ask your paired phone for what it can do - for internet connectivity we're looking for Dial Up Networking (DUN) - on my phone it's on channel 4. Issue the following command and find out:
- Code: Select all
sdptool search dun [MAC Address] eg sdptool search dun 00:17:83:9C:36:D6
If that command doesn't find anything, try the following, which is more comprehensive:
- Code: Select all
sdptool records [MAC ADDRESS]
11) Edit /etc/bluetooth/rfcomm.conf to look like this:
- Code: Select all
#
# RFCOMM configuration file.
#
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device attached to the Acer
device [MAC ADDRESS - eg 00:11:22:33:44:55];
# RFCOMM channel for the connection - use the channel number
# for DUN found with the sdptool records command...
channel [CHANNELNO];
# Description of the connection
comment "My_Bluetooth";
}
Now bind the port - this creates /dev/rfcomm0 and connects it to your bluetooth device (if paired)
- Code: Select all
rfcomm bind rfcomm0
12) Try and connect to the phone using gnome-ppp:
- Code: Select all
gnome-ppp
I filled in gnome-ppp as follows for UK Vodafone - you will need to check what user name and password you need to use. The number *99# is the standard one to access a data connection from most phones:
Username: web
Password: web
Remember Password = ticked
Phone Number: *99#
SETUP:
Modem:
Device: /dev/rfcomm0
Type: Analog Modem
Speed: 115200
Phone line: Tone
Wait for dialtone: unticked
Init strings: (I don't seem to have an Init1!?)
Init 2: ATQ0 V1 E1 S0=0 &C1 &D2
Init 3: AT+CGDCONT=1,"IP","INTERNET"
NB: your Init3 string may be different - the word "INTERNET" is the APN (Access Point Name) for UK Vodafone Pay Monthly connections - look up the APN of your network here: http://franson.com/forum/topic.asp?TOPIC_ID=6669 or here (UK): http://www.filesaveas.com/gprs.html
NB2: Sooo many people get that last CGD... string wrong and put CDG instead, which will throw an error - check carefully!
OPTIONS:
Connections: I have nothing ticked.
Having entered all this, I closed the setup page and hit Connect. In the terminal window behind gnome-ppp I could see the dialog between the Acer and the phone and...
PPP Connected!!!! I
All that needs tidying up now is the DUN DNS issue as described at the top of this post.
NB: If a dial-up fails, or you cancel the ppp dial attempt you may need to issue the following to free the rfcomm connection before using gnome-pp again:
- Code: Select all
rfcomm release 0
rfcomm bind 0
*******************************
BLUETOOTH MODULES AND DRIVERS
Well, the files were here, but they expired off the board! I have tried to put them back but the editing tools won't let me. Neva has kindly attached the files you need to his post here:
viewtopic.php?f=36&t=789&start=140#p106283
Read the notes in this post to see where the files need to be put.
