Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 May 2003 19:52:56 -0700 (PDT)
From:      Maksim Yevmenkin <m_evmenkin@yahoo.com>
To:        mobile@freebsd.org, current@freebsd.org
Subject:   BCM2033 chip based Bluetooth devices
Message-ID:  <20030506025256.76845.qmail@web40302.mail.yahoo.com>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hackers, 

the BCM2033 hardware finally arrived :) now i have Belkin Bluetooth
USB adapter model F8T001. i'm very pleased to announce that i made
it work with my recent (2003-05-01) snapshot.

here is what you need to do

1) download 2003-05-01 snapshot from http://www.geocities.com/m_evmenkin/
2) apply attached patch to ubtbcmfw(4) driver
3) compile and install kernel modules
4) compile and install all user space tools
5) kldload ubtbcmfw
6) kldload ng_ubt
7) attach BCM2033 device. you should now have /dev/ubtbcmfwX.Y device nodes.
8) load firmware: bcmfw -n ubtbcmfw0 -m BCM2033-MD.hex -f BCM2033-FW.bin
9) after you have loaded the firmware you will see detach message from
   the ubtbcmfw(4) driver followed by attach messages from ng_ubt(4) driver
10) at this point the device should be initialized and you should be
    able to run rc.bluetooth start ubt0

please let me know if it works for you

thanks,
max
  

__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com
[-- Attachment #2 --]
Index: ubtbcmfw.c
===================================================================
RCS file: /usr/local/cvs/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c,v
retrieving revision 1.1
diff -u -5 -r1.1 ubtbcmfw.c
--- ubtbcmfw.c	27 Apr 2003 00:20:15 -0000	1.1
+++ ubtbcmfw.c	6 May 2003 02:30:36 -0000
@@ -232,20 +232,10 @@
 			usbd_abort_pipe(sc->sc_bulk_out_pipe);
 
 		usb_detach_wait(USBDEV(sc->sc_dev));
 	}
 
-	if (sc->sc_intr_in_pipe != NULL) {
-		usbd_close_pipe(sc->sc_intr_in_pipe);
-		sc->sc_intr_in_pipe = NULL;
-	}
-
-	if (sc->sc_bulk_out_pipe != NULL) {
-		usbd_close_pipe(sc->sc_bulk_out_pipe);
-		sc->sc_intr_in_pipe = NULL;
-	}
-
 	/* Destroy device nodes */
 	if (sc->sc_bulk_out_dev != NODEV) {
 		vp = SLIST_FIRST(&sc->sc_bulk_out_dev->si_hlist);
 		if (vp != NULL)
 			VOP_REVOKE(vp, REVOKEALL);
@@ -268,10 +258,21 @@
 		if (vp != NULL)
 			VOP_REVOKE(vp, REVOKEALL);
 
 		destroy_dev(sc->sc_ctrl_dev);
 		sc->sc_ctrl_dev = NODEV;
+	}
+
+	/* Close pipes */
+	if (sc->sc_intr_in_pipe != NULL) {
+		usbd_close_pipe(sc->sc_intr_in_pipe);
+		sc->sc_intr_in_pipe = NULL;
+	}
+
+	if (sc->sc_bulk_out_pipe != NULL) {
+		usbd_close_pipe(sc->sc_bulk_out_pipe);
+		sc->sc_intr_in_pipe = NULL;
 	}
 
 	return (0);
 }
 

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