Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Mar 2003 01:02:35 +0900
From:      miniyan <miniyan@kt.rim.or.jp>
To:        current@freebsd.org
Cc:        Maksim Yevmenkin <myevmenk@exodus.net>
Subject:   bluetooth BW-BH02U reset failure
Message-ID:  <20030313010131.253C.MINIYAN@kt.rim.or.jp>

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

I'm sorry for huge mail.

I heard 5-CURRENT support BlueTooth device.  I tried install 5-CURRENT
and test BlueTooth usb dongle now.  So I have problem in hccontrol with
reset.

At first,  I installed 5-CURRENT on P3 machine and sync with cvsup to
latest.  and  overwrite  2003-03-05 maksim's bluetooth modules.

I tried to use planex(http://www.planex.co.jp/) BW-BH02U BlueTooth USB
dongle.

I plugged BW-BH02U in to FreeBSD without any ko module.  FreeBSD found
that device with ugen0.  following message got with usbdevs -v and udesc_dump.

---dmesg--- as connect
ugen0: Broadcom product 0x2033, rev 1.01/0.a0, addr 2

--usbdevs -v
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
 port 1 addr 2: full speed, power 100 mA, config 1, product 0x2033(0x2033), Broadcom(0x0a5c), rev 0.a0
 port 2 powered

--udesc_dump
Standard Device Descriptor:
  bLength            18
  bDescriptorType    01
  bcdUSB             0101
  bDeviceClass       e0
  bDeviceSubClass    01
  bDeviceProtocol    01
  bMaxPacketSize     64
  idVendor           0a5c
  idProduct          2033
  bcdDevice          00a0
  iManufacturer      0
  iProduct           0
  iSerialNumber      0
  bNumConfigurations 1

Configuration 0:
	Standard Configuration Descriptor:
	  bLength             9
	  bDescriptorType     02
	  wTotalLength        200
	  bNumInterface       3
	  bConfigurationValue 1
	  iConfiguration      0
	  bmAttributes        a0 (remote-wakeup)
	  bMaxPower           50 (100 mA)

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   0
	  bAlternateSetting  0
	  bNumEndpoints      3
	  bInterfaceClass    e0
	  bInterfaceSubClass 01
	  bInterfaceProtocol 01
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 81 (in)
	  bmAttributes     03 (Interruput)
	  wMaxPacketSize   16
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 82 (in)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 02 (out)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   1
	  bAlternateSetting  0
	  bNumEndpoints      2
	  bInterfaceClass    e0
	  bInterfaceSubClass 01
	  bInterfaceProtocol 01
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 83 (in)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   0
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 03 (out)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   0
	  bInterval        1

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   1
	  bAlternateSetting  1
	  bNumEndpoints      2
	  bInterfaceClass    e0
	  bInterfaceSubClass 01
	  bInterfaceProtocol 01
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 83 (in)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   16
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 03 (out)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   16
	  bInterval        1

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   1
	  bAlternateSetting  2
	  bNumEndpoints      2
	  bInterfaceClass    e0
	  bInterfaceSubClass 01
	  bInterfaceProtocol 01
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 83 (in)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   32
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 03 (out)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   32
	  bInterval        1

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   1
	  bAlternateSetting  3
	  bNumEndpoints      2
	  bInterfaceClass    e0
	  bInterfaceSubClass 01
	  bInterfaceProtocol 01
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 83 (in)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   32
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 03 (out)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   32
	  bInterval        1

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   1
	  bAlternateSetting  4
	  bNumEndpoints      2
	  bInterfaceClass    e0
	  bInterfaceSubClass 01
	  bInterfaceProtocol 01
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 83 (in)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 03 (out)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   1
	  bAlternateSetting  5
	  bNumEndpoints      2
	  bInterfaceClass    e0
	  bInterfaceSubClass 01
	  bInterfaceProtocol 01
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 83 (in)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 03 (out)
	  bmAttributes     01 (Isochronous)
	  wMaxPacketSize   64
	  bInterval        1

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   2
	  bAlternateSetting  0
	  bNumEndpoints      2
	  bInterfaceClass    ff
	  bInterfaceSubClass ff
	  bInterfaceProtocol ff
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 84 (in)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   32
	  bInterval        1

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 04 (out)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   32
	  bInterval        1

-- dmesg as disconnect
  ugen0: at uhub0 port 1 (addr 2) disconnected
  ugen0: detached

-
These message asked BW-BH02U is like BroadCom Product 2033.  I think
this device similar D-Link DBW-120M.

After,  I disconnect BW-BH02U and load ng_ubt.ko.  I plugged BW-BH02U
again.  FreeBSD found that module with ubt0.

It looks like work then I try to run rc.bluetooth start ubt0. 
rc.bluetooth is provided maksim's 2003-02-10 version.
Unfortunately,  rc.bluetooth has problem with "hccontrol ubt0hci reset"
command.  This error message is following..

  Could not execute command "reset". Operation timed out

dmesg as follows:
  ng_hci_process_command_timeout: ubt0hci - unable to complete HCI
command OGF=0x3, OCF=0x3. Timeout

ngctl is make many links like following...
+ ls -n
There are 7 total named nodes:
  Name: ngctl3019       Type: socket          ID: 00000021   Num hooks: 0
  Name: ubt0l2cap       Type: l2cap           ID: 00000019   Num hooks: 3
  Name: ubt0hci         Type: hci             ID: 00000015   Num hooks: 3
  Name: btsock_l2c      Type: btsock_l2c      ID: 00000004   Num hooks: 1
  Name: btsock_l2c_raw  Type: btsock_l2c_raw  ID: 00000003   Num hooks: 1
  Name: btsock_hci_raw  Type: btsock_hci_raw  ID: 00000002   Num hooks: 1
  Name: ubt0            Type: ubt             ID: 00000001   Num hooks: 1
+ ls
There are 7 total nodes:
  Name: ngctl3019       Type: socket          ID: 00000021   Num hooks: 0
  Name: ubt0l2cap       Type: l2cap           ID: 00000019   Num hooks: 3
  Name: ubt0hci         Type: hci             ID: 00000015   Num hooks: 3
  Name: btsock_l2c      Type: btsock_l2c      ID: 00000004   Num hooks: 1
  Name: btsock_l2c_raw  Type: btsock_l2c_raw  ID: 00000003   Num hooks: 1
  Name: btsock_hci_raw  Type: btsock_hci_raw  ID: 00000002   Num hooks: 1
  Name: ubt0            Type: ubt             ID: 00000001   Num hooks: 1
+ show -n ubt0:
  Name: ubt0            Type: ubt             ID: 00000001   Num hooks: 1
+ show -n ubt0hci:
  Name: ubt0hci         Type: hci             ID: 00000015   Num hooks: 3
+ 

I don't know this error related from USB, BT or others.  If you have any
ideas,  please give me suggestions.

Thank you,
Takahiko
-- 
miniyan <miniyan@kt.rim.or.jp>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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