/[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.3 - (hide annotations) (download) (as text)
Wed Aug 31 15:03:32 2005 UTC (8 years, 10 months ago) by neysx
Branch: MAIN
Changes since 1.2: +18 -18 lines
File MIME type: application/xml
Fixed fox2mike's title, removed trailing spaces

1 fox2mike 1.1 <?xml version='1.0' encoding="UTF-8"?>
2    
3     <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4 neysx 1.3 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/bluetooth-guide.xml,v 1.2 2005/08/27 09:19:30 swift Exp $ -->
5 fox2mike 1.1
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 neysx 1.3 <author title="Author">
19 fox2mike 1.1 <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 neysx 1.3 interconnection offers and how to have some fun with Bluetooth.
29 fox2mike 1.1 </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 neysx 1.3 <version>1.1</version>
36     <date>2005-08-31</date>
37 fox2mike 1.1
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 neysx 1.3 &lt;M&gt; HCI UART (PC Card) device driver
148 fox2mike 1.1 <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 neysx 1.3 P: Vendor=0a12 ProdID=0001 Rev= 5.25
184 fox2mike 1.1 <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 neysx 1.3 TX bytes:565 acl:0 sco:0 commands:17 errors:0
255 fox2mike 1.1 </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 swift 1.2 <pre caption="Checking whether Bluetooth daemons started correctly">
344 fox2mike 1.1 <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 neysx 1.3 00:0A:0B:0C:0D:0E Grayhat
395 fox2mike 1.1 </pre>
396    
397     <pre caption="Inquiring remote devices">
398     # <i>hcitool inq</i>
399     Inquiring ...
400 neysx 1.3 00:0A:0B:0C:0D:0E clock offset: 0x5579 class: 0x72010c
401 fox2mike 1.1 </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 neysx 1.3 4 sent, 4 received, 0% loss
416 fox2mike 1.1 </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 neysx 1.3 }
454 fox2mike 1.1 </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 neysx 1.3 Waiting for connection on channel 1
488 fox2mike 1.1 </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 neysx 1.3 be used.
495 fox2mike 1.1 </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 neysx 1.3 bnep0 Link encap:Ethernet HWaddr 00:0A:0B:0C:0D:0E
563 fox2mike 1.1 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 neysx 1.3 bnep0 Link encap:Ethernet HWaddr 00:01:02:03:04:05
573 fox2mike 1.1 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 neysx 1.3 rtt min/avg/max/mdev = 34.045/35.690/37.336/1.656 ms
595 fox2mike 1.1 </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 neysx 1.3 To transfer files (the easy way):
641 fox2mike 1.1 </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