thanks, i put the file to /lib/firmware, but still get the error
dmesg | grep hci0
[ 4.888999] bluetooth hci0: Direct firmware load for mediatek/mt7622pr2h.bin failed with error -2
[ 4.898991] Bluetooth: hci0: Failed to load firmware file (-2)
[ 5.058857] bluetooth hci0: Direct firmware load for mediatek/mt7622pr2h.bin failed with error -2
[ 5.068074] Bluetooth: hci0: Failed to load firmware file (-2)
[email protected]:~# ls /lib/firmware/
ap6210 ap6212 brcm mt7622pr2h.bin
[email protected]:~# bluetoothctl
[bluetooth]# power on
No default controller available
where does the driver look for the firmware? i have used kernel-documentation: https://www.kernel.org/doc/html/latest/driver-api/firmware/fw_search_path.html
oh i see that a subfolder mediatek is used…so i put it there…and after reboot i got this:
[email protected]:~# ls /lib/firmware/mediatek
mt7622pr2h.bin
[email protected]:~# dmesg | grep hci0
[ 14.819610] Bluetooth: hci0: Execution of wmt command timed out
[ 14.819672] Bluetooth: hci0: Failed to send wmt patch dwnld (-110)
first message seem to come from here: https://github.com/frank-w/BPI-R2-4.14/blob/4.19-r64-main/drivers/bluetooth/btmtkuart.c#L122
second from here: https://github.com/frank-w/BPI-R2-4.14/blob/4.19-r64-main/drivers/bluetooth/btmtkuart.c#L168
so mtk_setup_fw calls
mtk_hci_wmt_sync(hdev, MTK_WMT_PATCH_DWNLD, flag, dlen, fw_ptr);
and this calls
wait_on_bit_timeout(&bdev->tx_state, BTMTKUART_TX_WAIT_VND_EVT, TASK_INTERRUPTIBLE, HCI_INIT_TIMEOUT);
which failed with timeout, did i miss anything (btif should be enabled cause of removed disabled-line)
btif: [email protected] {
so i looked here:
[email protected]:~# cat /sys/firmware/devicetree/base/[email protected]/status
okay
[email protected]:~# cat /sys/firmware/devicetree/base/[email protected]/bluetooth/status
okay
any idea about gpio? official site makes same calculation but with gpio22 which does not exist on 40pin-header (depending on shematic above)