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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.8
1<?xml version='1.0' encoding="UTF-8"?> 1<?xml version='1.0' encoding="UTF-8"?>
2 2
3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 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 $ --> 4<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/bluetooth-guide.xml,v 1.8 2006/11/02 18:37:33 nightmorph Exp $ -->
5 5
6<guide link="/doc/en/bluetooth-guide.xml"> 6<guide link="/doc/en/bluetooth-guide.xml">
7<title>Gentoo Linux Bluetooth Guide</title> 7<title>Gentoo Linux Bluetooth Guide</title>
8 8
9<author title="Author"> 9<author title="Author">
13 <mail link="puggy@gentoo.org">Douglas Russell</mail> 13 <mail link="puggy@gentoo.org">Douglas Russell</mail>
14</author> 14</author>
15<author title="Contributor"> 15<author title="Contributor">
16 <mail link="marcel@holtmann.org">Marcel Holtmann</mail> 16 <mail link="marcel@holtmann.org">Marcel Holtmann</mail>
17</author> 17</author>
18<author title="Author/Editor"> 18<author title="Author">
19 <mail link="fox2mike@gentoo.org">Shyam Mani</mail> 19 <mail link="fox2mike@gentoo.org">Shyam Mani</mail>
20</author> 20</author>
21<author title="Editor"> 21<author title="Editor">
22 <mail link="rane@gentoo.org">Łukasz Damentko</mail> 22 <mail link="rane@gentoo.org">Łukasz Damentko</mail>
23</author> 23</author>
24 24
25<abstract> 25<abstract>
26This guide will explain how to successfully install a host Bluetooth device, 26This guide will explain how to successfully install a host Bluetooth device,
27configure the kernel properly, explain all the possibilities that the Bluetooth 27configure the kernel properly, explain all the possibilities that the Bluetooth
28interconnection offers and how to have some fun with Bluetooth. 28interconnection offers and how to have some fun with Bluetooth.
29</abstract> 29</abstract>
30 30
31<!-- The content of this document is licensed under the CC-BY-SA license --> 31<!-- The content of this document is licensed under the CC-BY-SA license -->
32<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 32<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
33<license/> 33<license/>
34 34
35<version>1.0</version> 35<version>1.5</version>
36<date>2005-08-25</date> 36<date>2006-11-02</date>
37 37
38<chapter id="introduction"> 38<chapter id="introduction">
39<title>Introduction</title> 39<title>Introduction</title>
40<section> 40<section>
41<title>What is Bluetooth?</title> 41<title>What is Bluetooth?</title>
112want to use modules instead of compiling support built into the kernel. Please, 112want to use modules instead of compiling support built into the kernel. Please,
113refer to the <uri link="/doc/en/usb-guide.xml"> Gentoo Linux USB Guide</uri>. 113refer to the <uri link="/doc/en/usb-guide.xml"> Gentoo Linux USB Guide</uri>.
114</p> 114</p>
115 115
116<pre caption="Configuration for 2.6 kernels"> 116<pre caption="Configuration for 2.6 kernels">
117Device Drivers ---&gt;
118 Networking Support ---&gt; 117Networking ---&gt;
119 118
120&lt;*&gt; Bluetooth subsystem support ---&gt; 119&lt;*&gt; Bluetooth subsystem support ---&gt;
121 120
122--- Bluetooth subsystem support 121--- Bluetooth subsystem support
123&lt;M&gt; L2CAP protocol support 122&lt;M&gt; L2CAP protocol support
142<comment>(The four drivers below are for PCMCIA Bluetooth devices and will only 141<comment>(The four drivers below are for PCMCIA Bluetooth devices and will only
143show up if you have also selected PCMCIA support in your kernel.)</comment> 142show up if you have also selected PCMCIA support in your kernel.)</comment>
144&lt;M&gt; HCI DTL1 (PC Card) driver 143&lt;M&gt; HCI DTL1 (PC Card) driver
145&lt;M&gt; HCI BT3C (PC Card) driver 144&lt;M&gt; HCI BT3C (PC Card) driver
146&lt;M&gt; HCI BlueCard (PC Card) driver 145&lt;M&gt; HCI BlueCard (PC Card) driver
147&lt;M&gt; HCI UART (PC Card) device driver 146&lt;M&gt; HCI UART (PC Card) device driver
148<comment>(The driver below is intended for HCI Emulation software.)</comment> 147<comment>(The driver below is intended for HCI Emulation software.)</comment>
149&lt;M&gt; HCI VHCI (Virtual HCI device) driver 148&lt;M&gt; HCI VHCI (Virtual HCI device) driver
150 149
151<comment>(Move back three levels to Device Drives and then check if USB is 150<comment>(Move back three levels to Device Drives and then check if USB is
152enabled. This is required if you use a Bluetooth dongle, which are mostly USB 151enabled. This is required if you use a Bluetooth dongle, which are mostly USB
178<comment>(One way to check for the device)</comment> 177<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> 178# <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> 179<comment>(The Cls=e0(unk. ) identifies the Bluetooth adapter.)</comment>
181T: Bus=02 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 180T: Bus=02 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
182D: Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 181D: Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
183P: Vendor=0a12 ProdID=0001 Rev= 5.25 182P: Vendor=0a12 ProdID=0001 Rev= 5.25
184<comment>(Some might show up on lsusb from sys-apps/usbutils)</comment> 183<comment>(Some might show up on lsusb from sys-apps/usbutils)</comment>
185# <i>lsusb</i> 184# <i>lsusb</i>
186Bus 003 Device 002: ID 046d:c00e Logitech, Inc. Optical Mouse 185Bus 003 Device 002: ID 046d:c00e Logitech, Inc. Optical Mouse
187Bus 003 Device 001: ID 0000:0000 186Bus 003 Device 001: ID 0000:0000
188Bus 002 Device 002: ID 0db0:1967 Micro Star International Bluetooth Dongle 187Bus 002 Device 002: ID 0db0:1967 Micro Star International Bluetooth Dongle
209<pre caption="Installing bluez-libs and bluez-utils"> 208<pre caption="Installing bluez-libs and bluez-utils">
210# <i>emerge net-wireless/bluez-libs net-wireless/bluez-utils</i> 209# <i>emerge net-wireless/bluez-libs net-wireless/bluez-utils</i>
211</pre> 210</pre>
212 211
213<warn> 212<warn>
214Do not emerge <c>bluez-kernel</c> or <c>bluez-sdp</c> as they will break 213Do not emerge <c>bluez-sdp</c> as it will break <c>bluez-utils</c>!
215<c>bluez-utils</c>!
216</warn> 214</warn>
217 215
218<p> 216<p>
219Additionally, as we have compiled the Bluetooth subsystem as modules, we will 217Additionally, as we have compiled the Bluetooth subsystem as modules, we will
220need hotplug and coldplug, which are explained in the <uri 218need hotplug and coldplug, which are explained in the <uri
249# <i>hciconfig</i> 247# <i>hciconfig</i>
250hci0: Type: USB 248hci0: Type: USB
251 BD Address: 00:01:02:03:04:05 ACL MTU: 192:8 SCO MTU: 64:8 249 BD Address: 00:01:02:03:04:05 ACL MTU: 192:8 SCO MTU: 64:8
252 DOWN 250 DOWN
253 RX bytes:131 acl:0 sco:0 events:18 errors:0 251 RX bytes:131 acl:0 sco:0 events:18 errors:0
254 TX bytes:565 acl:0 sco:0 commands:17 errors:0 252 TX bytes:565 acl:0 sco:0 commands:17 errors:0
255</pre> 253</pre>
256 254
257<p> 255<p>
258This shows that the Bluetooth device has been recognised. As you might have 256This shows that the Bluetooth device has been recognised. As you might have
259noticed the device is <e>DOWN</e>. Let's configure it so that we can bring it 257noticed the device is <e>DOWN</e>. Let's configure it so that we can bring it
262please refer to <c>man hcid.conf</c>. 260please refer to <c>man hcid.conf</c>.
263</p> 261</p>
264 262
265<pre caption="Editing /etc/bluetooth/hcid.conf"> 263<pre caption="Editing /etc/bluetooth/hcid.conf">
266<comment>(Recommended changes to be made to the file are shown)</comment> 264<comment>(Recommended changes to be made to the file are shown)</comment>
265
266# HCId options
267options {
268 # Automatically initialize new devices
269 autoinit yes;
267 270
268<comment>(Change security to "auto")</comment> 271<comment>(Change security to "auto")</comment>
269 # Security Manager mode 272 # Security Manager mode
270 # none - Security manager disabled 273 # none - Security manager disabled
271 # auto - Use local PIN for incoming connections 274 # auto - Use local PIN for incoming connections
272 # user - Always ask user for a PIN 275 # user - Always ask user for a PIN
273 # 276 #
274 security auto; 277 security auto;
275 278
279 # Pairing mode
280 pairing multi;
281
276<comment>(Change pin_helper to use /etc/bluetooth/pin-helper)</comment> 282<comment>(Change pin_helper to use /etc/bluetooth/pin-helper)</comment>
277 # PIN helper 283 # PIN helper
278 pin_helper /etc/bluetooth/pin-helper; 284 pin_helper /etc/bluetooth/pin-helper;
285}
279 286
287# Default settings for HCI devices
288device {
280<comment>(Set your device name here, you can call it anything you want)</comment> 289<comment>(Set your device name here, you can call it anything you want)</comment>
281 # Local device name 290 # Local device name
282 # %d - device id 291 # %d - device id
283 # %h - host name 292 # %h - host name
284 name "BlueZ at %h (%d)"; 293 name "BlueZ at %h (%d)";
294
295 # Local device class
296 class 0x3e0100;
297
298 # Inquiry and Page scan
299 iscan enable; pscan enable;
300
301 # Default link mode
302 lm accept;
303
304 # Default link policy
305 lp rswitch,hold,sniff,park;
285 306
286<comment>(Leave as is, if you don't know what exactly these do)</comment> 307<comment>(Leave as is, if you don't know what exactly these do)</comment>
287 # Authentication and Encryption (Security Mode 3) 308 # Authentication and Encryption (Security Mode 3)
288 #auth enable; 309 #auth enable;
289 #encrypt enable; 310 #encrypt enable;
334</pre> 355</pre>
335 356
336<p> 357<p>
337Let's be sure that the Bluetooth daemons started correctly. If we can see that 358Let's be sure that the Bluetooth daemons started correctly. If we can see that
338both <c>hcid</c> and <c>sdpd</c> are running, then we configured Bluetooth the 359both <c>hcid</c> and <c>sdpd</c> are running, then we configured Bluetooth the
339right way. After that, we can see if the decices are now up and running with 360right way. After that, we can see if the devices are now up and running with
340the configured options. 361the configured options.
341</p> 362</p>
342 363
343<pre caption="Checking whether Bluetooth deamons started correctly"> 364<pre caption="Checking whether Bluetooth daemons started correctly">
344<comment>(Check to see if the services are running)</comment> 365<comment>(Check to see if the services are running)</comment>
345# <i>ps -ae | grep hcid</i> 366# <i>ps -ae | grep hcid</i>
34626050 ? 00:00:00 hcid 36726050 ? 00:00:00 hcid
347# <i>ps -ae | grep sdpd</i> 368# <i>ps -ae | grep sdpd</i>
34826054 ? 00:00:00 sdpd 36926054 ? 00:00:00 sdpd
349 370
350# <i>hciconfig -a</i> 371# <i>hciconfig -a</i>
351hci0: Type: USB 372hci0: Type: USB
352 BD Address: 00:0A:0B:0C:0D:0E ACL MTU: 192:8 SCO MTU: 64:8 373 BD Address: 00:0A:0B:0C:0D:0E ACL MTU: 192:8 SCO MTU: 64:8
353 UP RUNNING PSCAN ISCAN AUTH ENCRYPT 374 UP RUNNING PSCAN ISCAN
354 RX bytes:125 acl:0 sco:0 events:17 errors:0 375 RX bytes:125 acl:0 sco:0 events:17 errors:0
355 TX bytes:565 acl:0 sco:0 commands:17 errors:0 376 TX bytes:565 acl:0 sco:0 commands:17 errors:0
356 Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00 377 Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
357 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 378 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
358 Link policy: RSWITCH HOLD SNIFF PARK 379 Link policy: RSWITCH HOLD SNIFF PARK
389</pre> 410</pre>
390 411
391<pre caption="Scanning for remote devices"> 412<pre caption="Scanning for remote devices">
392# <i>hcitool scan</i> 413# <i>hcitool scan</i>
393Scanning ... 414Scanning ...
394 00:0A:0B:0C:0D:0E Grayhat 415 00:0A:0B:0C:0D:0E Grayhat
395</pre> 416</pre>
396 417
397<pre caption="Inquiring remote devices"> 418<pre caption="Inquiring remote devices">
398# <i>hcitool inq</i> 419# <i>hcitool inq</i>
399Inquiring ... 420Inquiring ...
400 00:0A:0B:0C:0D:0E clock offset: 0x5579 class: 0x72010c 421 00:0A:0B:0C:0D:0E clock offset: 0x5579 class: 0x72010c
401</pre> 422</pre>
402 423
403<p> 424<p>
404Now that we now the MAC address of the remote Bluetooth devices, we can check 425Now that we know the MAC address of the remote Bluetooth devices, we can check
405if we paired them correctly. 426if we paired them correctly.
406</p> 427</p>
407 428
408<pre caption="Running l2ping"> 429<pre caption="Running l2ping">
409# <i>l2ping 00:0A:0B:0C:0D:0E</i> 430# <i>l2ping 00:0A:0B:0C:0D:0E</i>
410Ping: 00:0A:0B:0C:0D:0E from 00:01:02:03:04:05 (data size 20) ... 431Ping: 00:0A:0B:0C:0D:0E from 00:01:02:03:04:05 (data size 20) ...
41120 bytes from 00:0A:0B:0C:0D:0E id 200 time 69.85ms 43220 bytes from 00:0A:0B:0C:0D:0E id 200 time 69.85ms
41220 bytes from 00:0A:0B:0C:0D:0E id 201 time 9.97ms 43320 bytes from 00:0A:0B:0C:0D:0E id 201 time 9.97ms
41320 bytes from 00:0A:0B:0C:0D:0E id 202 time 56.86ms 43420 bytes from 00:0A:0B:0C:0D:0E id 202 time 56.86ms
41420 bytes from 00:0A:0B:0C:0D:0E id 203 time 39.92ms 43520 bytes from 00:0A:0B:0C:0D:0E id 203 time 39.92ms
4154 sent, 4 received, 0% loss 4364 sent, 4 received, 0% loss
416</pre> 437</pre>
417 438
418</body> 439</body>
419</section> 440</section>
420<section> 441<section>
448 469
449 # Bluetooth address of the device 470 # Bluetooth address of the device
450 <comment>(Enter the address of the device you want to connect to)</comment> 471 <comment>(Enter the address of the device you want to connect to)</comment>
451 device 00:0A:0B:0C:0D:0E; 472 device 00:0A:0B:0C:0D:0E;
452 473
453} 474}
454</pre> 475</pre>
455 476
456<p> 477<p>
457After configuring RFCOMM, we can connect to any device. Since we've made the 478After configuring RFCOMM, we can connect to any device. Since we've made the
458required settings to the <path>/etc/bluetooth/rfcomm.conf</path> file, we just 479required settings to the <path>/etc/bluetooth/rfcomm.conf</path> file, we just
482CTRL+C. 503CTRL+C.
483</p> 504</p>
484 505
485<pre caption="Listening for incoming RFCOMM connections"> 506<pre caption="Listening for incoming RFCOMM connections">
486# <i>rfcomm listen 0 1</i> 507# <i>rfcomm listen 0 1</i>
487Waiting for connection on channel 1 508Waiting for connection on channel 1
488</pre> 509</pre>
489 510
490<p> 511<p>
491In a similar way to the connect command, the listen command can receive two 512In a similar way to the connect command, the listen command can receive two
492parameters. The first one explicits the RFCOMM TTY device node (usually 0) that 513parameters. The first one explicits the RFCOMM TTY device node (usually 0) that
493will be used to accept a connection, while the second is the channel that will 514will be used to accept a connection, while the second is the channel that will
494be used. 515be used.
495</p> 516</p>
496 517
497<p> 518<p>
498Each time you call the <c>rfcomm</c> command, you can also specify the physical 519Each time you call the <c>rfcomm</c> command, you can also specify the physical
499device you want to use. Below you can see a small example specifiying the 520device you want to use. Below you can see a small example specifiying the
557<pre caption="bnep IP address configuration"> 578<pre caption="bnep IP address configuration">
558host0 #<i> ifconfig bnep0 192.168.2.1</i> 579host0 #<i> ifconfig bnep0 192.168.2.1</i>
559host1 #<i> ifconfig bnep0 192.168.2.2</i> 580host1 #<i> ifconfig bnep0 192.168.2.2</i>
560 581
561host0 #<i> ifconfig bnep0</i> 582host0 #<i> ifconfig bnep0</i>
562bnep0 Link encap:Ethernet HWaddr 00:0A:0B:0C:0D:0E 583bnep0 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 584 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 585 inet6 addr: fe80::210:60ff:fea3:cb41/64 Scope:Link
565 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 586 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
566 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 587 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
567 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 588 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
568 collisions:0 txqueuelen:1000 589 collisions:0 txqueuelen:1000
569 RX bytes:208 (208.0 b) TX bytes:188 (188.0 b) 590 RX bytes:208 (208.0 b) TX bytes:188 (188.0 b)
570 591
571host1 #<i> ifconfig bnep0</i> 592host1 #<i> ifconfig bnep0</i>
572bnep0 Link encap:Ethernet HWaddr 00:01:02:03:04:05 593bnep0 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 594 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 595 inet6 addr: fe80::210:60ff:fea2:dd2a/64 Scope:Link
575 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 596 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
576 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 597 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
577 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 598 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
58964 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=34.0 ms 61064 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=34.0 ms
59064 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=37.3 ms 61164 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=37.3 ms
591 612
592--- 192.168.2.1 ping statistics --- 613--- 192.168.2.1 ping statistics ---
5932 packets transmitted, 2 received, 0% packet loss, time 1000ms 6142 packets transmitted, 2 received, 0% packet loss, time 1000ms
594rtt min/avg/max/mdev = 34.045/35.690/37.336/1.656 ms 615rtt min/avg/max/mdev = 34.045/35.690/37.336/1.656 ms
595</pre> 616</pre>
596 617
597</body> 618</body>
598</section> 619</section>
599</chapter> 620</chapter>
635This adds menu entries under Applications &gt; System Tools from where you can 656This adds menu entries under Applications &gt; System Tools from where you can
636easily start up the manager or File sharing to transfer files between devices. 657easily start up the manager or File sharing to transfer files between devices.
637</p> 658</p>
638 659
639<p> 660<p>
640To transfer files (the easy way): 661To transfer files (the easy way):
641</p> 662</p>
642 663
643<ul> 664<ul>
644 <li> 665 <li>
645 From the Phone to the Computer - Send the file from the phone via Bluetooth 666 From the Phone to the Computer - Send the file from the phone via Bluetooth
720 Bluetooth connection (amongst other things). It includes such features as 741 Bluetooth connection (amongst other things). It includes such features as
721 backing up this information and restoring it later, and syncing with the 742 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 743 Evolution e-mail client. You will need the <c>irmc</c> USE flag set to
723 ensure that <c>multisync</c> has Bluetooth support. 744 ensure that <c>multisync</c> has Bluetooth support.
724 </li> 745 </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> 746</ul>
731 747
732</body> 748</body>
733</section> 749</section>
734</chapter> 750</chapter>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.20