From owner-freebsd-current@FreeBSD.ORG Wed Mar 26 16:56:13 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9B09C37B404 for ; Wed, 26 Mar 2003 16:56:13 -0800 (PST) Received: from castle.org (castle.org [207.178.4.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id E003B43F3F for ; Wed, 26 Mar 2003 16:56:12 -0800 (PST) (envelope-from nomad@castle.org) Received: from castle.org (localhost.castle.org [127.0.0.1]) by castle.org (8.12.8/8.12.7) with ESMTP id h2R0tavm015491; Wed, 26 Mar 2003 16:55:36 -0800 (PST) (envelope-from nomad@castle.org) Message-Id: <200303270055.h2R0tavm015491@castle.org> X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Maksim Yevmenkin In-reply-to: Your message of Wed, 26 Mar 2003 16:35:39 -0800. <3E82475B.1020808@exodus.net> X-uri: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 26 Mar 2003 16:55:36 -0800 From: Lee Damon X-Spam-Status: No, hits=-5.4 required=5.0 tests=AWL,IN_REP_TO,QUOTED_EMAIL_TEXT autolearn=ham version=2.50 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.50 (1.173-2003-02-20-exp) cc: current@freebsd.org Subject: Re: Bluetooth on IBM T30 (USB device problem) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Mar 2003 00:56:15 -0000 Max, (Copied to current as Max requests) ugen is loaded at boot by default. When I try to manually load it I get the (expected) response: Mar 26 16:46:47 tylendel kernel: module_register: module uhub/ugen already exists! Mar 26 16:46:47 tylendel kernel: Module uhub/ugen failed to register: 17 However, the BDC isn't attaching when I press the bluetooth button. : || tylendel.castle.org [17] ; sudo usbdevs -v -d Controller /dev/usb0: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 uhub0 port 1 powered port 2 powered Controller /dev/usb1: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 uhub1 port 1 powered port 2 powered Controller /dev/usb2: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 uhub2 port 1 powered port 2 powered So, we're back to the USB problem. I think maybe I should table this for a while in the hopes that someone, somewhere, looks at and fixes the USB problem. (I'll be happy to help run tests and such, but I am *not* a kernel hacker.) nomad > Lee, > > > Kernel recompiled and now no more "_mtx_assert undefined" errors. > > Continuing with the directions at : > > > > When I press the T30's bluetooth button I get the known USB problem, > > but never see the ubt0 device defined. Instead of getting > > > > ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 > > ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 > > ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3; > > wMaxPacketSize=49; nframes=6, buffer size=294 > > > > I get dead silence. Grep'ing for it in dmesg renders: > > > > : || tylendel.castle.org [8] ; dmesg | grep ubt > > Preloaded elf module "/boot/kernel/ng_ubt.ko" at 0xc06e60a8. > > Of course. Because ng_ubt(4) driver *does not* know about Bluetooth > device inside your T30. That is why you need to find out VendorID and > Product ID for the Bluetooth device inside your T30. You can use > ugen(4) for that. ugen(4) driver *must* be loaded *before* you press > the Bluetooth button. Once you press the Bluetooth button ugen(4) > driver *must* attach to it, because it is the default driver for > the USB devices. That is *if* USB will attach the device and you > do not get "device problem, disabling port 1" error. > > Once you have ugen(4) attached to the device run > > # usbdevs -v -d > > This will give you VendorID/ProductID pair. Now you are ready to > patch ng_ubt(4) driver. Just add VendorID/ProductID to the list > of supported devices inside USB_MATCH function (in ng_ubt.c file). > > Now > > 1) Recompile ng_ubt(4) module > 2) Turn off your Bluetooth device > 3) unload ng_ubt(4) (and ugen(4) if you loaded it by hand) > 4) load *new* ng_ubt(4) driver > 5) Press the Bluetooth button to activate device > > If everything is working then you should get the messages from the > ng_ubt(4) driver. > > > I am presuming pressing the bluetooth button is like adding a bluetooth > > USB device but I am lacking in actual real knowledge here. Their > > right, i think it more like plugging a new USB device. > > > documentation has things like "Power on the BDC by pressing Bluetooth power > > switch if the Bluetooth LED is off." (BDC = Bluetooth Daughter Card). > > When I press the button the LED does not come on. If I press and > > hold the button the LED will eventually flash once and then I get the > > "uhub2: device problem, disabling port 1" message on the console yet again. > > Well, it seem like when LED is on then the device is plugged, but you > still getting the "device problem, disabling port 1" message and that > means USB stack/hub *did not* attach/activate the device and hence no > driver was attached to it. > > You *must* get the device to attach, otherwise you can not use the > driver. For now just try to make ugen(4) attach to the device. Once > you get the ugen(4) to recognize the device then you should move to > ng_ubt(4). > > > In searching IBM's documentation I found that they have updated firmware > > for the BDC, but you have to be running windows to install it. :/ > > > > Kernel source was sup'd Monday evening, US Pacific time. Bluetooth > > bundle is ngbt-fbsd-20030305.tar.gz. > > It all does not matter at this point. Again USB *did not* attach (and > activate) the device. The firmware inside the card and other stuff does > not event come into play. The simple fact that you have plugged device > into hub does not indicate that device is working. > > > I went ahead and tried to run rc.bluetooth start ubt0 in debug mode > > and got pretty much what you'd expect when the device isn't there: > > [...] > > > + setup_stack ubt0 hook > > + dev=ubt0 > > + shift > > + hook=hook > > + shift > > + /usr/sbin/ngctl mkpeer ubt0: hci hook drv > > ngctl: send msg: No such file or directory > > + exit 1 > > No device - no driver - no "ubt0" Netgraph node - no Bluetooth :( Sorry > > In fact, just activate the Bluetooth device (LED on) and run > > # usbdev -v -d > > If device *was* activated you *must* see it, otherwise you will only > see USB hubs (and possibly other devices that have been attached). > > thanks, > max > nomad ----------- - Lee "nomad" Damon - \ play: nomad@castle.org or castle!nomad \ work: nomad@ee.washington.edu \ /\ Seneschal, Castle PAUS. / \ "Celebrate Diversity" / \