Hello,
I submitted this last week via email during the upgrade, so reposting here just in case. Am working with an Apalis iMX8QP 2GB WB V1.1B SOM, and I’m building an image via Yocto using the tdx-xwayland distro off the 5.3.0-devel-202106 tag in the toradex-manifests repo.
When I boot the SOM, the onboard wifi comes up just fine and I am able to connect to a network no problem. However, periodically, the wifi driver appears to jettison itself and has to be re-downloaded onto the card. Here are the kernel messages it spits out when that happens:
[168814.437745] mwifiex_pcie 0000:01:00.0: mwifiex_cmd_timeout_func: Timeout cmd id = 0x107, act = 0x0
[168814.446822] mwifiex_pcie 0000:01:00.0: num_data_h2c_failure = 0
[168814.452850] mwifiex_pcie 0000:01:00.0: num_cmd_h2c_failure = 0
[168814.458783] mwifiex_pcie 0000:01:00.0: is_cmd_timedout = 1
[168814.464368] mwifiex_pcie 0000:01:00.0: num_tx_timeout = 0
[168814.469868] mwifiex_pcie 0000:01:00.0: last_cmd_index = 3
[168814.475366] mwifiex_pcie 0000:01:00.0: last_cmd_id: 07 01 07 01 07 01 07 01 07 01
[168814.482952] mwifiex_pcie 0000:01:00.0: last_cmd_act: 00 00 00 00 00 00 00 00 00 00
[168814.490633] mwifiex_pcie 0000:01:00.0: last_cmd_resp_index = 4
[168814.496574] mwifiex_pcie 0000:01:00.0: last_cmd_resp_id: 07 81 07 81 07 81 07 81 07 81
[168814.504592] mwifiex_pcie 0000:01:00.0: last_event_index = 4
[168814.510266] mwifiex_pcie 0000:01:00.0: last_event: 0b 00 0a 00 0b 00 0b 00 0a 00
[168814.517762] mwifiex_pcie 0000:01:00.0: data_sent=1 cmd_sent=1
[168814.523608] mwifiex_pcie 0000:01:00.0: ps_mode=1 ps_state=0
[168814.530956] mwifiex_pcie 0000:01:00.0: ===mwifiex driverinfo dump start===
[168814.538020] mwifiex_pcie 0000:01:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (16.68.1.p195)
[168814.546585] mwifiex_pcie 0000:01:00.0: PCIE register dump start
[168814.552614] mwifiex_pcie 0000:01:00.0: pcie scratch register:
[168814.558478] mwifiex_pcie 0000:01:00.0: reg:0xcf0, value=0xfedcba00
[168814.558478] reg:0xcf8, value=0xfb0081
[168814.558478] reg:0xcfc, value=0x1959500
[168814.558478]
[168814.573892] mwifiex_pcie 0000:01:00.0: PCIE register dump end
[168814.579834] mwifiex_pcie 0000:01:00.0: ===mwifiex driverinfo dump end===
[168814.586656] mwifiex_pcie 0000:01:00.0: == mwifiex firmware dump start ==
[168853.431802] mwifiex_pcie 0000:01:00.0: == mwifiex firmware dump end ==
[168853.440374] mwifiex_pcie 0000:01:00.0: == mwifiex dump information to /sys/class/devcoredump start
[168853.449614] mwifiex_pcie 0000:01:00.0: == mwifiex dump information to /sys/class/devcoredump end
[168853.458550] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[168853.464971] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[168853.465041] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[168853.471490] mwifiex_pcie 0000:01:00.0: info: shutdown mwifiex…
[168853.477754] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[168853.484065] mwifiex_pcie 0000:01:00.0: rx_pending=0, tx_pending=2, cmd_pending=0
[168853.489915] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[168853.503535] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[168853.509564] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[168853.515696] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[168853.521721] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[168853.527838] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[168853.533866] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[168853.539982] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[168853.546002] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[168853.552118] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[168853.563001] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[168853.569152] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[168853.575523] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[168853.625615] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[168853.968935] mwifiex_pcie 0000:01:00.0: info: dnld wifi firmware from 177740 bytes
[168856.076626] mwifiex_pcie 0000:01:00.0: info: FW download over, size 634228 bytes
[168856.837065] mwifiex_pcie 0000:01:00.0: WLAN FW is active
[168856.882217] mwifiex_pcie 0000:01:00.0: Unknown api_id: 3
[168856.887670] mwifiex_pcie 0000:01:00.0: Unknown api_id: 4
[168856.893119] mwifiex_pcie 0000:01:00.0: Unknown GET_HW_SPEC TLV type: 0x217
[168856.916107] mwifiex_pcie 0000:01:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (16.68.1.p195)
[168856.924410] mwifiex_pcie 0000:01:00.0: driver_version = mwifiex 1.0 (16.68.1.p195)
In this case, it appears the driver was successfully downloaded, but that is not always the case. I have encountered incidents when the driver will “randomly” jettison, and it will not successfully download, and the wifi then reads as being in a bad state. The only solution at that point that I’ve found is to do a power cycle.
Obviously, this kicks the SOM off the network, which can’t happen for our application, and I’m not sure why this happens or how to prevent it from doing so. Any support / fixes are appreciated. Thanks!
v/r
grh