/[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.2 Revision 1.6
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.2 2005/08/27 09:19:30 swift Exp $ --> 4<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/bluetooth-guide.xml,v 1.6 2006/03/02 23:59:29 neysx 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.3</version>
36<date>2005-08-25</date> 36<date>2006-03-03</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
249# <i>hciconfig</i> 248# <i>hciconfig</i>
250hci0: Type: USB 249hci0: Type: USB
251 BD Address: 00:01:02:03:04:05 ACL MTU: 192:8 SCO MTU: 64:8 250 BD Address: 00:01:02:03:04:05 ACL MTU: 192:8 SCO MTU: 64:8
252 DOWN 251 DOWN
253 RX bytes:131 acl:0 sco:0 events:18 errors:0 252 RX bytes:131 acl:0 sco:0 events:18 errors:0
254 TX bytes:565 acl:0 sco:0 commands:17 errors:0 253 TX bytes:565 acl:0 sco:0 commands:17 errors:0
255</pre> 254</pre>
256 255
257<p> 256<p>
258This shows that the Bluetooth device has been recognised. As you might have 257This 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 258noticed the device is <e>DOWN</e>. Let's configure it so that we can bring it
262please refer to <c>man hcid.conf</c>. 261please refer to <c>man hcid.conf</c>.
263</p> 262</p>
264 263
265<pre caption="Editing /etc/bluetooth/hcid.conf"> 264<pre caption="Editing /etc/bluetooth/hcid.conf">
266<comment>(Recommended changes to be made to the file are shown)</comment> 265<comment>(Recommended changes to be made to the file are shown)</comment>
266
267# HCId options
268options {
269 # Automatically initialize new devices
270 autoinit yes;
267 271
268<comment>(Change security to "auto")</comment> 272<comment>(Change security to "auto")</comment>
269 # Security Manager mode 273 # Security Manager mode
270 # none - Security manager disabled 274 # none - Security manager disabled
271 # auto - Use local PIN for incoming connections 275 # auto - Use local PIN for incoming connections
272 # user - Always ask user for a PIN 276 # user - Always ask user for a PIN
273 # 277 #
274 security auto; 278 security auto;
275 279
280 # Pairing mode
281 pairing multi;
282
276<comment>(Change pin_helper to use /etc/bluetooth/pin-helper)</comment> 283<comment>(Change pin_helper to use /etc/bluetooth/pin-helper)</comment>
277 # PIN helper 284 # PIN helper
278 pin_helper /etc/bluetooth/pin-helper; 285 pin_helper /etc/bluetooth/pin-helper;
286}
279 287
288# Default settings for HCI devices
289device {
280<comment>(Set your device name here, you can call it anything you want)</comment> 290<comment>(Set your device name here, you can call it anything you want)</comment>
281 # Local device name 291 # Local device name
282 # %d - device id 292 # %d - device id
283 # %h - host name 293 # %h - host name
284 name "BlueZ at %h (%d)"; 294 name "BlueZ at %h (%d)";
295
296 # Local device class
297 class 0x3e0100;
298
299 # Inquiry and Page scan
300 iscan enable; pscan enable;
301
302 # Default link mode
303 lm accept;
304
305 # Default link policy
306 lp rswitch,hold,sniff,park;
285 307
286<comment>(Leave as is, if you don't know what exactly these do)</comment> 308<comment>(Leave as is, if you don't know what exactly these do)</comment>
287 # Authentication and Encryption (Security Mode 3) 309 # Authentication and Encryption (Security Mode 3)
288 #auth enable; 310 #auth enable;
289 #encrypt enable; 311 #encrypt enable;
334</pre> 356</pre>
335 357
336<p> 358<p>
337Let's be sure that the Bluetooth daemons started correctly. If we can see that 359Let'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 360both <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 361right way. After that, we can see if the devices are now up and running with
340the configured options. 362the configured options.
341</p> 363</p>
342 364
343<pre caption="Checking whether Bluetooth daemons started correctly"> 365<pre caption="Checking whether Bluetooth daemons started correctly">
344<comment>(Check to see if the services are running)</comment> 366<comment>(Check to see if the services are running)</comment>
34826054 ? 00:00:00 sdpd 37026054 ? 00:00:00 sdpd
349 371
350# <i>hciconfig -a</i> 372# <i>hciconfig -a</i>
351hci0: Type: USB 373hci0: Type: USB
352 BD Address: 00:0A:0B:0C:0D:0E ACL MTU: 192:8 SCO MTU: 64:8 374 BD Address: 00:0A:0B:0C:0D:0E ACL MTU: 192:8 SCO MTU: 64:8
353 UP RUNNING PSCAN ISCAN AUTH ENCRYPT 375 UP RUNNING PSCAN ISCAN
354 RX bytes:125 acl:0 sco:0 events:17 errors:0 376 RX bytes:125 acl:0 sco:0 events:17 errors:0
355 TX bytes:565 acl:0 sco:0 commands:17 errors:0 377 TX bytes:565 acl:0 sco:0 commands:17 errors:0
356 Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00 378 Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
357 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 379 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
358 Link policy: RSWITCH HOLD SNIFF PARK 380 Link policy: RSWITCH HOLD SNIFF PARK
389</pre> 411</pre>
390 412
391<pre caption="Scanning for remote devices"> 413<pre caption="Scanning for remote devices">
392# <i>hcitool scan</i> 414# <i>hcitool scan</i>
393Scanning ... 415Scanning ...
394 00:0A:0B:0C:0D:0E Grayhat 416 00:0A:0B:0C:0D:0E Grayhat
395</pre> 417</pre>
396 418
397<pre caption="Inquiring remote devices"> 419<pre caption="Inquiring remote devices">
398# <i>hcitool inq</i> 420# <i>hcitool inq</i>
399Inquiring ... 421Inquiring ...
400 00:0A:0B:0C:0D:0E clock offset: 0x5579 class: 0x72010c 422 00:0A:0B:0C:0D:0E clock offset: 0x5579 class: 0x72010c
401</pre> 423</pre>
402 424
403<p> 425<p>
404Now that we now the MAC address of the remote Bluetooth devices, we can check 426Now that we know the MAC address of the remote Bluetooth devices, we can check
405if we paired them correctly. 427if we paired them correctly.
406</p> 428</p>
407 429
408<pre caption="Running l2ping"> 430<pre caption="Running l2ping">
409# <i>l2ping 00:0A:0B:0C:0D:0E</i> 431# <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) ... 432Ping: 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 43320 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 43420 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 43520 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 43620 bytes from 00:0A:0B:0C:0D:0E id 203 time 39.92ms
4154 sent, 4 received, 0% loss 4374 sent, 4 received, 0% loss
416</pre> 438</pre>
417 439
418</body> 440</body>
419</section> 441</section>
420<section> 442<section>
448 470
449 # Bluetooth address of the device 471 # Bluetooth address of the device
450 <comment>(Enter the address of the device you want to connect to)</comment> 472 <comment>(Enter the address of the device you want to connect to)</comment>
451 device 00:0A:0B:0C:0D:0E; 473 device 00:0A:0B:0C:0D:0E;
452 474
453} 475}
454</pre> 476</pre>
455 477
456<p> 478<p>
457After configuring RFCOMM, we can connect to any device. Since we've made the 479After 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 480required settings to the <path>/etc/bluetooth/rfcomm.conf</path> file, we just
482CTRL+C. 504CTRL+C.
483</p> 505</p>
484 506
485<pre caption="Listening for incoming RFCOMM connections"> 507<pre caption="Listening for incoming RFCOMM connections">
486# <i>rfcomm listen 0 1</i> 508# <i>rfcomm listen 0 1</i>
487Waiting for connection on channel 1 509Waiting for connection on channel 1
488</pre> 510</pre>
489 511
490<p> 512<p>
491In a similar way to the connect command, the listen command can receive two 513In 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 514parameters. 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 515will be used to accept a connection, while the second is the channel that will
494be used. 516be used.
495</p> 517</p>
496 518
497<p> 519<p>
498Each time you call the <c>rfcomm</c> command, you can also specify the physical 520Each 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 521device you want to use. Below you can see a small example specifiying the
557<pre caption="bnep IP address configuration"> 579<pre caption="bnep IP address configuration">
558host0 #<i> ifconfig bnep0 192.168.2.1</i> 580host0 #<i> ifconfig bnep0 192.168.2.1</i>
559host1 #<i> ifconfig bnep0 192.168.2.2</i> 581host1 #<i> ifconfig bnep0 192.168.2.2</i>
560 582
561host0 #<i> ifconfig bnep0</i> 583host0 #<i> ifconfig bnep0</i>
562bnep0 Link encap:Ethernet HWaddr 00:0A:0B:0C:0D:0E 584bnep0 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 585 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 586 inet6 addr: fe80::210:60ff:fea3:cb41/64 Scope:Link
565 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 587 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
566 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 588 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
567 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 589 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
568 collisions:0 txqueuelen:1000 590 collisions:0 txqueuelen:1000
569 RX bytes:208 (208.0 b) TX bytes:188 (188.0 b) 591 RX bytes:208 (208.0 b) TX bytes:188 (188.0 b)
570 592
571host1 #<i> ifconfig bnep0</i> 593host1 #<i> ifconfig bnep0</i>
572bnep0 Link encap:Ethernet HWaddr 00:01:02:03:04:05 594bnep0 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 595 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 596 inet6 addr: fe80::210:60ff:fea2:dd2a/64 Scope:Link
575 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 597 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
576 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 598 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
577 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 599 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 61164 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 61264 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=37.3 ms
591 613
592--- 192.168.2.1 ping statistics --- 614--- 192.168.2.1 ping statistics ---
5932 packets transmitted, 2 received, 0% packet loss, time 1000ms 6152 packets transmitted, 2 received, 0% packet loss, time 1000ms
594rtt min/avg/max/mdev = 34.045/35.690/37.336/1.656 ms 616rtt min/avg/max/mdev = 34.045/35.690/37.336/1.656 ms
595</pre> 617</pre>
596 618
597</body> 619</body>
598</section> 620</section>
599</chapter> 621</chapter>
635This adds menu entries under Applications &gt; System Tools from where you can 657This 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. 658easily start up the manager or File sharing to transfer files between devices.
637</p> 659</p>
638 660
639<p> 661<p>
640To transfer files (the easy way): 662To transfer files (the easy way):
641</p> 663</p>
642 664
643<ul> 665<ul>
644 <li> 666 <li>
645 From the Phone to the Computer - Send the file from the phone via Bluetooth 667 From the Phone to the Computer - Send the file from the phone via Bluetooth

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.20