/[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.11
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.11 2007/03/13 00:40:27 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.7</version>
36<date>2005-08-25</date> 36<date>2007-01-14</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, which is explained in the <uri
221link="http://www.gentoo.org/doc/en/usb-guide.xml#doc_chap4_sect2">Gentoo Linux 219link="http://www.gentoo.org/doc/en/usb-guide.xml#doc_chap4_sect2">Gentoo Linux
222USB Guide</uri>. 220USB Guide</uri>.
223</p> 221</p>
224 222
225<pre caption="Emerging hotplug and coldplug"> 223<pre caption="Emerging hotplug">
226# <i>emerge hotplug coldplug</i> 224# <i>emerge hotplug</i>
227# <i>rc-update add coldplug boot</i>
228</pre> 225</pre>
229 226
230</body> 227</body>
231</section> 228</section>
232<section> 229<section>
249# <i>hciconfig</i> 246# <i>hciconfig</i>
250hci0: Type: USB 247hci0: Type: USB
251 BD Address: 00:01:02:03:04:05 ACL MTU: 192:8 SCO MTU: 64:8 248 BD Address: 00:01:02:03:04:05 ACL MTU: 192:8 SCO MTU: 64:8
252 DOWN 249 DOWN
253 RX bytes:131 acl:0 sco:0 events:18 errors:0 250 RX bytes:131 acl:0 sco:0 events:18 errors:0
254 TX bytes:565 acl:0 sco:0 commands:17 errors:0 251 TX bytes:565 acl:0 sco:0 commands:17 errors:0
255</pre> 252</pre>
256 253
257<p> 254<p>
258This shows that the Bluetooth device has been recognised. As you might have 255This 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 256noticed the device is <e>DOWN</e>. Let's configure it so that we can bring it
262please refer to <c>man hcid.conf</c>. 259please refer to <c>man hcid.conf</c>.
263</p> 260</p>
264 261
265<pre caption="Editing /etc/bluetooth/hcid.conf"> 262<pre caption="Editing /etc/bluetooth/hcid.conf">
266<comment>(Recommended changes to be made to the file are shown)</comment> 263<comment>(Recommended changes to be made to the file are shown)</comment>
264
265# HCId options
266options {
267 # Automatically initialize new devices
268 autoinit yes;
267 269
268<comment>(Change security to "auto")</comment> 270<comment>(Change security to "auto")</comment>
269 # Security Manager mode 271 # Security Manager mode
270 # none - Security manager disabled 272 # none - Security manager disabled
271 # auto - Use local PIN for incoming connections 273 # auto - Use local PIN for incoming connections
272 # user - Always ask user for a PIN 274 # user - Always ask user for a PIN
273 # 275 #
274 security auto; 276 security auto;
275 277
278 # Pairing mode
279 pairing multi;
280
276<comment>(Change pin_helper to use /etc/bluetooth/pin-helper)</comment> 281<comment>(Change pin_helper to use /etc/bluetooth/pin-helper)</comment>
277 # PIN helper 282 # PIN helper
278 pin_helper /etc/bluetooth/pin-helper; 283 pin_helper /etc/bluetooth/pin-helper;
284}
279 285
286# Default settings for HCI devices
287device {
280<comment>(Set your device name here, you can call it anything you want)</comment> 288<comment>(Set your device name here, you can call it anything you want)</comment>
281 # Local device name 289 # Local device name
282 # %d - device id 290 # %d - device id
283 # %h - host name 291 # %h - host name
284 name "BlueZ at %h (%d)"; 292 name "BlueZ at %h (%d)";
293
294 # Local device class
295 class 0x3e0100;
296
297 # Inquiry and Page scan
298 iscan enable; pscan enable;
299
300 # Default link mode
301 lm accept;
302
303 # Default link policy
304 lp rswitch,hold,sniff,park;
285 305
286<comment>(Leave as is, if you don't know what exactly these do)</comment> 306<comment>(Leave as is, if you don't know what exactly these do)</comment>
287 # Authentication and Encryption (Security Mode 3) 307 # Authentication and Encryption (Security Mode 3)
288 #auth enable; 308 #auth enable;
289 #encrypt enable; 309 #encrypt enable;
334</pre> 354</pre>
335 355
336<p> 356<p>
337Let's be sure that the Bluetooth daemons started correctly. If we can see that 357Let'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 358both <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 359right way. After that, we can see if the devices are now up and running with
340the configured options. 360the configured options.
341</p> 361</p>
342 362
343<pre caption="Checking whether Bluetooth daemons started correctly"> 363<pre caption="Checking whether Bluetooth daemons started correctly">
344<comment>(Check to see if the services are running)</comment> 364<comment>(Check to see if the services are running)</comment>
34826054 ? 00:00:00 sdpd 36826054 ? 00:00:00 sdpd
349 369
350# <i>hciconfig -a</i> 370# <i>hciconfig -a</i>
351hci0: Type: USB 371hci0: Type: USB
352 BD Address: 00:0A:0B:0C:0D:0E ACL MTU: 192:8 SCO MTU: 64:8 372 BD Address: 00:0A:0B:0C:0D:0E ACL MTU: 192:8 SCO MTU: 64:8
353 UP RUNNING PSCAN ISCAN AUTH ENCRYPT 373 UP RUNNING PSCAN ISCAN
354 RX bytes:125 acl:0 sco:0 events:17 errors:0 374 RX bytes:125 acl:0 sco:0 events:17 errors:0
355 TX bytes:565 acl:0 sco:0 commands:17 errors:0 375 TX bytes:565 acl:0 sco:0 commands:17 errors:0
356 Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00 376 Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
357 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 377 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
358 Link policy: RSWITCH HOLD SNIFF PARK 378 Link policy: RSWITCH HOLD SNIFF PARK
389</pre> 409</pre>
390 410
391<pre caption="Scanning for remote devices"> 411<pre caption="Scanning for remote devices">
392# <i>hcitool scan</i> 412# <i>hcitool scan</i>
393Scanning ... 413Scanning ...
394 00:0A:0B:0C:0D:0E Grayhat 414 00:0A:0B:0C:0D:0E Grayhat
395</pre> 415</pre>
396 416
397<pre caption="Inquiring remote devices"> 417<pre caption="Inquiring remote devices">
398# <i>hcitool inq</i> 418# <i>hcitool inq</i>
399Inquiring ... 419Inquiring ...
400 00:0A:0B:0C:0D:0E clock offset: 0x5579 class: 0x72010c 420 00:0A:0B:0C:0D:0E clock offset: 0x5579 class: 0x72010c
401</pre> 421</pre>
402 422
403<p> 423<p>
404Now that we now the MAC address of the remote Bluetooth devices, we can check 424Now that we know the MAC address of the remote Bluetooth devices, we can check
405if we paired them correctly. 425if we paired them correctly.
406</p> 426</p>
407 427
408<pre caption="Running l2ping"> 428<pre caption="Running l2ping">
409# <i>l2ping 00:0A:0B:0C:0D:0E</i> 429# <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) ... 430Ping: 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 43120 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 43220 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 43320 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 43420 bytes from 00:0A:0B:0C:0D:0E id 203 time 39.92ms
4154 sent, 4 received, 0% loss 4354 sent, 4 received, 0% loss
416</pre> 436</pre>
417 437
418</body> 438</body>
419</section> 439</section>
420<section> 440<section>
448 468
449 # Bluetooth address of the device 469 # Bluetooth address of the device
450 <comment>(Enter the address of the device you want to connect to)</comment> 470 <comment>(Enter the address of the device you want to connect to)</comment>
451 device 00:0A:0B:0C:0D:0E; 471 device 00:0A:0B:0C:0D:0E;
452 472
453} 473}
454</pre> 474</pre>
455 475
456<p> 476<p>
457After configuring RFCOMM, we can connect to any device. Since we've made the 477After 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 478required settings to the <path>/etc/bluetooth/rfcomm.conf</path> file, we just
482CTRL+C. 502CTRL+C.
483</p> 503</p>
484 504
485<pre caption="Listening for incoming RFCOMM connections"> 505<pre caption="Listening for incoming RFCOMM connections">
486# <i>rfcomm listen 0 1</i> 506# <i>rfcomm listen 0 1</i>
487Waiting for connection on channel 1 507Waiting for connection on channel 1
488</pre> 508</pre>
489 509
490<p> 510<p>
491In a similar way to the connect command, the listen command can receive two 511In 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 512parameters. 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 513will be used to accept a connection, while the second is the channel that will
494be used. 514be used.
495</p> 515</p>
496 516
497<p> 517<p>
498Each time you call the <c>rfcomm</c> command, you can also specify the physical 518Each 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 519device you want to use. Below you can see a small example specifiying the
557<pre caption="bnep IP address configuration"> 577<pre caption="bnep IP address configuration">
558host0 #<i> ifconfig bnep0 192.168.2.1</i> 578host0 #<i> ifconfig bnep0 192.168.2.1</i>
559host1 #<i> ifconfig bnep0 192.168.2.2</i> 579host1 #<i> ifconfig bnep0 192.168.2.2</i>
560 580
561host0 #<i> ifconfig bnep0</i> 581host0 #<i> ifconfig bnep0</i>
562bnep0 Link encap:Ethernet HWaddr 00:0A:0B:0C:0D:0E 582bnep0 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 583 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 584 inet6 addr: fe80::210:60ff:fea3:cb41/64 Scope:Link
565 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 585 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
566 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 586 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
567 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 587 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
568 collisions:0 txqueuelen:1000 588 collisions:0 txqueuelen:1000
569 RX bytes:208 (208.0 b) TX bytes:188 (188.0 b) 589 RX bytes:208 (208.0 b) TX bytes:188 (188.0 b)
570 590
571host1 #<i> ifconfig bnep0</i> 591host1 #<i> ifconfig bnep0</i>
572bnep0 Link encap:Ethernet HWaddr 00:01:02:03:04:05 592bnep0 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 593 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 594 inet6 addr: fe80::210:60ff:fea2:dd2a/64 Scope:Link
575 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 595 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
576 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 596 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
577 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 597 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 60964 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 61064 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=37.3 ms
591 611
592--- 192.168.2.1 ping statistics --- 612--- 192.168.2.1 ping statistics ---
5932 packets transmitted, 2 received, 0% packet loss, time 1000ms 6132 packets transmitted, 2 received, 0% packet loss, time 1000ms
594rtt min/avg/max/mdev = 34.045/35.690/37.336/1.656 ms 614rtt min/avg/max/mdev = 34.045/35.690/37.336/1.656 ms
595</pre> 615</pre>
596 616
597</body> 617</body>
598</section> 618</section>
599</chapter> 619</chapter>
635This adds menu entries under Applications &gt; System Tools from where you can 655This 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. 656easily start up the manager or File sharing to transfer files between devices.
637</p> 657</p>
638 658
639<p> 659<p>
640To transfer files (the easy way): 660To transfer files (the easy way):
641</p> 661</p>
642 662
643<ul> 663<ul>
644 <li> 664 <li>
645 From the Phone to the Computer - Send the file from the phone via Bluetooth 665 From the Phone to the Computer - Send the file from the phone via Bluetooth
721 backing up this information and restoring it later, and syncing with the 741 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 742 Evolution e-mail client. You will need the <c>irmc</c> USE flag set to
723 ensure that <c>multisync</c> has Bluetooth support. 743 ensure that <c>multisync</c> has Bluetooth support.
724 </li> 744 </li>
725 <li> 745 <li>
726 <c>media-plugins/xmms-btexmms</c>: Btexmms is an XMMS plugin that allows 746 <c>net-wireless/opd</c> and <c>net-wireless/ussp-push</c> are command line
727 you to use your Bluetooth-enabled (Sony) Ericsson mobile phone as a remote 747 tools (server and client) that can be used to send files to your mobile
728 control for XMMS. 748 phone.
729 </li> 749 </li>
730</ul> 750</ul>
731 751
732</body> 752</body>
733</section> 753</section>

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

  ViewVC Help
Powered by ViewVC 1.1.20