Bluetooth stack for FreeBSD
Maksim Yevmenkin
m_evmenkin at yahoo.com
Mon Apr 7 10:15:48 PDT 2003
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 <pav at oook.cz> 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
More information about the freebsd-mobile
mailing list