From owner-freebsd-doc@FreeBSD.ORG Fri Mar 12 13:14:36 2004 Return-Path: Delivered-To: freebsd-doc@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 66F7D16A4CE for ; Fri, 12 Mar 2004 13:14:36 -0800 (PST) Received: from web40308.mail.yahoo.com (web40308.mail.yahoo.com [66.218.78.87]) by mx1.FreeBSD.org (Postfix) with SMTP id 4507443D1D for ; Fri, 12 Mar 2004 13:14:36 -0800 (PST) (envelope-from m_evmenkin@yahoo.com) Message-ID: <20040312211435.8266.qmail@web40308.mail.yahoo.com> Received: from [66.35.239.94] by web40308.mail.yahoo.com via HTTP; Fri, 12 Mar 2004 13:14:35 PST Date: Fri, 12 Mar 2004 13:14:35 -0800 (PST) From: Maksim Yevmenkin To: imp@freebsd.org, ru@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-323712099-1079126075=:7013" cc: freebsd-doc@freebsd.org Subject: [PATCH] Handbook Bluetooth chapter X-BeenThere: freebsd-doc@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Documentation project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Mar 2004 21:14:36 -0000 --0-323712099-1079126075=:7013 Content-Type: text/plain; charset=us-ascii Content-Id: Content-Disposition: inline Hello, i'd like to update Bluetooth chapter in the FreeBSD Handbook (see attached patch). basically it is to document that users should use stock sdpd(8) instead of GNU sdpd (port from Linux BlueZ). thanks, max __________________________________ Do you Yahoo!? Yahoo! Search - Find what you’re looking for faster http://search.yahoo.com --0-323712099-1079126075=:7013 Content-Type: text/plain; name="handbook.bluetooth.chapter.diff.txt" Content-Description: handbook.bluetooth.chapter.diff.txt Content-Disposition: inline; filename="handbook.bluetooth.chapter.diff.txt" Index: en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml =================================================================== RCS file: /home/dcvs/doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v retrieving revision 1.282 diff -u -r1.282 chapter.sgml --- en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml 12 Mar 2004 19:55:13 -0000 1.282 +++ en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml 12 Mar 2004 21:10:38 -0000 @@ -1428,35 +1428,32 @@ services. This process of looking for any offered services is called browsing. - Currently Bluetooth SDP server and client are implemented in a - third-party package sdp-1.5 that can be - downloaded from - here. The - sdptool is a command line SDP client. + The Bluetooth SDP server &man.sdpd.8; and command line client + &man.sdpcontrol.8; are included in the standard &os; installation. The following example shows how to perform a SDP browse query. - &prompt.root; sdptool browse 00:80:37:29:19:a4 -Browsing 00:80:37:29:19:A4 ... -Service Name: Dial-up Networking + &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec browse +Record Handle: 00000000 +Service Class ID List: + Service Discovery Server (0x1000) Protocol Descriptor List: - "L2CAP" (0x0100) - "RFCOMM" (0x0003) - Channel: 1 + L2CAP (0x0100) + Protocol specific parameter #1: u/int/uuid16 1 + Protocol specific parameter #2: u/int/uuid16 1 -Service Name: Fax -Protocol Descriptor List: - "L2CAP" (0x0100) - "RFCOMM" (0x0003) - Channel: 2 +Record Handle: 0x00000001 +Service Class ID List: + Browse Group Descriptor (0x1001) -Service Name: Voice gateway +Record Handle: 0x00000002 Service Class ID List: - "Headset Audio Gateway" (0x1112) - "Generic Audio" (0x1203) + LAN Access Using PPP (0x1102) Protocol Descriptor List: - "L2CAP" (0x0100) - "RFCOMM" (0x0003) - Channel: 3 + L2CAP (0x0100) + RFCOMM (0x0003) + Protocol specific parameter #1: u/int8/bool 1 +Bluetooth Profile Descriptor List: + LAN Access Using PPP (0x1102) ver. 1.0 ... and so on. Note that each service has a list of attributes @@ -1466,24 +1463,22 @@ it is possible to search for the specific service. The example below shows how to search for the OBEX Object Push (OPUSH) service. - &prompt.root; sdptool search --bdaddr 00:07:e0:00:0b:ca OPUSH + &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH Offering services on &os; to Bluetooth clients is done with the - sdpd server. + &man.sdpd.8; server. &prompt.root; sdpd - The sdptool is also used to register - a service with the local SDP server. The example below shows how to - register the Network Access with PPP (LAN) service. Note that some - services require attributes (RFCOMM channel for example). - - &prompt.root; sdptool add --channel=7 LAN - - The list of services registered with local SDP server can be - obtained by issuing SDP browse query to a special - BD_ADDR. + The local server application that wants to provide Bluetooth + service to the remote clients will register service with the local + SDP daemon. The example of such application is &man.rfcomm.pppd.8;. + Once started it will register Bluetooth LAN service with the local + SDP daemon. + + The list of services registered with the local SDP server can be + obtained by issuing SDP browse query via local control channel. - &prompt.root; sdptool browse ff:ff:ff:00:00:00 + &prompt.root; sdpcontrol -l browse @@ -1521,7 +1516,7 @@ In &os; both profiles are implemented with &man.ppp.8; and &man.rfcomm.pppd.8; - a wrapper that converts RFCOMM Bluetooth connection into something PPP can operate with. Before any profile - can be used, a new PPP label in /etc/ppp/ppp.conf + can be used, a new PPP label in the /etc/ppp/ppp.conf must be created. Consult &man.rfcomm.pppd.8; manual page for examples. @@ -1530,20 +1525,18 @@ DUN RFCOMM channel. The actual RFCOMM channel number will be obtained from the remote device via SDP. It is possible to specify RFCOMM channel by hand, and in this case &man.rfcomm.pppd.8; will not perform SDP - query. Use sdptool to find out RFCOMM + query. Use &man.sdpcontrol.8; to find out RFCOMM channel on the remote device. &prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup - In order to provide Network Access with PPP (LAN) service - sdpd server must be running. It is also - required to register LAN service with the local SDP server. Note that - LAN service requires RFCOMM channel attribute. A new entry for LAN - clients must be created in /etc/ppp/ppp.conf file. - Consult &man.rfcomm.pppd.8; manual page for examples. Finally, RFCOMM - PPP server must be running and listening on the same RFCOMM channel - as registered with the local SDP server. The example below shows how - to start RFCOMM PPP server. + In order to provide Network Access with PPP (LAN) service the + &man.sdpd.8; server must be running. A new entry for LAN clients must + be created in the /etc/ppp/ppp.conf file. Consult + &man.rfcomm.pppd.8; manual page for examples. Finally, start RFCOMM PPP + server on valid RFCOMM channel number. The RFCOMM PPP server will + automatically register Bluetooth LAN service with the local SDP daemon. + The example below shows how to start RFCOMM PPP server. &prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-server @@ -1559,7 +1552,7 @@ phones and other devices with PIM applications. The OBEX server and client are implemented as a third-party package - obexapp-1.0 that can be downloaded from + obexapp-1.1 that can be downloaded from here. The package requires the openobex library (included) and the devel/glib12 @@ -1589,14 +1582,12 @@ Success, response: OK, Success (0x20) In order to provide OBEX Push service, - sdpd server must be running. It is also - required to register OPUSH service with the local SDP server. Note that - OPUSH service requires RFCOMM channel attribute. A root folder, where - all incoming objects will be stored, must be created. The default path - to the root folder is /var/spool/obex. Finally, - OBEX server must be running and listening on the same RFCOMM channel - as registered with the local SDP server. The example below shows how - to start OBEX server. + &man.sdpd.8; server must be running. A root folder, where all incoming + objects will be stored, must be created. The default path to the root + folder is /var/spool/obex. Finally, start OBEX + server on valid RFCOMM channel number. The OBEX server will + automatically register required service with the local SDP daemon. + The example below shows how to start OBEX server. &prompt.root; obexapp -s -C 10 --0-323712099-1079126075=:7013--