On Thu, 08 Dec 2016 11:18:23 +0100, Takashi Iwai wrote: > > Hi Amitkumar, > > On Thu, 08 Dec 2016 06:40:48 +0100, > Amitkumar Karwar wrote: > > > > Hi Takashi, > > > > > From: Takashi Iwai [mailto:tiwai@xxxxxxx] > > > Sent: Friday, December 02, 2016 10:19 PM > > > To: Amitkumar Karwar; Nishant Sarmukadam > > > Cc: linux-wireless@xxxxxxxxxxxxxxx; Oliver Neukum > > > Subject: Non-working mwifiex_sdio with SD8897 > > > > > > Hi, > > > > > > we've got an Intel Cherry Trail-based system with Marvell SD8897 chip > > > over MMC (sdhci), and WiFi / BT always fails at starting (or better to > > > say, it never worked properly). > > > > > > For avoiding the race between WiFi and BT, I blacklisted btmrvl_sdio, > > > so let's concentrate only on mwifiex_sdio now. > > > > > > At the beginning of the driver loading, it looks fine: > > > > > > mwifiex_sdio mmc1:0001:1: info: FW download over, size 802164 bytes > > > mwifiex_sdio mmc1:0001:1: WLAN FW is active mwifiex_sdio mmc1:0001:1: > > > info: MWIFIEX VERSION: mwifiex 1.0 (15.68.7.p77) mwifiex_sdio > > > mmc1:0001:1: driver_version = mwifiex 1.0 (15.68.7.p77) > > > cfg80211: Regulatory domain changed to country: US ..... > > > > > > Then it gets a timeout > > > > > > mwifiex_sdio mmc1:0001:1: mwifiex_cmd_timeout_func: Timeout cmd id = > > > 0x107, act = 0x0 mwifiex_sdio mmc1:0001:1: num_data_h2c_failure = 0 > > > mwifiex_sdio mmc1:0001:1: num_cmd_h2c_failure = 0 mwifiex_sdio > > > mmc1:0001:1: is_cmd_timedout = 1 mwifiex_sdio mmc1:0001:1: > > > num_tx_timeout = 0 mwifiex_sdio mmc1:0001:1: last_cmd_index = 4 > > > mwifiex_sdio mmc1:0001:1: last_cmd_id: 1e 00 0c 01 1e 00 20 00 07 01 > > > mwifiex_sdio mmc1:0001:1: last_cmd_act: 00 00 01 00 00 00 08 00 00 00 > > > mwifiex_sdio mmc1:0001:1: last_cmd_resp_index = 3 mwifiex_sdio > > > mmc1:0001:1: last_cmd_resp_id: 1e 80 0c 81 1e 80 20 80 20 80 > > > mwifiex_sdio mmc1:0001:1: last_event_index = 1 mwifiex_sdio > > > mmc1:0001:1: last_event: 00 00 0b 00 00 00 00 00 00 00 mwifiex_sdio > > > mmc1:0001:1: data_sent=0 cmd_sent=0 mwifiex_sdio mmc1:0001:1: > > > ps_mode=1 ps_state=1 mwifiex_sdio mmc1:0001:1: ===mwifiex driverinfo > > > dump start=== mwifiex_sdio mmc1:0001:1: info: MWIFIEX VERSION: mwifiex > > > 1.0 (15.68.7.p77) mwifiex_sdio mmc1:0001:1: SDIO register dump start > > > mwifiex_sdio mmc1:0001:1: SDIO Func0 (0x0-0x9): 43 03 02 02 03 02 00 02 > > > 03 00 mwifiex_sdio mmc1:0001:1: SDIO Func1 (0x0-0xb): 02 ff c3 40 00 > > > 00 00 00 ff ff ff ff mwifiex_sdio mmc1:0001:1: SDIO Func1: (0x4c) 00 > > > (0x50) 08 (0x54) 07 (0x55) 0c (0x58) 10 (0x59) 00 (0x5c) 00 (0x5d) 00 > > > mwifiex_sdio mmc1:0001:1: SDIO Func1 (0xc0-0xca): dc fe 6c 00 10 00 3f > > > 36 36 02 20 mwifiex_sdio mmc1:0001:1: SDIO Func1 (0xc0-0xca): dc fe 76 > > > 00 1a 00 3f 36 36 02 20 mwifiex_sdio mmc1:0001:1: SDIO register dump > > > end mwifiex_sdio mmc1:0001:1: ===mwifiex driverinfo dump end=== > > > mwifiex_sdio mmc1:0001:1: == mwifiex firmware dump start == > > > mwifiex_sdio mmc1:0001:1: Ignore scan. Card removed or firmware in bad > > > state mwifiex_sdio mmc1:0001:1: scan failed: -14 mwifiex_sdio > > > mmc1:0001:1: == mwifiex firmware dump end == mwifiex_sdio mmc1:0001:1: > > > == mwifiex dump information to /sys/class/devcoredump start > > > mwifiex_sdio mmc1:0001:1: == mwifiex dump information to > > > /sys/class/devcoredump end > > > > > > > Could you please try attached 7.p87 firmware? I will be submitting it upstream soon. > > Thanks! I tried it, but unfortunately the issue still remains. It seems that the problem is rather in the MMC / SDIO side. When the power management of the SD host PCI controller is turned off (i.e. echo on > /sys/devices/pci0000:00/0000:00:11.0/power/control), the WiFi starts working. I'm not sure whether it's a bug in sdhci driver or something else missing. In anyway, thank you for your help! Takashi