I have an amlogic s905x2 based board (a95x max v81 board) equipped with mt7668rsn sdio wifi/bt module. btmtksdio kernels driver claim to support mt7668 sdio bluetooth, and trying to start automatically, but it fails as __hci_cmd_send() call produces non 32bit aligned transfer, which seems to be rejected by meson-gx-mmc in meson_mmc_validate_dram_access(). There are modified driver from android https://coral.googlesource.com/mt7668-bluetooth-mod (require mt7668 FW from android) with some trivial changes in btmtk_sdio.c (file_operations to proc_ops replacement and removing unused timeval var) it can be compiled with a recent kernel (tested with 6.1.13), but it fails to start at 0x2031 command. By modifying hci_le_set_default_phy_sync (in linux/net/bluetooth/hci_sync.c) to only return 0 (function do nothing now), makes it work, at least with a2dp headphones. Looking at drivers code, it seems to me that both intended to work with different chips, as the wmt header format is completely different. So questions: 1. Are there different mt7668 bluetooth sdio chips with same id, or btmtksdio claims support for mt7668 by mistake? or, hopehely, I am wrong here and btmtksdio should work with mt7668rsn after fixing alignment issues? 2. Is there an easy way from the bluetooth driver to tell the host to not send the 0x2031 command? (to not breaking other drivers for mt7668-bluetooth-mod)