BCM2033 chip based Bluetooth devices

Maksim Yevmenkin <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
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

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
ubtbcmfw.c.diff (application/octet-stream, 1.2 KB)
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);
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.