AnsweredAssumed Answered

wifi can not work normaly in L3.14

Question asked by Cheng si on Jul 27, 2017
Latest reply on Jul 30, 2017 by Cheng si

Hi,

>>I am using bcm43438 in our customer imx7d board with Linux3.14.

The  wifi firmware I use is "brcmfmac43430-sdio.bin" and "brcmfmac43430-sdio.txt" from raspberry pi, when use "modprobe bcmdhd firmware_path=/lib/firmware/bcm/BCM43430/brcmfmac43430-sdio.bin nvram_path=/lib/firmware/bcm/BCM43430/brcmfmac43430-sdio.txt dhd_meg_level=0x1" i get the message:

 

dhd_module_init in
Power-up adapter 'DHD generic adapter'
wifi_platform_bus_enumerate device present 1
mmc0: new high speed SDIO card at address 0001
F1 signature OK, socitype:0x1 chip:0xa9a6 rev:0x1 pkg:0x4
DHD: dongle ram size is set to 524288(orig 524288) at 0x0
wifi_platform_get_mac_addr
CFG80211-ERROR) wl_setup_wiphy : Registering Vendor80211)
wl_create_event_handler(): thread:wl_event_handler:16e started
CFG80211-ERROR) wl_event_handler : tsk Enter, tsk = 0xa8d0141c
dhd_attach(): thread:dhd_watchdog_thread:16f started
dhd_attach(): thread:dhd_dpc:170 started
dhd_deferred_work_init: work queue initialized
dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.
dhd_bus_init: enable 0x06, ready 0x06 (waited 0us)
wifi_platform_get_mac_addr
Firmware up: op_mode=0x0005, MAC=00:90:4c:c5:12:38
Firmware version = wl0: May 27 2016 00:13:38 version 7.45.41.26 (r640327) FWID 01-df77e4a7
dhd_wlfc_init(): successfully enabled bdcv2 tlv signaling, 79
dhd_wlfc_init: query wlfc_mode succeed, fw_caps=0x1c
dhd_wlfc_init(): wlfc_mode=0x1c, ret=0
Dongle Host Driver, version 1.141.72 (r)
Compiled from
Register interface [wlan0] MAC: 00:90:4c:c5:12:38
>>It seems the driver is loaded successfully, so I use try to start the wifi:
root#ifconfig wlan0 up
root#ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1%1995585232/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:240 (240.0 B) TX bytes:240 (240.0 B)
wlan0 Link encap:Ethernet HWaddr 00:90:4C:C5:12:38
inet6 addr: fe80::290:4cff:fec5:1238%1995585232/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:2778 (2.7 KiB)
>>so it seems the wifi module start correctly, but when i try to scan for AP, it get nothing:
root#iw dev wlan0 scan
root#
root#iwlist wlan0 scan
wlan0  Interface doesn't support scanning.
root#
>>here is my dts, please give me some advise, do I need modify the bdmdhd driver or change the firmware?
bcmdhd_wlan_0: bcmdhd_wlan@0 {
compatible = "android,bcmdhd_wlan";
/* WL_HOST_WAKE=GPIO<5,2>, WL_REG_ON=GPIO<5,1> */
gpios = <&gpio5 2 0>;
wlreg_on-supply = <&wlreg_on>;
};

 

regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;

 

wlreg_on: fixedregulator@100 {
compatible = "regulator-fixed";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "wlreg_on";
gpio = <&gpio5 1 0>;
startup-delay-us = <100>;
enable-active-high;
};
};
/*wifi*/
&usdhc1 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc1>;
pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
cd-gpios = <&gpio7 6 GPIO_ACTIVE_HIGH>;
/*cd-post;*/
bus-width = <4>;
no-1-8-v;
enable-sdio-wakeup;
keep-power-in-suspend;
non-removable;
pm-ignore-notify;
wifi-host; 
status = "okay";
};
pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
MX7D_PAD_SD1_CMD__SD1_CMD 0x59
MX7D_PAD_SD1_CLK__SD1_CLK 0x19
MX7D_PAD_SD1_DATA0__SD1_DATA0 0x59
MX7D_PAD_SD1_DATA1__SD1_DATA1 0x59
MX7D_PAD_SD1_DATA2__SD1_DATA2 0x59
MX7D_PAD_SD1_DATA3__SD1_DATA3 0x59
MX7D_PAD_SD1_WP__GPIO5_IO1 0x59
>;
};

Outcomes