[Bug 297257] usr.sbin/bluetooth/iwmbtfw: libusb_interrupt_transfer timeout (err=-7) during HCI reset on Intel Wireless 7260/3160

[email protected] Tue, 04 Aug 2026 05:30:51 +0000
Newsgroups gmane.os.freebsd.bugs
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D297257

            Bug ID: 297257
           Summary: usr.sbin/bluetooth/iwmbtfw: libusb_interrupt_transfer
                    timeout (err=3D-7) during HCI reset on Intel Wireless
                    7260/3160
           Product: Base System
           Version: 15.1-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: [email protected]
          Reporter: [email protected]

Created attachment 273429
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D273429&action=
=3Dedit
usbconfig -d ugen0.2 dump_device_desc

The iwmbtfw(8) utility fails to initialize Intel Wireless 7260 Bluetooth
controller on FreeBSD 15.0-CURRENT. During the identification phase,
iwmbt_bt_reset() fails due to a USB interrupt transfer timeout
(libusb_interrupt_transfer error -7).

[Hardware]
Device: Intel Wireless 7260 / 3160 Bluetooth adapter
PCI/USB Node: ugen0.2 (Intel Corp. Bluetooth wireless interface)

[Environment]
OS: FreeBSD 15.0-CURRENT
Utility: /usr/src/usr.sbin/bluetooth/iwmbtfw

[Steps to Reproduce]
1. Run iwmbtfw in debug mode:
   # iwmbtfw -D -I -d ugen0.2

[Expected Behavior]
The device undergoes HCI reset, firmware is downloaded and loaded into the
controller.

[Actual Behavior]
HCI reset times out while communicating via libusb:

main: opening dev 0.2
iwmbt_is_supported: found iwmbtfw compatible
iwmbtfw: iwmbt_hci_command: libusb_interrupt_transfer() failed: err=3DTimeo=
ut
iwmbt_bt_reset: HCI reset command failed: code=3D-7
iwmbt_identify: iwmbt_bt_reset() failed!
iwmbtfw: main: Failed to identify device
iwmbtfw: main: Firmware download failed!

[Additional Notes & Troubleshooting Attempted]
- Increasing IWMBT_HCI_CMD_TIMEOUT from 1000ms to 5000ms in iwmbt_hw.h does=
 not
resolve the issue.
- Adding a delay (e.g. sleep(2)) before iwmbt_bt_reset() in main.c inside t=
he
`if (device =3D=3D IWMBT_DEVICE_7260)` block still results in libusb timeou=
t (code
-7 / LIBUSB_ERROR_TIMEOUT).

--=20
You are receiving this mail because:
You are the assignee for the bug.=