From owner-freebsd-mobile@FreeBSD.ORG Mon Apr 7 10:15:47 2003 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 96EB637B401 for ; Mon, 7 Apr 2003 10:15:47 -0700 (PDT) Received: from web40303.mail.yahoo.com (web40303.mail.yahoo.com [66.218.78.82]) by mx1.FreeBSD.org (Postfix) with SMTP id 363C143F3F for ; Mon, 7 Apr 2003 10:15:47 -0700 (PDT) (envelope-from m_evmenkin@yahoo.com) Message-ID: <20030407171547.75344.qmail@web40303.mail.yahoo.com> Received: from [165.193.27.35] by web40303.mail.yahoo.com via HTTP; Mon, 07 Apr 2003 10:15:47 PDT Date: Mon, 7 Apr 2003 10:15:47 -0700 (PDT) From: Maksim Yevmenkin To: current@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii cc: mobile@freebsd.org Subject: Bluetooth stack for FreeBSD X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Apr 2003 17:15:48 -0000 Dear Hackers, I'm very pleased to announce that another release is available for download at http://www.geocities.com/m_evmenkin/ngbt-fbsd-20030407.tar.gz I would like to thank you Pav Lucistnik for creating Bluetooth on FreeBSD web page (http://www.oook.cz/bsd/bluetooth.html) and all people who helped me with testing. Please try the new code and let me know if you have any problems/questions/etc. Also please do not forget to CC to one of the FreeBSD mailing lists. Below is a quick summary of changes: All code - Resolve problem with M_NOWAIT/M_DONTWAIT flags in MALLOC and mbuf related calls; Drivers - ng_ubt(4) was re-written. It now can provide traditional device nodes based interface (needed for firmware download); - ng_h4(4), ng_ubt(4) and ng_bt3c(4) drivers now receive data directly into mbuf clusters; HCI layer - Added new command {read|write}_node_role_switch to enable/disable role switch for incoming connections. This fixes the problem with devices that do not support role switch; - Handle HCI ENCRYPTION_CHANGE event and update connection descriptor; - Fix minor bug in packet mask check code; L2CAP layer - L2CAP layer now will respond to disconnect request, even if channel already in DISCONNECTING state; Bluetooth sockets layer - Raw HCI and L2CAP sockets now have notion of "privileged" commands. Now regular users can run hccontrol(8)/l2control(8) and execute most of the commands; - Fix locking bug in raw L2CAP sockets code; - Generate unique token for L2CAP sockets; - L2CAP and RFCOMM sockets now detect and detach sockets that have been disconnected before receiving side had a chance to accept them. This removes sockets that stuck in CLOSED state on accepting socket queue; - Fix "early initialization" bug in RFCOMM sockets that causes crash when ng_btsocket(4) module is loaded from loader prompt at boot time. Userspace tools - Change btsockstat(1) so it prints information about RFCOMM sessions; - Install btsockstat(1) as SUID and drop SUID when core file in used; - Added bcmfw(8) - Broadcom 0x2033 chip based firmware download utility Note: This is UNTESTED code since I have no hardware to test it on; - Fix Makefile's and use ${.CURDIR} in include path; - Minor improvements to hccontrol(8). Better documentation and stuff; - hcsecd(8) now refuses to run if it was started by non-privileged user; Ports - All ports/ now use relative path to bluetooth/include; - Minor fixes in hcidump(1): get rid of 'inline' functions, display warning if run as non-privileged user, display credits in RFCOMM UIH frames; display more SDP attributes; - Minor fixes in obexapp(1): updated man page with more examples, connect automatically in client mode (CONnect command was removed), fix typo in default server root path, in server mode try to wait for the client to close connection; - Update SDP with the latest patches from Linux BlueZ (up to 1.1 release) When upgrading please follow these steps 1) Download latest snapshot 2) Extract it into your home directory. Please *do not* extract shapshot into /usr. you *should* build snapshot *outside* of main FreeBSD source tree. 3) Build and install kernel modules cd $snapshot_dir/src/sys/modules/netgraph/bluetooth make depend make make install make cleandir 4) Build and install userspace tools cd $snapshot_dir/src/usr.bin/bluetooth make depend make make install make cleandir cd $snapshot_dir/src/usr.sbin/bluetooth make depend make make install make cleandir rehash 5) Build and install ports (optional - you might need glib12 and openobex libraries installed) IMPORTANT: - Build snapshot *outside* of FreeBSD main source tree. *Do not* update sources in /usr/src. If you run 'cvsup' then all your changes to /usr/src *will be lost* - Always update your userspace tools - After bulding and installing new kernel *do not* forget to re-compile and re-install Bluetooth kernel modules (from snapshot). You need this because kernel build will install old (stock) Bluetooth modules - After making "word" please *do not* forget to re-compile/re-install both kernel modules and userland tools from snapshot thanks, max __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://tax.yahoo.com