I have IW612 (M2-MAYA-W271) on Verdin iMX95 EVK. It is L6.12.3-1.0.0 image installed. Wifi works when moal driver and combo firmware are loaded.
modprobe moal mod_para=nxp/wifi_mod_para.conf
cat /lib/firmware/nxp/wifi_mod_para.conf
SDIW612 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
fw_name=nxp/sduart_nw61x_v1.bin.se
}
However, BT firmware don't seem to response.
modprobe btnxpuart
hciconfig hci0 up
[ 147.824667] Bluetooth: hci0: Setting baudrate failed (-110)
[ 149.840797] Bluetooth: hci0: Setting wake-up method failed (-110)
[ 151.856817] Bluetooth: hci0: Setting Power Save mode failed (-110)
[ 152.880918] Bluetooth: hci0: FW already running.
[ 154.928780] Bluetooth: hci0: Opcode 0x0c03 failed: -110
[ 167.824775] Bluetooth: hci0: Setting baudrate failed (-110)
[ 169.840909] Bluetooth: hci0: Setting wake-up method failed (-110)
[ 171.856888] Bluetooth: hci0: Setting Power Save mode failed (-110)
[ 173.872779] Bluetooth: hci0: Setting baudrate failed (-110)
I tried the combo firmware together with open source HCI UART driver hciattach /dev/ttyLP4 any 115200 flow with no luck.
Do you have any idea how to enable BT? Thanks.
It is 'fw-init-baudrate=3000000 ' by default in device tree.
Dear @Benjamin_Hu ,
Because i.MX95-EVK of NXP version has not released to Mass Market yet, I don't have the schematic on my hand. I checked your wifi module, it is M.2 card, so you should use it on M.2 KEY E connector.
I checked Linux release note of L6.12.3_1.0.0:
===============
Supports the NXP SDIO IW612 (tested with Murata LBES5PL2EL) on i.MX 93 and
i.MX 95 15x15 EVK.
===============
It is Murata 2EL M.2 module. Maybe there exists a little difference between these 2 M.2 modules . You can try like this:
Check if W_DISABLE1 & W_DISABLE2 on M.2 connector are both pulled up to HIGH, if not, pull up them to HIGH, please ! or drive 2 GPIOs connected to these 2 PINs to output HIGH.
[Addition]
You also need to confirm if the default baud rate is 3M with u-blox. My M.2 2EL module's default baud rate is 115200.
Try it, please!
Thanks!
Regards,
weidong
Thanks @weidong_sun
U-blox module baud rate is 115200. I tried both 115200 and 3M in device tree. But it made no difference.
It may have something to do with the unconnected W_DISABLE2 on M.2 connector. There is a level-shifter on the U-blox module, mapping W_DISABLE2 to BT_15.4_RST of IW612. It will reset Bluetooth as well as 802.15.4 radio as long as it is asserted. Since it is unconnected, the host can't reset it.
However, there is also an I2C GPIO expander on the U-Blox modue. One GPIO from expander connects to BT_15.4_RST, too. The host is capable to reset BT and 802.15.4 via the I2C on M.2 connector regardless W_DISABLE2. Unfortunately, the I2C is also unconnected on the M.2 connector, meaning the host can not manipulate the expander. It results in floating W_DISABLE2 and 1.7V on BT_15.4_RST signal.
So is it fine that BT_15.4_RST is always high even during power reset?
Dear @Benjamin_Hu ,
>>So is it fine that BT_15.4_RST is always high even during power reset?
In theory, this mod should work fine.
Because you said," It results in floating W_DISABLE2 and 1.7V on BT_15.4_RST signal".
When power on, the module should have an internal Power On Reset, don't need to control the reset via software.
Regards,
weidong