Closed Bug 1025034 Opened 10 years ago Closed 10 years ago

Missing WCNSS_cfg.dat from system.img

Categories

(Firefox OS Graveyard :: GonkIntegration, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(b2g-v2.0 fixed, b2g-v2.1 fixed)

RESOLVED FIXED
2.0 S4 (20june)
Tracking Status
b2g-v2.0 --- fixed
b2g-v2.1 --- fixed

People

(Reporter: gerard-majax, Assigned: gerard-majax)

References

Details

(Whiteboard: [systemsfe])

Attachments

(1 file)

After landing bug 1009396, it seems there is some difference between my local build ennvironment and what pvtbuild are coming from. This results in the system.img missing WCNSS_cfg.dat.

From the driver sources, this file gets installed when building proprietary code. But the firmware is also available in our device/qcom/msm8610 tree:

> $ sha1sum device/qcom/msm8610/WCNSS_* backup-flame/system/etc/wifi/WCNSS_qcom_cfg.ini backup-flame/system/etc/firmware/wlan/prima/WCNSS_*
> 49cfc99caa21159a48c2bd4fcd2cb1b076e94e08  device/qcom/msm8610/WCNSS_cfg.dat
> 0fd305b1364c5e8b9cb74ffb2b252010b59669b8  device/qcom/msm8610/WCNSS_qcom_cfg.ini
> ffec4e0d2356b94beb8ba7a46199ca728d5d5f43  device/qcom/msm8610/WCNSS_qcom_wlan_nv.bin
> 49cfc99caa21159a48c2bd4fcd2cb1b076e94e08  backup-flame/system/etc/firmware/wlan/prima/WCNSS_cfg.dat
> 0fd305b1364c5e8b9cb74ffb2b252010b59669b8  backup-flame/system/etc/firmware/wlan/prima/WCNSS_qcom_cfg.ini
> 0fd305b1364c5e8b9cb74ffb2b252010b59669b8  backup-flame/system/etc/wifi/WCNSS_qcom_cfg.ini
> ffec4e0d2356b94beb8ba7a46199ca728d5d5f43  backup-flame/system/etc/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin

This means we can use those files from the device tree instead of backup folder.
This patch should be okay, currently testing it.
Prior to this patch:
> $ ls -hal out/target/product/flame/system/etc/firmware/wlan/prima/WCNSS_*
> -rw-r--r-- 1 alex alex 11K juin  10 14:10 out/target/product/flame/system/etc/firmware/wlan/prima/WCNSS_cfg.dat
> lrwxrwxrwx 1 alex alex  34 juin  13 17:10 out/target/product/flame/system/etc/firmware/wlan/prima/WCNSS_qcom_cfg.ini -> /data/misc/wifi/WCNSS_qcom_cfg.ini
> lrwxrwxrwx 1 alex alex  31 juin  13 17:10 out/target/product/flame/system/etc/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin -> /persist/WCNSS_qcom_wlan_nv.bin

Removing everything, applying patch,

> $ ls -hal out/target/product/flame/system/etc/firmware/wlan/prima/WCNSS_*
> -rw-r--r-- 1 alex alex 11K juin  13 17:20 out/target/product/flame/system/etc/firmware/wlan/prima/WCNSS_cfg.dat
> lrwxrwxrwx 1 alex alex  34 juin  13 17:20 out/target/product/flame/system/etc/firmware/wlan/prima/WCNSS_qcom_cfg.ini -> /data/misc> /wifi/WCNSS_qcom_cfg.ini
> lrwxrwxrwx 1 alex alex  31 juin  13 17:20 out/target/product/flame/system/etc/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin -> /persist/WCNSS_qcom_wlan_nv.bin
Comment on attachment 8439928 [details] [review]
Use WCNSS elements from device tree

That does work as expected locally.
Attachment #8439928 - Flags: review?(mwu)
Comment on attachment 8439928 [details] [review]
Use WCNSS elements from device tree

Commented on PR.
Attachment #8439928 - Flags: review?(mwu)
I was just going to comment on bug 1026278, but I'll make the comment here instead.

I'm going to guess that the pvt builds are using a stale base image (i.e. backup-flame directory).

If I build master locally with a backup-flame created from v121-2 base image and do a full flash, then wifi works properly.
(In reply to Dave Hylands [:dhylands] from comment #6)
> I was just going to comment on bug 1026278, but I'll make the comment here
> instead.
> 
> I'm going to guess that the pvt builds are using a stale base image (i.e.
> backup-flame directory).

Wrong guess :). There is nothing wrong with the backup-flame, for two reasons:
 - the bug is about the firmware bits not copied
 - we build kernel and wifi driver from source
So I guess I don't understand.

In both cases, a full flash was done, so the entire system.img file was written. If the firmware wasn't copied, then that's a build issue. Why would my local build be different from the pvt build?

Or is the firmware on a different partition?
(In reply to Dave Hylands [:dhylands] from comment #9)
> So I guess I don't understand.
> 
> In both cases, a full flash was done, so the entire system.img file was
> written. If the firmware wasn't copied, then that's a build issue. Why would
> my local build be different from the pvt build?
> 
> Or is the firmware on a different partition?

No, the question is: did you previously build from scratch successully?

If yes, then the WCNSS_cfg.dat file was already properly copied in the out/target/product/flame/system/ directory. I guess pvt builds are always done from scratch, and that explains why I got lurred thinking my patch was okay.
OK - I just tried rm -rf out, and rebuild, and now my local flash doesn't work (wifi doesn't work). So there must have been leftover files from a previous base image.
And I confirmed that applying this patch makes wifi work again (after an rm -rf out)
Michael, I commented on the PR: while we include msm8610.mk, the flame.mk file redefined PRODUCT_COPY_FILES. This is why I'm re-copying the missing files, as it has already been done for other components.
Flags: needinfo?(mwu)
Whiteboard: [systemsfe]
Comment on attachment 8439928 [details] [review]
Use WCNSS elements from device tree

We shouldn't override the list from msm8610.mk, afaict. Going to r+ this to fix things for now, but it shouldn't be too bad to switch to the msm8610.mk list. I think we have to add the goldfish device repo and it'll work.
Attachment #8439928 - Flags: review+
Flags: needinfo?(mwu)
(In reply to Michael Wu [:mwu] from comment #14)
> Comment on attachment 8439928 [details] [review]
> Use WCNSS elements from device tree
> 
> We shouldn't override the list from msm8610.mk, afaict. Going to r+ this to
> fix things for now, but it shouldn't be too bad to switch to the msm8610.mk
> list. I think we have to add the goldfish device repo and it'll work.

Filed the followup as bug 1027530 to fix this.
https://github.com/mozilla-b2g/device-flame/commit/3f58e19523d0435d214db49475f95c73a2036525
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Blocks: 1036342
Comment on attachment 8439928 [details] [review]
Use WCNSS elements from device tree

NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings.

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #): 1009396
[User impact] if declined: no wifi when building and flashing from scratch v2.0
[Testing completed]: landed on master for more than one month, no issue
[Risk to taking this patch] (and alternatives if risky): few, works very well on master
[String changes made]: none
Attachment #8439928 - Flags: approval-gaia-v2.0?(bbajaj)
This should have been uplifted with bug 1009396.
Attachment #8439928 - Flags: approval-gaia-v2.0?(bbajaj) → approval-gaia-v2.0+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: