|author||Sakthi Vignesh Radhakrishnan <email@example.com>||Fri Feb 04 19:01:06 2022 +0000|
|committer||Commit Bot <firstname.lastname@example.org>||Fri Feb 04 19:01:06 2022 +0000|
[iwlwifi] Update to latest driver. Updates the driver to the latest one from ToT. Also contains the necessary changed to make it compile against the latest build of partner sdk. Change-Id: I7ae01c41c3f35563984e60dcad738f427c077e95 Reviewed-on: https://fuchsia-review.googlesource.com/c/drivers/wlan/intel/iwlwifi/+/640827 Fuchsia-Auto-Submit: Sakthi Vignesh Radhakrishnan <email@example.com> Reviewed-by: Sean Cuff <firstname.lastname@example.org> Commit-Queue: Auto-Submit <email@example.com>
This repository contains instructions and source code to build, package and run the Intel Wifi driver for Fuchsia using the Fuchsia Bazel SDK.
You will need the SDK with the driver development tools and libraries. Currently this is produced manually in the Fuchsia tree. You can reproduce them with one build for qemu.x64 with the SDK archives:
fx --dir=out/qemu set core.qemu-x64 --args=build_sdk_archives=true \ --args='dev_bootfs_labels=["//products/kernel_cmdline:devmgr.enable-ephemeral--true"]' fx build :default sdk sdk:ddk
And a different build is currently required for creating the product bundle:
fx --dir=out/qemupbm set core.qemu-x64 \ --args='dev_bootfs_labels=["//products/kernel_cmdline:devmgr.enable-ephemeral--true"]' fx build :default sdk
This is not yet a complete nor maintained Bazel integration, and it is not guaranteed to work beyond the samples in this repository. It is also not the final developer experience and should not be mirrored in another repository as it will change quite often until it settles.
scripts/bootstrap.sh \ --sdk-local ~/fuchsia/out/qemu \ --product-bundle-local ~/fuchsia/out/qemupbm
Adjust the paths above accordingly.
Repeat the step above whenever you want to use a new version of the SDK/DDK and emulator images. It is harmless to execute it repeatedly.
tools/ffx emu start --net tap -H
Let the emulator know where are the system packages for on-demand loading:
tools/ffx repository add-from-pm sdk/amber-files tools/ffx target repository register --alias fuchsia.com --repository devhost
TODO(fxbug.dev/92055): the emulator should register the sdk packages automatically. Manual add-from-pm and target repository register should not be needed.
tools/bazel build --config=fuchsia_x64 third_party/iwlwifi:core
This command will build the driver and make it available as a package on a local Fuchsia repository.
tools/ffx repository add-from-pm -r iwlwifi_driver_repo bazel-out/x86_64-fastbuild/bin/third_party/iwlwifi/iwlwifi_driver_repo tools/ffx target repository register -r iwlwifi_driver_repo
TODO(fxbug.dev/92052): ffx does not play nice with the repository created by Bazel, probably because Bazel removes the write permission so that external players don't break the hermeciticy of the build. As a consequence, ffx requires ‘add-from-pm’ and ‘target repository register’ every time a new package is published.
Now you are ready to register the driver.
tools/ffx driver register fuchsia-pkg://iwlwifi_driver_repo/iwlwifi#lib/libcore.so