/[gentoo]/xml/htdocs/doc/en/bluetooth-guide.xml
Gentoo

Contents of /xml/htdocs/doc/en/bluetooth-guide.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download) (as text)
Sat Aug 27 09:19:30 2005 UTC (9 years, 1 month ago) by swift
Branch: MAIN
Changes since 1.1: +2 -2 lines
File MIME type: application/xml
Fix typo: deamon/daemon

1 <?xml version='1.0' encoding="UTF-8"?>
2
3 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/bluetooth-guide.xml,v 1.1 2005/08/25 10:40:55 fox2mike Exp $ -->
5
6 <guide link="/doc/en/bluetooth-guide.xml">
7 <title>Gentoo Linux Bluetooth Guide</title>
8
9 <author title="Author">
10 <mail link="deathwing00@gentoo.org">Ioannis Aslanidis</mail>
11 </author>
12 <author title="Contributor">
13 <mail link="puggy@gentoo.org">Douglas Russell</mail>
14 </author>
15 <author title="Contributor">
16 <mail link="marcel@holtmann.org">Marcel Holtmann</mail>
17 </author>
18 <author title="Author/Editor">
19 <mail link="fox2mike@gentoo.org">Shyam Mani</mail>
20 </author>
21 <author title="Editor">
22 <mail link="rane@gentoo.org">Ɓukasz Damentko</mail>
23 </author>
24
25 <abstract>
26 This guide will explain how to successfully install a host Bluetooth device,
27 configure the kernel properly, explain all the possibilities that the Bluetooth
28 interconnection offers and how to have some fun with Bluetooth.
29 </abstract>
30
31 <!-- The content of this document is licensed under the CC-BY-SA license -->
32 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
33 <license/>
34
35 <version>1.0</version>
36 <date>2005-08-25</date>
37
38 <chapter id="introduction">
39 <title>Introduction</title>
40 <section>
41 <title>What is Bluetooth?</title>
42 <body>
43
44 <p>
45 Bluetooth is an industrial specification that provides users a way to connect
46 and exchange information between devices like personal computers, PDAs or
47 mobile phones. Using the Bluetooth technology, users can achieve wireless voice
48 and data transmission between devices at a low cost. Bluetooth also offers the
49 possibility to create small wireless LANs and to synchronize devices.
50 </p>
51
52 </body>
53 </section>
54 <section>
55 <title>About the content of this guide</title>
56 <body>
57
58 <p>
59 The first part of this guide is to identify qualified and non-qualified devices
60 that support the Bluetooth technology. This way, users can purchase Bluetooth
61 devices that are known to work. After that, the guide explains how to configure
62 the system kernel, identify the Bluetooth devices installed on the system and
63 detected by the kernel and install the necessary basic Bluetooth tools.
64 </p>
65
66 <p>
67 The second part covers how to detect remote devices and how to establish a
68 connection from or to them by either setting up radio frequency communication
69 (RFCOMM) or by setting up a personal area network (PAN).
70 </p>
71
72 <p>
73 The last part of the guide lists in detail applications that can take
74 advantage of all the possibilities offered by the Bluetooth technology.
75 </p>
76
77 </body>
78 </section>
79 </chapter>
80
81 <chapter id="devices">
82 <title>Supported Devices</title>
83 <section>
84 <title>Qualified and non-qualified devices that support Bluetooth</title>
85 <body>
86
87 <impo>
88 These products might work even though some are not qualified Bluetooth
89 products. Gentoo does not support them in any way, they might just work.
90 </impo>
91
92 <p>
93 A list of the currently supported devices can be found at: <uri
94 link="http://www.holtmann.org/linux/bluetooth/features.html">Bluetooth device
95 features and revision information by Marcel Holtmann</uri>.
96 </p>
97
98 </body>
99 </section>
100 </chapter>
101
102 <chapter id="kernel">
103 <title>Configuring the system</title>
104 <section>
105 <title>Kernel Configuration</title>
106 <body>
107
108 <p>
109 As the latest Linux stable kernel is 2.6, the configuration will be done for
110 these series of the kernel. Most Bluetooth devices are connected to a USB port,
111 so USB will be enabled too. If you want, you can use hotplugging in case you
112 want to use modules instead of compiling support built into the kernel. Please,
113 refer to the <uri link="/doc/en/usb-guide.xml"> Gentoo Linux USB Guide</uri>.
114 </p>
115
116 <pre caption="Configuration for 2.6 kernels">
117 Device Drivers ---&gt;
118 Networking Support ---&gt;
119
120 &lt;*&gt; Bluetooth subsystem support ---&gt;
121
122 --- Bluetooth subsystem support
123 &lt;M&gt; L2CAP protocol support
124 &lt;M&gt; SCO links support
125 &lt;M&gt; RFCOMM protocol support
126 [*] RFCOMM TTY support
127 &lt;M&gt; BNEP protocol support
128 [*] Multicast filter support
129 [*] Protocol filter support
130 &lt;M&gt; HIDP protocol support
131
132 Bluetooth device drivers ---&gt;
133 &lt;M&gt; HCI USB driver
134 [*] SCO (voice) support
135 &lt;M&gt; HCI UART driver
136 [*] UART (H4) protocol support
137 [*] BCSP protocol support
138 [*] Transmit CRC with every BCSP packet
139 &lt;M&gt; HCI BCM203x USB driver
140 &lt;M&gt; HCI BPA10x USB driver
141 &lt;M&gt; HCI BlueFRITZ! USB driver
142 <comment>(The four drivers below are for PCMCIA Bluetooth devices and will only
143 show up if you have also selected PCMCIA support in your kernel.)</comment>
144 &lt;M&gt; HCI DTL1 (PC Card) driver
145 &lt;M&gt; HCI BT3C (PC Card) driver
146 &lt;M&gt; HCI BlueCard (PC Card) driver
147 &lt;M&gt; HCI UART (PC Card) device driver
148 <comment>(The driver below is intended for HCI Emulation software.)</comment>
149 &lt;M&gt; HCI VHCI (Virtual HCI device) driver
150
151 <comment>(Move back three levels to Device Drives and then check if USB is
152 enabled. This is required if you use a Bluetooth dongle, which are mostly USB
153 based.)</comment>
154 USB support ---&gt;
155
156 &lt;*&gt; Support for Host-side USB
157 --- USB Host Controller Drivers
158 &lt;M&gt; EHCI HCD (USB 2.0) support
159 [ ] Full speed ISO transactions (EXPERIMENTAL)
160 [ ] Root Hub Transaction Translators (EXPERIMENTAL)
161 &lt;*&gt; OHCI HCD support
162 &lt;*&gt; UHCI HCD (most Intel and VIA) support
163 &lt; &gt; SL811HS HCD support
164 </pre>
165
166 <p>
167 Now we'll reboot with our new kernel. If everything went fine, we will have a
168 system that is Bluetooth ready.
169 </p>
170
171 <impo>
172 Your USB device may have two modes the default of which may not be HCI, but HID.
173 If this is your case, use <c>hid2hci</c> to switch to HCI mode. Your system
174 will not remember this change when you next reboot.
175 </impo>
176
177 <pre caption="Checking the Bluetooth devices">
178 <comment>(One way to check for the device)</comment>
179 # <i>cat /proc/bus/usb/devices | grep -e^[TPD] | grep -e Cls=e0 -B1 -A1</i>
180 <comment>(The Cls=e0(unk. ) identifies the Bluetooth adapter.)</comment>
181 T: Bus=02 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
182 D: Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
183 P: Vendor=0a12 ProdID=0001 Rev= 5.25
184 <comment>(Some might show up on lsusb from sys-apps/usbutils)</comment>
185 # <i>lsusb</i>
186 Bus 003 Device 002: ID 046d:c00e Logitech, Inc. Optical Mouse
187 Bus 003 Device 001: ID 0000:0000
188 Bus 002 Device 002: ID 0db0:1967 Micro Star International Bluetooth Dongle
189 </pre>
190
191 </body>
192 </section>
193 </chapter>
194
195 <chapter id="bluez">
196 <title>BlueZ - The Bluetooth Stack</title>
197 <section>
198 <title>Installing BlueZ</title>
199 <body>
200
201 <p>
202 Now that the device is detected by the kernel, we need a layer that lets
203 applications communicate with the Bluetooth device. BlueZ provides the official
204 Linux Bluetooth stack. The ebuilds that provide what we need are
205 <c>bluez-libs</c> and <c>bluez-utils</c>. Devices that need Broadcom firmware
206 files or the like may need <c>bluez-firmware</c>.
207 </p>
208
209 <pre caption="Installing bluez-libs and bluez-utils">
210 # <i>emerge net-wireless/bluez-libs net-wireless/bluez-utils</i>
211 </pre>
212
213 <warn>
214 Do not emerge <c>bluez-kernel</c> or <c>bluez-sdp</c> as they will break
215 <c>bluez-utils</c>!
216 </warn>
217
218 <p>
219 Additionally, as we have compiled the Bluetooth subsystem as modules, we will
220 need hotplug and coldplug, which are explained in the <uri
221 link="http://www.gentoo.org/doc/en/usb-guide.xml#doc_chap4_sect2">Gentoo Linux
222 USB Guide</uri>.
223 </p>
224
225 <pre caption="Emerging hotplug and coldplug">
226 # <i>emerge hotplug coldplug</i>
227 # <i>rc-update add coldplug boot</i>
228 </pre>
229
230 </body>
231 </section>
232 <section>
233 <title>BlueZ configuration and PIN pairing</title>
234 <body>
235
236 <p>
237 Now it's time to see if the Bluetooth device is being picked up correctly by the
238 system. We start up the required Bluetooth services first.
239 </p>
240
241 <pre caption="Running hciconfig">
242 <comment>(Start up Bluetooth)</comment>
243 # <i>/etc/init.d/bluetooth start</i>
244 * Starting Bluetooth ...
245 * Starting hcid ... [ ok ]
246 * Starting sdpd ... [ ok ]
247 * Starting rfcomm ... [ ok ]
248
249 # <i>hciconfig</i>
250 hci0: Type: USB
251 BD Address: 00:01:02:03:04:05 ACL MTU: 192:8 SCO MTU: 64:8
252 DOWN
253 RX bytes:131 acl:0 sco:0 events:18 errors:0
254 TX bytes:565 acl:0 sco:0 commands:17 errors:0
255 </pre>
256
257 <p>
258 This shows that the Bluetooth device has been recognised. As you might have
259 noticed the device is <e>DOWN</e>. Let's configure it so that we can bring it
260 up. The configuration file is at <path>/etc/bluetooth/hcid.conf</path>. The
261 required changes to the config file are shown below. For additional details
262 please refer to <c>man hcid.conf</c>.
263 </p>
264
265 <pre caption="Editing /etc/bluetooth/hcid.conf">
266 <comment>(Recommended changes to be made to the file are shown)</comment>
267
268 <comment>(Change security to "auto")</comment>
269 # Security Manager mode
270 # none - Security manager disabled
271 # auto - Use local PIN for incoming connections
272 # user - Always ask user for a PIN
273 #
274 security auto;
275
276 <comment>(Change pin_helper to use /etc/bluetooth/pin-helper)</comment>
277 # PIN helper
278 pin_helper /etc/bluetooth/pin-helper;
279
280 <comment>(Set your device name here, you can call it anything you want)</comment>
281 # Local device name
282 # %d - device id
283 # %h - host name
284 name "BlueZ at %h (%d)";
285
286 <comment>(Leave as is, if you don't know what exactly these do)</comment>
287 # Authentication and Encryption (Security Mode 3)
288 #auth enable;
289 #encrypt enable;
290 }
291 </pre>
292
293 <p>
294 After that, we have to configure the Bluetooth device PIN. That will help in
295 pairing this device with another one.
296 </p>
297
298 <note>
299 You can choose from different pin helpers, depending on what you want to use.
300 Available pin helpers are: <c>/usr/lib/kdebluetooth/kbluepin</c>
301 (net-wireless/kdebluetooth), <c>/usr/bin/bluepin</c> or
302 <c>/etc/bluetooth/pin-helper</c> among others.
303 </note>
304
305 <pre caption="Editing /etc/bluetooth/pin">
306 <comment>(Change 123456 with your desired pin number.)</comment>
307 123456
308 </pre>
309
310 <impo>
311 This number (of your choice) must be the same in all your hosts with Bluetooth
312 devices so they can be paired. This number must also be kept secret since anyone
313 with knowledge of this number can essentially establish connections with your
314 devices.
315 </impo>
316
317 </body>
318 </section>
319 <section>
320 <title>Services configuration</title>
321 <body>
322
323 <p>
324 Now that we have concluded with the configuration of BlueZ, it's time to restart
325 the necessary services.
326 </p>
327
328 <pre caption="Starting the Bluetooth daemons">
329 # <i>/etc/init.d/bluetooth restart</i>
330 <comment>(We can also add it to the default runlevel.)</comment>
331 # <i>rc-update add bluetooth default</i>
332 * bluetooth added to runlevel default
333 * rc-update complete.
334 </pre>
335
336 <p>
337 Let's be sure that the Bluetooth daemons started correctly. If we can see that
338 both <c>hcid</c> and <c>sdpd</c> are running, then we configured Bluetooth the
339 right way. After that, we can see if the decices are now up and running with
340 the configured options.
341 </p>
342
343 <pre caption="Checking whether Bluetooth daemons started correctly">
344 <comment>(Check to see if the services are running)</comment>
345 # <i>ps -ae | grep hcid</i>
346 26050 ? 00:00:00 hcid
347 # <i>ps -ae | grep sdpd</i>
348 26054 ? 00:00:00 sdpd
349
350 # <i>hciconfig -a</i>
351 hci0: Type: USB
352 BD Address: 00:0A:0B:0C:0D:0E ACL MTU: 192:8 SCO MTU: 64:8
353 UP RUNNING PSCAN ISCAN AUTH ENCRYPT
354 RX bytes:125 acl:0 sco:0 events:17 errors:0
355 TX bytes:565 acl:0 sco:0 commands:17 errors:0
356 Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
357 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
358 Link policy: RSWITCH HOLD SNIFF PARK
359 Link mode: SLAVE ACCEPT
360 Name: 'BlueZ at bluehat (0)'
361 Class: 0x3e0100
362 Service Classes: Networking, Rendering, Capturing, Object Transfer,
363 Audio
364 Device Class: Computer, Uncategorized
365 HCI Ver: 1.1 (0x1) HCI Rev: 0x1e7 LMP Ver: 1.1 (0x1) LMP Subver: 0x1e7
366 Manufacturer: Cambridge Silicon Radio (10)
367 </pre>
368
369 </body>
370 </section>
371 </chapter>
372
373 <chapter id="detect">
374 <title>Detecting and Connecting to Remote Devices</title>
375 <section>
376 <title>Detecting Bluetooth devices in other hosts</title>
377 <body>
378
379 <p>
380 At this point we are now ready to detect Bluetooth devices installed in other
381 machines. This is independent of the host Operating System. We will make use of
382 the <c>hcitool</c> command for the same.
383 </p>
384
385 <pre caption="Checking for local devices">
386 # <i>hcitool dev</i>
387 Devices:
388 hci0 00:01:02:03:04:05
389 </pre>
390
391 <pre caption="Scanning for remote devices">
392 # <i>hcitool scan</i>
393 Scanning ...
394 00:0A:0B:0C:0D:0E Grayhat
395 </pre>
396
397 <pre caption="Inquiring remote devices">
398 # <i>hcitool inq</i>
399 Inquiring ...
400 00:0A:0B:0C:0D:0E clock offset: 0x5579 class: 0x72010c
401 </pre>
402
403 <p>
404 Now that we now the MAC address of the remote Bluetooth devices, we can check
405 if we paired them correctly.
406 </p>
407
408 <pre caption="Running l2ping">
409 # <i>l2ping 00:0A:0B:0C:0D:0E</i>
410 Ping: 00:0A:0B:0C:0D:0E from 00:01:02:03:04:05 (data size 20) ...
411 20 bytes from 00:0A:0B:0C:0D:0E id 200 time 69.85ms
412 20 bytes from 00:0A:0B:0C:0D:0E id 201 time 9.97ms
413 20 bytes from 00:0A:0B:0C:0D:0E id 202 time 56.86ms
414 20 bytes from 00:0A:0B:0C:0D:0E id 203 time 39.92ms
415 4 sent, 4 received, 0% loss
416 </pre>
417
418 </body>
419 </section>
420 <section>
421 <title>Setting up Radio Frequency Communication (RFCOMM)</title>
422 <body>
423
424 <note>
425 Please note that setting up radio frequency communication is optional.
426 </note>
427
428 <p>
429 We can establish a radio frequency connection to another Bluetooth device using
430 the <c>rfcomm</c> command. To make things a little easier especially for users
431 with multiple devices that support Bluetooth, it is advisable to make a few
432 changes to the default rfcomm config at <path>/etc/bluetooth/rfcomm.conf</path>.
433 </p>
434
435 <p>
436 The whole segment of the config starting from <c>rfcomm0 {</c> and ending with
437 <c>}</c> is the config for the device that will establish a connection at
438 <path>/dev/rfcomm0</path>. In this case, we will only show one example, rfcomm0.
439 You can add more devices as you see fit.
440 </p>
441
442 <pre caption="Editing /etc/bluetooth/rfcomm.conf">
443 <comment>(Only changes that might be needed are shown)</comment>
444 rfcomm0 {
445 # Automatically bind the device at startup
446 <comment>(Creates the device node, /dev/rfcomm0 at start up)</comment>
447 bind yes;
448
449 # Bluetooth address of the device
450 <comment>(Enter the address of the device you want to connect to)</comment>
451 device 00:0A:0B:0C:0D:0E;
452
453 }
454 </pre>
455
456 <p>
457 After configuring RFCOMM, we can connect to any device. Since we've made the
458 required settings to the <path>/etc/bluetooth/rfcomm.conf</path> file, we just
459 issue the command shown below. In case you've not made changes to the config
460 file, an alternative method is also shown in the code listing that follows
461 </p>
462
463 <pre caption="Establishing an RFCOMM connection">
464 <comment>(The 0 refers to the rfcomm0 in the config file)</comment>
465 # <i>rfcomm connect 0 </i>
466 Connected /dev/rfcomm0 to 00:0A:0B:0C:0D:0E on channel 1
467 Press CTRL-C for hangup
468
469 <comment>(If you did not edit /etc/bluetooth/rfcomm.conf)</comment>
470 # <i>rfcomm connect 0 00:0A:0B:0C:0D:0E 1</i>
471 Connected /dev/rfcomm0 to 00:0F:DE:69:50:24 on channel 1
472 Press CTRL-C for hangup
473 </pre>
474
475 <p>
476 The first parameter after the connect command is the RFCOMM TTY device node
477 that will be used (usually 0). The second parameter is the MAC address of the
478 remote device. The third parameter is optional and specifies the channel to be
479 used. Please, note that in order to connect to a device, that device must be
480 listening for incoming connections. To do that, we have to explicitly tell it
481 to listen. We can cancel the communication at any moment by just hitting
482 CTRL+C.
483 </p>
484
485 <pre caption="Listening for incoming RFCOMM connections">
486 # <i>rfcomm listen 0 1</i>
487 Waiting for connection on channel 1
488 </pre>
489
490 <p>
491 In a similar way to the connect command, the listen command can receive two
492 parameters. The first one explicits the RFCOMM TTY device node (usually 0) that
493 will be used to accept a connection, while the second is the channel that will
494 be used.
495 </p>
496
497 <p>
498 Each time you call the <c>rfcomm</c> command, you can also specify the physical
499 device you want to use. Below you can see a small example specifiying the
500 physical device on the above two commands.
501 </p>
502
503 <pre caption="RFCOMM connections specifying physical device">
504 # <i>rfcomm -i hci0 listen 0 1</i>
505 Waiting for connection on channel 1
506 <comment>(To listen to a determined device) </comment>
507 # <i>rfcomm -i hci0 connect 0 00:0A:0B:0C:0D:0E 1</i>
508 <comment>(To use a determined device when connecting to another one)</comment>
509 </pre>
510
511 </body>
512 </section>
513 <section>
514 <title>Setting up a Personal Area Network (PAN)</title>
515 <body>
516
517 <note>
518 Please note that setting up a Personal Area Network is optional. This section
519 describes how to set up and connect to a Network Access Point, though setting
520 up a Group Ad-Hoc Network follows a similar way.
521 </note>
522
523 <p>
524 First of all, we need the <c>bnep</c> module loaded. And probably we want it
525 loaded each time the computer starts.
526 </p>
527
528 <pre caption="Loading the bnep module">
529 # <i>modprobe bnep</i>
530 # <i>echo "bnep" &gt;&gt; /etc/modules.autoload.d/kernel-2.6</i>
531 </pre>
532
533 <p>
534 We have to start the <c>pand</c> daemon in the host that will provide the NAP.
535 We'll have to specify that we want to provide a NAP service and that this host
536 will be the master, thus the other hosts that connect to it, the slaves.
537 Another possible service is GN (Group ad-hoc Network).
538 </p>
539
540 <pre caption="Running the pand daemon">
541 # <i>pand --listen --role NAP --master --autozap</i>
542 </pre>
543
544 <p>
545 After doing that, we have a host listening, so the rest of hosts just have to
546 connect to that one.
547 </p>
548
549 <pre caption="Connecting to the Network Access Point">
550 # <i>pand --connect 00:0A:0B:0C:0D:0E --service NAP --autozap</i>
551 </pre>
552
553 <p>
554 If everything went fine, we can now configure the IP addresses of our hosts.
555 </p>
556
557 <pre caption="bnep IP address configuration">
558 host0 #<i> ifconfig bnep0 192.168.2.1</i>
559 host1 #<i> ifconfig bnep0 192.168.2.2</i>
560
561 host0 #<i> ifconfig bnep0</i>
562 bnep0 Link encap:Ethernet HWaddr 00:0A:0B:0C:0D:0E
563 inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
564 inet6 addr: fe80::210:60ff:fea3:cb41/64 Scope:Link
565 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
566 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
567 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
568 collisions:0 txqueuelen:1000
569 RX bytes:208 (208.0 b) TX bytes:188 (188.0 b)
570
571 host1 #<i> ifconfig bnep0</i>
572 bnep0 Link encap:Ethernet HWaddr 00:01:02:03:04:05
573 inet addr:192.168.2.2 Bcast:192.168.2.255 Mask:255.255.255.0
574 inet6 addr: fe80::210:60ff:fea2:dd2a/64 Scope:Link
575 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
576 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
577 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
578 collisions:0 txqueuelen:1000
579 RX bytes:208 (208.0 b) TX bytes:188 (188.0 b)
580 </pre>
581
582 <p>
583 Finally, we can do a simple test to see that the network is working fine.
584 </p>
585
586 <pre caption="IP ping between bnep interfaces">
587 host1 #<i> ping 192.168.2.1</i>
588 PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
589 64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=34.0 ms
590 64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=37.3 ms
591
592 --- 192.168.2.1 ping statistics ---
593 2 packets transmitted, 2 received, 0% packet loss, time 1000ms
594 rtt min/avg/max/mdev = 34.045/35.690/37.336/1.656 ms
595 </pre>
596
597 </body>
598 </section>
599 </chapter>
600
601 <chapter id="apps">
602 <title>Desktop Applications for Bluetooth</title>
603 <section>
604 <title>Introduction</title>
605 <body>
606
607 <p>
608 We have quite a few Bluetooth applications that run on the desktop and this
609 chapter has been divided into 3 parts, one each for Gnome, KDE and Miscellaneous
610 applications.
611 </p>
612
613 </body>
614 </section>
615 <section>
616 <title>For Gnome</title>
617 <body>
618
619 <p>
620 If you are a gnome user, you will most probably go with <c>gnome-bluetooth</c>.
621 It provides the most basic yet most used functionalities, as you can see below.
622 </p>
623
624 <ul>
625 <li><c>gnome-bluetooth-manager</c>: To manage Bluetooth remote devices.</li>
626 <li><c>gnome-obex-send</c>: To send files to other devices.</li>
627 <li><c>gnome-obex-server</c>: To receive files.</li>
628 </ul>
629
630 <pre caption="Installing gnome-bluetooth">
631 # <i>emerge gnome-bluetooth</i>
632 </pre>
633
634 <p>
635 This adds menu entries under Applications &gt; System Tools from where you can
636 easily start up the manager or File sharing to transfer files between devices.
637 </p>
638
639 <p>
640 To transfer files (the easy way):
641 </p>
642
643 <ul>
644 <li>
645 From the Phone to the Computer - Send the file from the phone via Bluetooth
646 and it will be picked up and saved to your <path>/home</path> always.
647 </li>
648 <!--FIXME : Doesn't work on Nautilus 2.10.x. Bug #103464 for details -->
649 <!--
650 <li>
651 From the Computer to the Phone - Fire up <c>nautilus</c> and select the
652 file you want to send and right click on it. Select the Send via Bluetooth
653 option and ask your phone to accept the file.
654 </li>
655 -->
656 </ul>
657
658 <p>
659 <c>gnome-phone-manager</c> is a nifty app that you can use to send and receive
660 messages to and from your phone, using only your system. You do not have to
661 touch your phone to read or send messages since all that happens through the
662 application. You are also notified of a new message on your screen if the option
663 is enabled under Preferences. Installation is a breeze as always.
664 </p>
665
666 <pre caption="Installing gnome-phone-manager">
667 # <i>emerge gnome-phone-manager</i>
668 </pre>
669
670 </body>
671 </section>
672 <section>
673 <title>For KDE</title>
674 <body>
675
676 <p>
677 KDE makes use of <c>kdebluetooth</c> and provides more utilities than its Gnome
678 counterpart as seen below.
679 </p>
680
681 <ul>
682 <li><c>kbluetoothd</c>: Bluetooth Meta Server.</li>
683 <li><c>kbtsearch</c>: Bluetooth device/service search utility.</li>
684 <li><c>khciconfig</c>: KDE Bluetooth Monitor.</li>
685 <li><c>kioclient</c>: KIO command line client.</li>
686 <li><c>qobexclient</c>: Swiss army knife for obex testing/development.</li>
687 <li><c>kbtobexclient</c>: A KDE Bluetooth Framework Application.</li>
688 <li><c>kioobex_start</c></li>
689 <li><c>kbtserialchat</c></li>
690 <li><c>kbemusedsrv</c>: KDE Bemused Server.</li>
691 <li><c>kbtobexsrv</c>: KDE OBEX Push Server for Bluetooth.</li>
692 <li><c>kbluepin</c>: A KDE KPart Application.</li>
693 <li>
694 <c>auth-helper</c>: A helper program for kbtobexsrv that sends an
695 authentication request for a given ACL link.
696 </li>
697 </ul>
698
699 <pre caption="Installing kdebluetooth">
700 # <i>emerge kdebluetooth</i>
701 </pre>
702
703 </body>
704 </section>
705 <section>
706 <title>Other Interesting Applications</title>
707 <body>
708
709 <ul>
710 <li>
711 <c>app-mobilephone/obexftp</c>: File transfer over OBEX for mobile phones
712 </li>
713 <li>
714 <c>app-mobilephone/bemused</c>: Bemused is a system which allows you to
715 control your music collection from your phone, using Bluetooth.
716 </li>
717 <li>
718 <c>app-pda/multisync</c>: Multisync allows you to sync contacts, calendar
719 entries and notes from your mobile phone with your computer, over a
720 Bluetooth connection (amongst other things). It includes such features as
721 backing up this information and restoring it later, and syncing with the
722 Evolution e-mail client. You will need the <c>irmc</c> USE flag set to
723 ensure that <c>multisync</c> has Bluetooth support.
724 </li>
725 <li>
726 <c>media-plugins/xmms-btexmms</c>: Btexmms is an XMMS plugin that allows
727 you to use your Bluetooth-enabled (Sony) Ericsson mobile phone as a remote
728 control for XMMS.
729 </li>
730 </ul>
731
732 </body>
733 </section>
734 </chapter>
735
736 <chapter>
737 <title>Acknowledgements</title>
738 <section>
739 <body>
740
741 <p>
742 Special thanks to <mail link="marcel@holtmann.org">Marcel Holtmann</mail>
743 for his time and dedication to the Bluetooth development and for reviewing this
744 guide. And big thanks to <mail link="puggy@gentoo.org">Douglas Russell</mail>
745 for performing additional hardware tests and improving this guide.
746 </p>
747
748 </body>
749 </section>
750 </chapter>
751 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20