Date: Thu, 18 Nov 2004 04:30:27 +0000 From: "Hugo D. Valentim" <hvalentim@gmx.net> To: freebsd-bluetooth@freebsd.org Subject: TECOM BT3033A. Problem Solved! Message-ID: <200411180430.27711.hvalentim@gmx.net>
next in thread | raw e-mail | index | archive | help
Recapitulating the problem and the solution, for future reference. THE PROBLEM: I first complained because when I plugged my bluetooth dongle (wishing to connect to a mobile phone) the OS assumed it to be a usb/bluetooth keyboard; created a /dev/uskbo and assigned it to be the console keyboard, thus leaving me with no way to type. THE HARDWARE: I am using a TECOM BT3033A dongle with a Compaq Presario 1215EA (it has two USB plugs, the first has the dongle, the second a USB a4Tech mouse - but the mouse part is relevant for the issue). The mobile phone is a SonyEricsson K700i. I am running FBSD 5.3-release. <http://www.tecomproduct.com/bt3033a.htm> THE SOLUTION: A - Following Maksim's suggestion, I commented out the following lines from /etc/dev.conf # When a USB keyboard arrives, attach it as the console keyboard # attach 100 { # device-name "ukbd0"; # action "test -c /dev/kbd1 && kbdcontrol -k /dev/kbd1 < /dev/console"; # }; # detach 100 { # device-name "ukbd0"; # action "kbdcontrol -k /dev/kbd0 < /dev/console"; # }; B - Now, with ng_ubt_load="YES" in /boot/load.conf I get at startup the info bellow (the following devs are created: ukbd0, kb1, ums0, ums1. ukbd0, kb1 and ums1 dissapear as soon as I type «/etc/rc.bluetooth start ubt0». As far as I can understand this means a bluetooth mouse and or bluetooth keyboard could work if I had them); since the ukbd0 is no longer automatically assigned as console keyboard (step A) my problem dissapeared: Nov 18 01:55:35 kernel: uhci0: <VIA 83C572 USB controller> port 0x1800-0x181f irq 5 at device 7.2 on pci0 Nov 18 01:55:35 kernel: uhci0: [GIANT-LOCKED] Nov 18 01:55:35 kernel: usb0: <VIA 83C572 USB controller> on uhci0 Nov 18 01:55:35 kernel: usb0: USB revision 1.0 Nov 18 01:55:35 kernel: uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 Nov 18 01:55:35 kernel: uhub0: 2 ports with 2 removable, self powered Nov 18 01:55:35 kernel: ums0: A4Tech USB Optical Mouse, rev 1.10/0.01, addr 2, iclass 3/1 Nov 18 01:55:35 kernel: ums0: 7 buttons and Z dir. Nov 18 01:55:35 kernel: uhub1: Broadcom product 0x3535, class 9/0, rev 2.00/1.00, addr 3 Nov 18 01:55:35 kernel: uhub1: 3 ports with 0 removable, bus powered Nov 18 01:55:35 kernel: ubt0: Broadcom Corp Bluetooth Transceiver, rev 1.10/1.00, addr 4 Nov 18 01:55:35 kernel: ubt0: Broadcom Corp Bluetooth Transceiver, rev 1.10/1.00, addr 4 Nov 18 01:55:35 kernel: ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 Nov 18 01:55:35 kernel: ubt0: Interface 1 (alt.config 4) endpoints: isoc-in=0x83, isoc-out=0x3; wMaxPacketSize=64; nframes=5, buffer size=320 Nov 18 01:55:35 kernel: ukbd0: Broadcom product 0x0099, rev 1.10/1.00, addr 5, iclass 3/1 Nov 18 01:55:35 kernel: kbd1 at ukbd0 Nov 18 01:55:35 kernel: ums1: Broadcom product 0x0097, rev 1.10/1.00, addr 6, iclass 3/1 Nov 18 01:55:35 kernel: ums1: 3 buttons C - usbdevs -v -d shows: Controller /dev/usb0: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), VIA(0x0000),rev 1.00 uhub0 port 1 addr 2: low speed, power 100 mA, config 1, USB Optical Mouse(0x0006), A4Tech(0x09da), rev 0.01 ums0 port 2 addr 3: full speed, power 100 mA, config 1, product 0x3535(0x3535), Broadcom(0x0a5c), rev 1.00 uhub1 port 1 addr 4: full speed, self powered, config 1, Bluetooth Transceiver(0x200a), Broadcom Corp(0x0a5c), rev 1.00 ubt0 port 2 addr 5: full speed, self powered, config 1, product 0x0099(0x0099), Broadcom(0x0a5c), rev 1.00 ukbd0 port 3 addr 6: full speed, self powered, config 1, product 0x0097(0x0097), Broadcom(0x0a5c), rev 1.00 ums1 AFTER «/etc/rc.bluetooth start ubt0» that TURNS INTO: Controller /dev/usb0: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), VIA(0x0000),rev 1.00 uhub0 port 1 addr 2: low speed, power 100 mA, config 1, USB Optical Mouse(0x0006), A4Tech(0x09da), rev 0.01 ums0 port 2 addr 3: full speed, power 100 mA, config 1, product 0x3535(0x3535), Broadcom(0x0a5c), rev 1.00 uhub1 port 1 addr 4: full speed, self powered, config 1, Bluetooth Transceiver(0x200a), Broadcom Corp(0x0a5c), rev 1.00 ubt0 port 2 powered port 3 powered ********************************* Just for the sake of argument and because eventually it might be helpful to someone, this is what I did next following the instructions found here: <http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-bluetooth.html> and here: <http://www.oook.cz/bsd/bluetooth.html> ********************************* D - Started the stack and found my dongle address to be 00:03:c9:34:d1:f5: # /etc/rc.bluetooth start ubt0 BD_ADDR: 00:03:c9:34:d1:f5 Features: 0xff 0xff 0xd 0x38 0x8 0x8 00 00 <3-Slot> <5-Slot> <Encryption> <Slot offset> <Timing accuracy> <Switch> <Hold mode> <Sniff mode> <Park mode> <RSSI> <Channel quality> <SCO link> <HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD> <Power control> <Transparent SCO data> Max. ACL packet size: 377 bytes Number of ACL packets: 10 Max. SCO packet size: 16 bytes Number of SCO packets: 0 E - With bluetooth on on the mobile, set to be in «receptive mode», I found the mobile phone address to be 00:0e:07:e4:55:f7: # hccontrol -n ubt0hci inquiry Inquiry result, num_responses=1 Inquiry result #0 BD_ADDR: 00:0e:07:e4:55:f7 Page Scan Rep. Mode: 0x1 Page Scan Period Mode: 00 Page Scan Mode: 00 Class: 52:02:04 Clock offset: 0x4756 Inquiry complete. Status: No error [00] F - Checked that the PC was able to get the name the phone was reporting # hccontrol -n ubt0hci remote_name_request 00:0e:07:e4:55:f7 BD_ADDR: 00:0e:07:e4:55:f7 Name: K700i G - Checked that the PC was able to connect to the mobile # hccontrol -n ubt0hci create_connection 00:0e:07:e4:55:f7 BD_ADDR: 00:0e:07:e4:55:f7 Connection handle: 6 Encryption mode: Disabled [0] H - Checked that the connection was properly listed # hccontrol -n ubt0hci read_connection_list Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State 00:0e:07:e4:55:f7 6 ACL 0 MAST NONE 0 0 OPEN I - Tested the quality of the connection # hccontrol -n ubt0hci get_link_quality 6 Connection handle: 6 Link quality: 255 F - Checked the PC was able to terminate the connection # hccontrol -n ubt0hci disconnect 6 Connection handle: 6 Reason: Connection terminated by local host [0x16] G - Pinged the phone just for the sake of it. # l2ping -a 00:0e:07:e4:55:f7 0 bytes from 00:0e:07:e4:55:f7 seq_no=0 time=30164.356 ms result=0x22 0 bytes from 00:0e:07:e4:55:f7 seq_no=1 time=5142.148 ms result=0x4 0 bytes from 00:0e:07:e4:55:f7 seq_no=2 time=2678.448 ms result=0 0 bytes from 00:0e:07:e4:55:f7 seq_no=3 time=23.042 ms result=0 0 bytes from 00:0e:07:e4:55:f7 seq_no=4 time=21.016 ms result=0 0 bytes from 00:0e:07:e4:55:f7 seq_no=5 time=19.766 ms result=0 0 bytes from 00:0e:07:e4:55:f7 seq_no=6 time=27.627 ms result=0 0 bytes from 00:0e:07:e4:55:f7 seq_no=7 time=27.354 ms result=0 0 bytes from 00:0e:07:e4:55:f7 seq_no=8 time=21.189 ms result=0 0 bytes from 00:0e:07:e4:55:f7 seq_no=9 time=20.949 ms result=0 0 bytes from 00:0e:07:e4:55:f7 seq_no=10 time=19.870 ms result=0 H - I then made sure the addresses were translated to easier to use names by editing: /etc/bluetooth/hosts 00:03:c9:34:d1:f5 PCNAME # Localhost 00:0e:07:e4:55:f7 K700i # K700i I - And made sure hcsecd would know about the phone /etc/bluetooth/hcsecd.conf device { bdaddr 00:0e:07:e4:55:f7; name "K700i"; key nokey; pin "1234"; } J - Started hcsecd with «verbose» mode in console # hcsecd -d K - I then paired the devices (from phone). The following info showed up: hcsecd[1406]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 00:0e:07:e4:55:f7 hcsecd[1406]: Found matching entry, remote bdaddr 00:0e:07:e4:55:f7, name 'K700i', PIN code exists hcsecd[1406]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 00:0e:07:e4:55:f7 hcsecd[1406]: Got Link_Key_Notification event from 'ubt0hci', remote bdaddr 00:0e:07:e4:55:f7 hcsecd[1406]: Updating link key for the entry, remote bdaddr 00:0e:07:e4:55:f7,name 'K700i', link key exists I - The phone shows the PC reporting Push Object support. J - Finaly I checked the services available in the phone from the PC: # sdpcontrol -a K700i browse Record Handle: 0x00010000 Service Class ID List: Dial-Up Networking (0x1103) Generic Networking (0x1201) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 1 Bluetooth Profile Descriptor List: Dial-Up Networking (0x1103) ver. 1.0 Record Handle: 0x00010002 Service Class ID List: Headset Audio Gateway (0x1112) Generic Audio (0x1203) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 4 Bluetooth Profile Descriptor List: Headset (0x1108) ver. 1.0 Record Handle: 0x00010003 Service Class ID List: Serial Port (0x1101) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 2 Record Handle: 0x00010004 Service Class ID List: Serial Port (0x1101) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 3 Record Handle: 0x00010005 Service Class ID List: OBEX Object Push (0x1105) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 6 OBEX (0x0008) Bluetooth Profile Descriptor List: OBEX Object Push (0x1105) ver. 1.0 Record Handle: 0x00010006 Service Class ID List: IrMC Sync (0x1104) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 8 OBEX (0x0008) Bluetooth Profile Descriptor List: IrMC Sync (0x1104) ver. 1.0 Record Handle: 0x0001000a Service Class ID List: Imaging Responder (0x111b) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 9 OBEX (0x0008) Bluetooth Profile Descriptor List: Imaging (0x111a) ver. 1.0 Record Handle: 0x0001000d Service Class ID List: OBEX File Transfer (0x1106) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 7 OBEX (0x0008) Bluetooth Profile Descriptor List: OBEX File Transfer (0x1106) ver. 1.0 Record Handle: 0x0001000e Service Class ID List: Handsfree Audio Gateway (0x111f) Generic Audio (0x1203) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 5 Bluetooth Profile Descriptor List: Handsfree (0x111e) ver. 1.1 Record Handle: 0x00010018 Service Class ID List: 0xee000058-0002-8000-1000-000000000002 Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 15 OBEX (0x0008) Record Handle: 0x0001001b Service Class ID List: PNP Information (0x1200) Record Handle: 0x0001001c Service Class ID List: Human Interface Device (0x1124) Protocol Descriptor List: L2CAP (0x0100) Protocol specific parameter #1: u/int/uuid16 17 HIDP (0x0011) Bluetooth Profile Descriptor List: Human Interface Device (0x1124) ver. 1.0 I have yet to try the rest of the stuff. ***************************************************************** EXTRA INFO (shown at boot time with different scenarios): ***************************************************************** I - With NO ng_ubt_load="YES" in /boot/load.conf and with USB mouse plugged in: Nov 18 00:52:56 kernel: uhci0: <VIA 83C572 USB controller> port 0x1800-0x181f irq 5 at device 7.2 on pci0 Nov 18 00:52:56 kernel: uhci0: [GIANT-LOCKED] Nov 18 00:52:56 kernel: usb0: <VIA 83C572 USB controller> on uhci0 Nov 18 00:52:56 kernel: usb0: USB revision 1.0 Nov 18 00:52:56 kernel: uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 Nov 18 00:52:56 kernel: uhub0: 2 ports with 2 removable, self powered Nov 18 00:52:56 kernel: ums0: A4Tech USB Optical Mouse, rev 1.10/0.01, addr 2, iclass 3/1 Nov 18 00:52:56 kernel: ums0: 7 buttons and Z dir. Nov 18 00:52:56 kernel: uhub1: Broadcom product 0x3535, class 9/0, rev 2.00/1.00, addr 3 Nov 18 00:52:56 kernel: uhub1: 3 ports with 0 removable, bus powered Nov 18 00:52:56 kernel: ugen0: Broadcom Corp Bluetooth Transceiver, rev 1.10/1.00, addr 4 Nov 18 00:52:56 kernel: ukbd0: Broadcom product 0x0099, rev 1.10/1.00, addr 5, iclass 3/1 Nov 18 00:52:56 kernel: kbd1 at ukbd0 Nov 18 00:52:56 kernel: ums1: Broadcom product 0x0097, rev 1.10/1.00, addr 6, iclass 3/1 Nov 18 00:52:56 kernel: ums1: 3 buttons II - With NO ng_ubt_load="YES" in /boot/load.conf and no USB mouse plugged in Nov 18 01:09:31 kernel: uhci0: <VIA 83C572 USB controller> port 0x1800-0x181f irq 5 at device 7.2 on pci0 Nov 18 01:09:31 kernel: uhci0: [GIANT-LOCKED] Nov 18 01:09:31 kernel: usb0: <VIA 83C572 USB controller> on uhci0 Nov 18 01:09:31 kernel: usb0: USB revision 1.0 Nov 18 01:09:31 kernel: uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 Nov 18 01:09:31 kernel: uhub0: 2 ports with 2 removable, self powered Nov 18 01:09:31 kernel: uhub1: Broadcom product 0x3535, class 9/0, rev 2.00/1.00, addr 2 Nov 18 01:09:31 kernel: uhub1: 3 ports with 0 removable, bus powered Nov 18 01:09:31 kernel: ugen0: Broadcom Corp Bluetooth Transceiver, rev 1.10/1.00, addr 3 Nov 18 01:09:31 kernel: ukbd0: Broadcom product 0x0099, rev 1.10/1.00, addr 4, iclass 3/1 Nov 18 01:09:31 kernel: kbd1 at ukbd0 Nov 18 01:09:31 kernel: ums0: Broadcom product 0x0097, rev 1.10/1.00, addr 5, iclass 3/1 com product 0x3535, class 9/0, rev 2.00/1.00, addr 2 Nov 18 01:09:31 kernel: uhub1: 3 ports with 0 removable, bus powered Nov 18 01:09:31 kernel: ugen0: Broadcom Corp Bluetooth Transceiver, rev 1.10/1.00, addr 3 Nov 18 01:09:31 kernel: ukbd0: Broadcom product 0x0099, rev 1.10/1.00, addr 4, iclass 3/1 Nov 18 01:09:31 kernel: kbd1 at ukbd0 Nov 18 01:09:31 kernel: ums0: Broadcom product 0x0097, rev 1.10/1.00, addr 5, iclass 3/1 Nov 18 01:09:31 kernel: ums0: 3 buttons III - WITH ng_ubt_load="YES" in /boot/load.conf and NO USB mouse Nov 18 01:16:19 kernel: uhci0: <VIA 83C572 USB controller> port 0x1800-0x181f irq 5 at device 7.2 on pci0 Nov 18 01:16:19 kernel: uhci0: [GIANT-LOCKED] Nov 18 01:16:19 kernel: usb0: <VIA 83C572 USB controller> on uhci0 Nov 18 01:16:19 kernel: usb0: USB revision 1.0 Nov 18 01:16:19 kernel: uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 Nov 18 01:16:19 kernel: uhub0: 2 ports with 2 removable, self powered Nov 18 01:16:19 kernel: uhub1: Broadcom product 0x3535, class 9/0, rev 2.00/1.00, addr 2 Nov 18 01:16:19 kernel: uhub1: 3 ports with 0 removable, bus powered Nov 18 01:16:19 kernel: ubt0: Broadcom Corp Bluetooth Transceiver, rev 1.10/1.00, addr 3 Nov 18 01:16:19 kernel: ubt0: Broadcom Corp Bluetooth Transceiver, rev 1.10/1.00, addr 3 Nov 18 01:16:19 kernel: ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 Nov 18 01:16:19 kernel: ubt0: Interface 1 (alt.config 4) endpoints: isoc-in=0x83, isoc-out=0x3; wMaxPacketSize=64; nframes=5, buffer size=320 Nov 18 01:16:19 kernel: ukbd0: Broadcom product 0x0099, rev 1.10/1.00, addr 4, iclass 3/1 Nov 18 01:16:19 kernel: kbd1 at ukbd0 Nov 18 01:16:19 kernel: ums0: Broadcom product 0x0097, rev 1.10/1.00, addr 5, iclass 3/1 Nov 18 01:16:19 kernel: ums0: 3 buttons
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200411180430.27711.hvalentim>
