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.

  • 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.

  • @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 !

  • @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.

  • @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.

  • @flohack I have two OPOs, and both had this issue. The wifi switch disappeared after the update from OTA-5 to OTA-6. I've also installed OTA-7 on each of them, and the issue persists. Should I just wait for OTA-8?

    btw. @Flohack I mentioned to you in irc that I don't need two OPOs. Would any of the development team be interested in having one? I would be more than happy to donate it.

  • @jelkner please check on both devices the content of the /persist folder (in recovery) or /system/persist I think it is when you are in UT. Can you verify to have a file named WCNSS_qcom_cfg.ini ?? If not, we know whats going on there.

    However I cant fix this properly with OTA-8: If this file is missing we need to recreate it probably. Dunno why this would go away.

    If this file is missng, can you please search for it with find /system -iname WCNSS_qcom_cfg.ini - maybe we find it somewhere else on your models.

  • Also look what I wrote here over the last weeks:

  • @jelkner I would rather have you working with us on the problem if you like. It might be some insights for you in how UT works, and for us an opportunity to recruit a new community contributor 🙂

    Would you mind bringing one of the OPOs back to Android, to see whats the MAC address there? We definitely need to find out where Android gets it from. Also for Bluetooth, see this bug:

Log in to reply