Penguin
Annotated edit history of BlueTooth version 9, including all changes. View license author blame.
Rev Author # Line
4 JohnMcPherson 1 BlueTooth is a wireless protocol data communication protocol. Like all wireless protocols BlueTooth is designed to replace wires, only in this case we are talking short, low speed wires. Bluetooth can communicate in a 10M range with a maximum aggregate throughput of 1Mbit/s. This is enough to use between handheld devices such as mobile phones and PDAs, but not enough to use for real-time streaming video. Bluetooth has dedicated 64kbit/s voice channels and is well suited to replacing wires for cellphone headsets and the like.
2
3 Bluetooth uses a master/slave arrangement called a Piconet, which allows for 7 active slaves per master. The bandwidth (from the 2.4GHz ISM range) is allocated using TimeDivisionMultiplexing (TDM).
5 PerryLorier 4 ----
5
6 To configure bluetooth on your host, make sure your kernel has the correct modules loaded for your bluetooth adapter. Run:
7 <verbatim>
8 $ hciconfig -a
9 </verbatim>
10
11 if it doesn't list anything then the kernel hasn't detected your bluetooth device. If it lists "hci0" but says it is down, then it has detected it but not configured it. You can bring it up with:
12 <verbatim>
13 $ hciconfig hci0 up
14 </verbatim>
15
16 You can perform a scan of nearby bluetooth devices with:
17 <verbatim>
18 $ hcitool scan
19 </verbatim>
20
21 and investigate a device with:
22 <pre>
23 $ hcitool info ''mac-of-device''
6 PerryLorier 24 $ sdptool browse ''mac-of-device''
5 PerryLorier 25 </pre>
7 PerryLorier 26
27 To send files over bluetooth:
28 <pre>
29 $ ussp-push ''mac-of-device''@ ''localfile'' 'remotefile''
30 </pre>
31 Note that the @ is important, without it ussp-push thinks ''mac-of-device'' is a path to a tty file.
8 PerryLorier 32
33 !!Errors
9 PerryLorier 34 !<tt>Can't create RFCOMM TTY: Address already in use</tt>
8 PerryLorier 35 This error from rfcomm means that something is already using that <tt>/dev/rfcomm0</tt>, use another one, or use "<tt>rfcomm release /dev/rfcomm0</tt>" to make it available.