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>