AnsweredAssumed Answered

Adding CSR WiFi driver to iMX6 JB4.2.2 buld

Question asked by Martin Howell on Feb 12, 2014
Latest reply on Jul 23, 2015 by mutyalarao neelapala

I am trying to add a CSR WiFi driver to the JB 4.2.2 build for the iMX.

 

I have a working unifi_sdio.ko module (I think it is working as I can manually load it with insmod and the log messages tell me it is happy)

 

I changed the Boardconfig.mk as follows:


# for APM module with CSR_UNIFI
ifeq ($(BOARD_WLAN_VENDOR),CSR_UNIFI)

WIFI_DRIVER_MODULE_PATH :=  "/system/lib/modules/unifi_sdio.ko"
WIFI_DRIVER_MODULE_NAME     := "unifi_sdio"
WIFI_DRIVER_MODULE_ARG      := ""
WIFI_FIRMWARE_LOADER        := ""
WPA_SUPPLICANT_VERSION      := VER_0_8_X
BOARD_WPA_SUPPLICANT_DRIVER := WEXT
BOARD_HOSTAPD_DRIVER        := WEXT
BOARD_HAVE_WIFI_CSR = true

endif

 

I use the standard wifi.c module in /hardware/libhardware_legacy/wifi

 

I built and deployed the new system and when I try to tur the wifi on on the settings page the on screen switch goes on and the screen says "turning wifi on"  I can see the unifi_sdio.ko module load from the debug messages, but then the switch goes off and nothing else happens.

 

If I use logcat to show activity from the Wifi module I get:

 

 

root@android:/ # logcat | grep Wifi

I/AudioFlinger( 2255): loadHwModule() Loaded r_submix audio interface from Wifi Display audio HAL (audio) handle 2

E/WifiStateMachine( 2548): Failed to disable IPv6: java.lang.IllegalStateException: command '1 interface ipv6 wlan0 disa

ble' failed with '400 1 Failed to change IPv6 state (No such file or directory)'

I/WifiService( 2548): WifiService starting up with Wi-Fi disabled

D/WifiService( 2548): setWifiEnabled: true pid=2772, uid=1000

E/WifiStateMachine( 2548): Failed to reload STA firmware java.lang.IllegalStateException: command '31 softap fwreload wl

an0 STA' failed with '400 31 Softap operation failed (No such file or directory)'

E/WifiStateMachine( 2548): Unable to change interface settings: java.lang.IllegalStateException: command '33 interface s

etcfg wlan0 0.0.0.0 0 down' failed with '400 33 Failed to set address (No such device)'

+++ LOG: malformed log message

I/unifi_helper( 3188): Synergy Wifi Example Application starting...

E/WifiHW  ( 2548): Failed to stop supplicant

E/WifiHW  ( 2548): Error changing group ownership of /data/misc/wifi/wpa_supplicant.conf to 1010: Operation not permitte

d

E/WifiHW  ( 2548): Wi-Fi will not be enabled

E/WifiStateMachine( 2548): Failed to start supplicant!

D/WifiHW  ( 2548): Unable to unload driver module "unifi_sdio": Try again

E/WifiStateMachine( 2548): Failed to unload driver!

E/WifiStateMachine( 2548): DriverFailedState

 

It looks like amongst others there is an error changing permissions of a file. How do I resolve this?

 

Is there anything else I should be doing?

Outcomes