https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288144
Bug ID: 288144
Summary: ubt_attach seems to succeed, interfaces/endpoints look
ok, bluetooth service fails to start for ubt0 (reason
unknown)
Product: Base System
Version: 14.3-RELEASE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: wireless
Assignee: [email protected]
Reporter: [email protected]
- boot_verbose=YES doesn't reveal any more information about it
initialization:
ugen0.4: <Zephyr Project Zephyr USBD BT HCI> at usbus0
ubt0 on uhub0
ubt0: <Zephyr Project Zephyr USBD BT HCI, class 0/0, rev 2.00/4.01, addr 7> on
usbus0
As per the requirements indicated in ng_ubt.c interface 0 has 3 endpoints:
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0003
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0010
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0082 <IN>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 2
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0001 <OUT>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
and interface 1 has two endpoints:
Interface 1
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0088 <IN>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0000
bInterval = 0x0003
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0008 <OUT>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0000
bInterval = 0x0003
bRefresh = 0x0000
bSynchAddress = 0x0000
Additionally interface 1 has the expected alt endpoints
Interface 1 Alt 1
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0001
bNumEndpoints = 0x0002
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0088 <IN>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0009
bInterval = 0x0003
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0008 <OUT>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0009
bInterval = 0x0003
bRefresh = 0x0000
bSynchAddress = 0x0000
So it all checks out, and as near as I can tell it should work but I don't
really know what it's doing after ubt_attach succeeds, I presume it's sending a
CMD to the device and trying to read back a response and I suspect that may be
where it's failing but unfortunately even with boot_verbose I can't ascertain
if that's what is actually happening.
This is a known working device; I can 100% use this device with bluez on Linux.
The device is an nrf 52840 with the hci_usb sample application programmed
(configured for Zephyr's USB-Next.) Initially I tried to use the hci_uart
application, which also works just fine on Linux with btattach or hciattach,
however the tools for attaching to a UART-based bluetooth HCI seem to also be
missing without a trace--but the handbook does allude to their existence--the
only manpage for what I recall was the correct tool seemed to disappear after
like FreeBSD 10 or something. Unfortunate, I imagine this would be alot easier
for me if I could just do UART (getting USB-Next wasn't exactly straight
forward for Zephyr but I did it and the device DOES work on Linux.)
--
You are receiving this mail because:
You are the assignee for the bug.