svn commit: r44154 - head/en_US.ISO8859-1/books/handbook/advanced-networking
Dru Lavigne
dru at FreeBSD.org
Thu Mar 6 18:09:37 UTC 2014
Author: dru
Date: Thu Mar 6 18:09:37 2014
New Revision: 44154
URL: http://svnweb.freebsd.org/changeset/doc/44154
Log:
Editorial pass through first 1/2 of Bluetooth chapter.
Sponsored by: iXsystems
Modified:
head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml
Modified: head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml Thu Mar 6 17:23:54 2014 (r44153)
+++ head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml Thu Mar 6 18:09:37 2014 (r44154)
@@ -2219,22 +2219,12 @@ freebsdap 00:11:95:c3:0d:ac 1
<para>Bluetooth is a wireless technology for creating personal
networks operating in the 2.4 GHz unlicensed band, with a
range of 10 meters. Networks are usually formed ad-hoc from
- portable devices such as cellular phones, handhelds and
+ portable devices such as cellular phones, handhelds, and
laptops. Unlike Wi-Fi wireless technology, Bluetooth offers
- higher level service profiles, such as FTP-like file servers,
+ higher level service profiles, such as <acronym>FTP</acronym>-like file servers,
file pushing, voice transport, serial line emulation, and
more.</para>
- <para>The Bluetooth stack in &os; is implemented using the
- &man.netgraph.4; framework. A broad variety of Bluetooth
- <acronym>USB</acronym> dongles is supported by &man.ng.ubt.4;.
- Broadcom BCM2033 based Bluetooth devices are supported by
- the &man.ubtbcmfw.4; and &man.ng.ubt.4; drivers. The 3Com
- Bluetooth PC Card 3CRWB60-A is supported by the
- &man.ng.bt3c.4; driver. Serial and UART based Bluetooth
- devices are supported by &man.sio.4;, &man.ng.h4.4; and
- &man.hcseriald.8;.</para>
-
<para>This section describes the use of a
<acronym>USB</acronym> Bluetooth dongle on a &os; system. It
then describes the various Bluetooth protocols and
@@ -2243,29 +2233,40 @@ freebsdap 00:11:95:c3:0d:ac 1
<sect2>
<title>Loading Bluetooth Support</title>
- <para>By default, Bluetooth device drivers are available as
- kernel modules. Before attaching a device, load the driver
- into the kernel:</para>
+ <para>The Bluetooth stack in &os; is implemented using the
+ &man.netgraph.4; framework. A broad variety of Bluetooth
+ <acronym>USB</acronym> dongles is supported by &man.ng.ubt.4;.
+ Broadcom BCM2033 based Bluetooth devices are supported by
+ the &man.ubtbcmfw.4; and &man.ng.ubt.4; drivers. The 3Com
+ Bluetooth PC Card 3CRWB60-A is supported by the
+ &man.ng.bt3c.4; driver. Serial and UART based Bluetooth
+ devices are supported by &man.sio.4;, &man.ng.h4.4;, and
+ &man.hcseriald.8;.</para>
+
+ <para>Before attaching a device, determine which of the above
+ drivers it uses, then load the driver. For example, if the
+ device uses the &man.ng.ubt.4; driver:</para>
<screen>&prompt.root; <userinput>kldload ng_ubt</userinput></screen>
- <para>If the Bluetooth device is present in the system during
- system startup, load the module from
+ <para>If the Bluetooth device will be attached to the system during
+ system startup, the system can be configured to load the module at boot
+ time by adding the driver to
<filename>/boot/loader.conf</filename>:</para>
<programlisting>ng_ubt_load="YES"</programlisting>
- <para>Plug in the <acronym>USB</acronym> dongle. Output
- similar to the following will appear on the console and in
- the system log:</para>
+ <para>Once the driver is loaded, plug in the <acronym>USB</acronym> dongle. If the driver load was successful, output
+ similar to the following should appear on the console and in
+ <filename>/var/log/messages</filename>:</para>
<screen>ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
wMaxPacketSize=49, nframes=6, buffer size=294</screen>
- <para>To start and stop the Bluetooth stack, use
- &man.service.8;. It is a good idea to stop the stack before
+ <para>To start and stop the Bluetooth stack, use its startup
+ script. It is a good idea to stop the stack before
unplugging the device. When starting the stack, the output
should be similar to the following:</para>
@@ -2291,29 +2292,14 @@ Number of SCO packets: 8</screen>
</indexterm>
<para>The Host Controller Interface (<acronym>HCI</acronym>)
- provides a command interface to the baseband controller and
- link manager as well as access to hardware status and control
- registers. This interface provides a uniform method for
- accessing Bluetooth baseband capabilities. The
- <acronym>HCI</acronym> layer on the host exchanges data and
- commands with the <acronym>HCI</acronym> firmware on the
- Bluetooth hardware. The Host Controller Transport Layer
- (physical bus) driver provides both <acronym>HCI</acronym>
- layers with the ability to exchange information.</para>
-
- <para>A single netgraph node of type <emphasis>hci</emphasis>
- is created for a single Bluetooth device. The
- <acronym>HCI</acronym> node is normally connected to the
- downstream Bluetooth device driver node and the upstream
- <acronym>L2CAP</acronym> node. All <acronym>HCI</acronym>
- operations must be performed on the <acronym>HCI</acronym>
- node and not on the device driver node. The default name
- for the <acronym>HCI</acronym> node is
- <quote>devicehci</quote>. For more details, refer to
+ provides a uniform method for
+ accessing Bluetooth baseband capabilities. In &os;, a
+ netgraph <acronym>HCI</acronym> node
+ is created for each Bluetooth device. For more details, refer to
&man.ng.hci.4;.</para>
<para>One of the most common tasks is discovery of Bluetooth
- devices in <acronym>RF</acronym> proximity. This operation is
+ devices within <acronym>RF</acronym> proximity. This operation is
called <emphasis>inquiry</emphasis>. Inquiry and other
<acronym>HCI</acronym> related operations are done using
&man.hccontrol.8;. The example below shows how to find out
@@ -2336,7 +2322,7 @@ Inquiry complete. Status: No error [00]<
<para>The <literal>BD_ADDR</literal> is the unique address of a
Bluetooth device, similar to the <acronym>MAC</acronym>
address of a network card. This address is needed for
- further communication with a device. It is possible to
+ further communication with a device and it is possible to
assign a human readable name to a BD_ADDR. Information
regarding the known Bluetooth hosts is contained in
<filename>/etc/bluetooth/hosts</filename>. The following
@@ -2402,8 +2388,8 @@ Reason: Connection terminated by local h
Bluetooth authentication requests. The default configuration
file is <filename>/etc/bluetooth/hcsecd.conf</filename>. An
example section for a cellular phone with the
- <acronym>PIN</acronym> code arbitrarily set to
- <quote>1234</quote> is shown below:</para>
+ <acronym>PIN</acronym> code set to
+ <literal>1234</literal> is shown below:</para>
<programlisting>device {
bdaddr 00:80:37:29:19:a4;
@@ -2447,65 +2433,41 @@ hcsecd[16484]: Sending PIN_Code_Reply to
<title>Network Access with
<acronym>PPP</acronym> Profiles</title>
- <para>The Dial-Up Networking (<acronym>DUN</acronym>) profile is
- mostly used with modems and cellular phones. The scenarios
- covered by this profile are the following:</para>
-
- <itemizedlist>
- <listitem>
- <para>Use of a cellular phone or modem by a computer as a
+ <para>A Dial-Up Networking (<acronym>DUN</acronym>) profile can
+ be used to configure a cellular phone as a
wireless modem for connecting to a dial-up Internet access
- server, or for using other dial-up services.</para>
- </listitem>
-
- <listitem>
- <para>Use of a cellular phone or modem by a computer to
- receive data calls.</para>
- </listitem>
- </itemizedlist>
+ server. It can also be used to configure a computer to
+ receive data calls from a cellular phone.</para>
<para>Network access with a <acronym>PPP</acronym> profile can
- be used in the following situations:</para>
-
- <itemizedlist>
- <listitem>
- <para><acronym>LAN</acronym> access for a single Bluetooth
- device.</para>
- </listitem>
-
- <listitem>
- <para><acronym>LAN</acronym> access for multiple Bluetooth
- devices.</para>
- </listitem>
-
- <listitem>
- <para>PC to PC connection using <acronym>PPP</acronym>
+ be used to provide <acronym>LAN</acronym> access for a single Bluetooth
+ device or multiple Bluetooth devices. It can also provide
+ <acronym>PC</acronym> to <acronym>PC</acronym> connection using <acronym>PPP</acronym>
networking over serial cable emulation.</para>
- </listitem>
- </itemizedlist>
<para>In &os;, these profiles are implemented with &man.ppp.8;
and the &man.rfcomm.pppd.8; wrapper which converts a
- <acronym>RFCOMM</acronym> Bluetooth connection into something
+ Bluetooth connection into something
<acronym>PPP</acronym> can use. Before a profile can be used,
a new <acronym>PPP</acronym> label must be created in
<filename>/etc/ppp/ppp.conf</filename>. Consult
&man.rfcomm.pppd.8; for examples.</para>
- <para>In the following example, &man.rfcomm.pppd.8; is used
- to open a <acronym>RFCOMM</acronym> connection to a remote
- device with a BD_ADDR of <literal>00:80:37:29:19:a4</literal>
- on a <acronym>DUN</acronym> <acronym>RFCOMM</acronym> channel.
- The actual <acronym>RFCOMM</acronym> channel number will be
- obtained from the remote device via <acronym>SDP</acronym>.
+ <para>In this example, &man.rfcomm.pppd.8; is used
+ to open a connection to a remote
+ device with a <literal>BD_ADDR</literal> of <literal>00:80:37:29:19:a4</literal>
+ on a <acronym>DUN</acronym> <acronym>RFCOMM</acronym> channel:</para>
+
+ <screen>&prompt.root; <userinput>rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup</userinput></screen>
+
+ <para>The actual channel number will be
+ obtained from the remote device using the <acronym>SDP</acronym> protocol.
It is possible to specify the <acronym>RFCOMM</acronym>
channel by hand, and in this case &man.rfcomm.pppd.8; will
not perform the <acronym>SDP</acronym> query. Use
&man.sdpcontrol.8; to find out the <acronym>RFCOMM</acronym>
channel on the remote device.</para>
- <screen>&prompt.root; <userinput>rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup</userinput></screen>
-
<para>In order to provide network access with the
<acronym>PPP</acronym> <acronym>LAN</acronym> service,
&man.sdpd.8; must be running and a new entry for
More information about the svn-doc-head
mailing list