Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Mar 2014 18:09:37 +0000 (UTC)
From:      Dru Lavigne <dru@FreeBSD.org>
To:        doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org
Subject:   svn commit: r44154 - head/en_US.ISO8859-1/books/handbook/advanced-networking
Message-ID:  <201403061809.s26I9bQP026447@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403061809.s26I9bQP026447>