Summary: | Bluetooth L2CAP socket should not use automatically flushable PDUs (on LE at least) | ||
---|---|---|---|
Product: | Base System | Reporter: | Val Packett <val> |
Component: | kern | Assignee: | freebsd-wireless (Nobody) <wireless> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | emaste, emax, takawata |
Priority: | --- | ||
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any | ||
See Also: | https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248015 |
Description
Val Packett
2020-07-16 18:50:36 UTC
(In reply to Greg V from comment #0) Thank You! My long unresolved problem is resolved! Now Bluetooth LE connection work with my Intel Wifi bluetooth interface. https://reviews.freebsd.org/D25704 (In reply to Takanori Watanabe from comment #1) huh, which controllers *did* work with the wrong bit? The USB dongles I have — all 0a12:0001, but two are recognized as "CSR8510" (and don't support random addresses), while another newer one (marked "v5.0", supports random addresses but doesn't like the set encryption command for some reason) is "USB1.1-A" — needed this fix.. (In reply to Greg V from comment #2) It worked with Nanosira M2272 CSR8510 dongle. Newer firmware may evaluate it. A commit references this bug: Author: takawata Date: Fri Jul 17 15:50:04 UTC 2020 New revision: 363276 URL: https://svnweb.freebsd.org/changeset/base/363276 Log: Fix L2CAP ACL packet PB(Packet Boundary) flag for LE PDU. ACL packet boundary flag should be 0 instead of 2 for LE PDU. Some HCI will drop LE packet with PB flag is 2, and if sent, some target may reject the packet. PR: 248024 Reported by: Greg V Reviewed by: Greg V, emax Differential Revision: https://reviews.freebsd.org/D25704 Changes: head/sys/netgraph/bluetooth/include/ng_hci.h head/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c |