No more WLAN after OTA-6/7 update on OPO

  • Hi there,

    since the last OTA-6 update I have no more WLAN on my OPO. The switch to turn it off/on in Settings->Wifi isn't there, either.

    Looking at dmesg/syslog, I see lots of
    [ 616.320112] wlan: loading driver v3.8.20.24
    [ 616.341167] wlan: [903:F :HDD] hdd_parse_config_ini: request_firmware failed -2
    [ 616.353362] wlan: [903:F :HDD] hdd_wlan_startup: error parsing wlan/prima/WCNSS_qcom_cfg.ini
    [ 616.353518] wlan: [903:F :HDD] hdd_driver_init: WLAN Driver Initialization failed
    [ 616.368188] wlan: driver load failure

    For testing, I forced the update to OTA-7, but the problem still persists.

    Looking around the FS, the parsing error gets clear:

    root@ubuntu-phablet:~# find / -name WCNSS_qcom_cfg.ini 2>/dev/null
    root@ubuntu-phablet:~# ls -l /android/system/etc/firmware/wlan/prima/WCNSS_qcom_ cfg.ini
    lrw-r--r--. 1 root root 27 Dec 31 22:51 /android/system/etc/firmware/wlan/prima/WCNSS_qcom_cfg.ini -> /persist/WCNSS_qcom_cfg.ini
    root@ubuntu-phablet:~# ls -l /persist/WCNSS_qcom_cfg.ini
    ls: cannot access '/persist/WCNSS_qcom_cfg.ini': No such file or directory

    Any hints?

    cheers+thanks in advance,

  • @rbarclay Can you try resetting the the launcher. System Settings, Reset, Reset Launcher. That fixed a no wifi tab issue.

  • Infrastructure

    Yes its clear what happens here: We symlinked the ini file to the /persist directory which should be made out of the persist partition.

    In /persist the device stores the MAC address for example, this was to fight against the "All OPO have the same MAC addy" bug.

    So it seems a few devices do not have or mount the persist partition. Can you please boot to recovery and see if you can mount that thingie?


  • @lakotaubp That didn't fix the issue (reset, no change, rebooted, still no change).

  • @flohack /persist is mounted (well, it's a symlinl to /android/persist, which is mounted):

    phablet@ubuntu-phablet:~$ mount | grep persist
    /dev/mmcblk0p15 on /android/persist type ext4 (rw,nosuid,nodev,relatime,nomblk_io_submit,nodelalloc,errors=panic,data=ordered)
    /dev/mmcblk0p15 on /var/lib/lxc/android/rootfs/persist type ext4 (rw,nosuid,nodev,relatime,nomblk_io_submit,nodelalloc,errors=panic,data=ordered)
    phablet@ubuntu-phablet:~$ ls -l / | grep persist
    lrwxrwxrwx 1 root root 16 Jan 28 1970 persist -> /android/persist

    Also, there's various stuff in /persist:

    phablet@ubuntu-phablet:~$ sudo ls -la /persist/
    total 52
    drwxrwx--x. 8 system system 4096 May 8 1970 .
    drwxrwxrwt 9 root root 180 May 2 1970 ..
    drwxrwx---. 2 1002 bluetooth 4096 May 8 1970 bluetooth
    -rw-------. 1 1002 bluetooth 9 Aug 25 1970 .bt_nv.bin
    drwx------. 5 system system 4096 Dec 31 2013 data
    drwx------. 2 root root 4096 Jan 1 1970 lost+found
    drwxrwx---. 2 system system 4096 May 8 1970 properties
    drwxrwxr-x. 2 system root 4096 May 8 1970 sensors
    -rwx------. 1 root root 15360 May 31 2016 sns.reg
    drwxr-xr-x. 6 root root 4096 May 27 2015 usf

    Just not that "magic" WCNSS_qcom_cfg.ini.

  • Infrastructure

    @rbarclay Ok while its a good thing that the partition is there, its obvious very bad to not have the WiFi config file.

    Meanwhile I think that Oneplus made several versions of the Oneplus One which are inherently different to some degree. Also some of them report as "bacon" while others report as "A0001" => so what can we do? Basically you can try to have a look if you find that ini file somewhere else in your /system folders - and then try to copy it to the persist partition. Lets see what that will give us.

  • @flohack Mine self-identifies as "bacon", FWIW.

    There's only 4 occurrences of that file on the whole filesystem, and all of them are symlinks to /persist:

    root@ubuntu-phablet:~# find / -name WCNSS_qcom_cfg.ini 2>/dev/null | xargs ls -l
    lrw-r--r--. 1 root root 27 Dec 31 22:51 /android/system/etc/firmware/wlan/prima/WCNSS_qcom_cfg.ini -> /persist/WCNSS_qcom_cfg.ini
    lrw-r--r--. 1 root root 27 Dec 31 22:51 /android/system/etc/wifi/WCNSS_qcom_cfg.ini -> /persist/WCNSS_qcom_cfg.ini
    lrw-r--r--. 1 root root 27 Dec 31 22:51 /var/lib/lxc/android/rootfs/system/etc/firmware/wlan/prima/WCNSS_qcom_cfg.ini -> /persist/WCNSS_qcom_cfg.ini
    lrw-r--r--. 1 root root 27 Dec 31 22:51 /var/lib/lxc/android/rootfs/system/etc/wifi/WCNSS_qcom_cfg.ini -> /persist/WCNSS_qcom_cfg.ini

    Anyway, I've now grabbed a random instance (first Google hit) of that file from github, dropped it in /persist and now have WLAN again. Only problem now is that it won't remember WPA2 passphrases over reboots, but I can live with that.

    Thanks for the help, @Flohack !

  • Infrastructure

    @rbarclay I can send you a legit one, just that you scramble a few bytes of the MAC addy then please ;) - maybe then it remembers again

  • @flohack Yes, please ;)

  • @Flohack @rbarclay : So far I haven't received the update to OTA-7 for my OPO yet, hopefully it will come today. Do you advise to update the OPO to OTA-7 or shall I wait until this bug is resolved?

  • @gt This probably happened with an update on Dec. 28th (it says "Ubuntu touch Version 3" in System Settings -> Updates) for me. OTA-7 didn't fix the issue, but it also didn't cause it.

  • Infrastructure

    @gt We introduced this already with OTA-6 ... so you can update probably...

  • @flohack Thanks for your message. I updated my OPO to OTA7 and there was no problem with WLAN.

Log in to reply

Looks like your connection to UBports Forum was lost, please wait while we try to reconnect.