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: wireless@FreeBSD.org Reporter: pa...@paige.bio - 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.