commit | a07b858afe18aa25cb27837a812bcf7ca8ced098 | [log] [tgz] |
---|---|---|
author | global-integration-roller <global-integration-roller@fuchsia.infra.roller.fuchsia-infra.iam.gserviceaccount.com> | Sat Jun 29 18:44:53 2024 +0000 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Sat Jun 29 18:44:53 2024 +0000 |
tree | 0f6c5d036f7e610a6798864be1666cc5e944595d | |
parent | d9d9d1fba72f81cc1c1c972e998dfc8c8ffe60f9 [diff] |
[roll] Roll third_party/fuchsia-infra-bazel-rules [roll] Roll fuchsia-infra-bazel-rules-bazel-sdk-cipd packages to version:22.20240629.2.1 fuchsia/development/product_bundles/v2 new:https://chrome-infra-packages.appspot.com/p/fuchsia/development/product_bundles/v2/+/version:22.20240629.2.1 fuchsia/sdk/core/fuchsia-bazel-rules/linux-amd64 new:https://chrome-infra-packages.appspot.com/p/fuchsia/sdk/core/fuchsia-bazel-rules/linux-amd64/+/version:22.20240629.2.1 From: None To: version:22.20240629.2.1 Roller-URL: https://ci.chromium.org/b/8743772494156176161 CQ-Do-Not-Cancel-Tryjobs: true Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia-infra-bazel-rules/+/1074741 Original-Revision: bc4e891267f529b64bba8590edd3d85eb4c34f40 Roller-URL: https://ci.chromium.org/b/8743772205538364961 CQ-Do-Not-Cancel-Tryjobs: true Change-Id: Ife1437e3f946c077205c07dc5e1f699928357f6f Reviewed-on: https://fuchsia-review.googlesource.com/c/drivers/wlan/intel/iwlwifi/+/1074599 Commit-Queue: GI Roller <global-integration-roller@fuchsia-infra.iam.gserviceaccount.com>
This repository contains the source code to build, package and run the Intel Wifi driver for Fuchsia using the Fuchsia Bazel SDK.
The prebuilts of this driver is uploaded to CIPD at this location.
https://chrome-infra-packages.appspot.com/p/fuchsia/drivers/wlan/intel/iwlwifi
git clone https://fuchsia.googlesource.com/drivers/wlan/intel/iwlwifi --recurse-submodules
cd iwlwifi
scripts/bootstrap.sh
To prepare your development environment using NUC hardware, please follow the instruction in the below doc.
Once you have setup your environment, the Intel driver can be built using the following command.
./tools/bazel build third_party/iwlwifi/platform:iwlwifi_pkg
When finished successfully, it prints output logs similar to what's shown below:
$ ./tools/bazel build third_party/iwlwifi/platform:iwlwifi_pkg ... INFO: Elapsed time: 0.464s, Critical Path: 0.11s INFO: 11 processes: 11 internal. INFO: Build completed successfully, 11 total actions
ffx driver disable fuchsia-pkg://fuchsia.com/iwlwifi#meta/iwlwifi.cm
The command output would look something like this:
$ tools/ffx driver disable fuchsia-pkg://fuchsia.com/iwlwifi#meta/iwlwifi.cm Disabling fuchsia-pkg://fuchsia.com/iwlwifi#meta/iwlwifi.cm and restarting driver hosts with rematching enabled. Successfully restarted and rematching 1 driver hosts with the driver.
tools/bazel run third_party/iwlwifi/platform:iwlwifi_pkg.iwlwifi_component
The command output would look something like this:
$ tools/bazel run third_party/iwlwifi/platform:iwlwifi_pkg.iwlwifi_component ... Publishing packages: [PosixPath('third_party/iwlwifi/platform/iwlwifi.far')] Published 1 packages Running task: iwlwifi_pkg.iwlwifi_component.run_only (step 3/4) Registering fuchsia-pkg://bazel.iwlwifi.pkg.publish.anonymous/iwlwifi#meta/iwlwifi.cm, restarting driver hosts, and attempting to bind to unbound nodes Successfully bound: Node 'dev.sys.platform.pt.PCI0.bus.01_00.0.01_00.0', Driver 'fuchsia-pkg://bazel.iwlwifi.pkg.publish.anonymous/iwlwifi#meta/iwlwifi.cm'. Running task: iwlwifi_pkg.publish_anonymous.delete_repo (step 4/4)
$ tools/ffx driver list --loaded | grep wifi fuchsia-pkg://bazel.pkg.publish.anonymous/iwlwifi#meta/iwlwifi.cm
Notice the iwlwifi driver toward the bottom of the loaded drivers list.
$ tools/ffx component show iwlwifi.cm Moniker: /bootstrap/full-pkg-drivers:dev.sys.platform.pt.PCI0.bus.01_00.0_.pci-01_00.0-fidl URL: fuchsia-pkg://bazel.iwlwifi.pkg.publish.anonymous/iwlwifi#meta/iwlwifi.cm Environment: full-pkg-driver-env Instance ID: None Type: CML component Component State: Resolved Resolved URL: fuchsia-pkg://bazel.iwlwifi.pkg.publish.anonymous/iwlwifi#meta/iwlwifi.cm Namespace Capabilities: /svc/fuchsia.logger.LogSink /svc/fuchsia.hardware.pci.Service Exposed Capabilities: fuchsia.wlan.softmac.Service fuchsia.wlan.phyimpl.Service diagnostics Merkle root: 98384e7ced5c66b0fbf5f725abb43e9e9b57594e694f9167c032cceb4b009b80 Execution State: Running Start reason: Instance is in a single_run collection Outgoing Capabilities: diagnostics fuchsia.wlan.phyimpl.Service Runtime: Unknown
fx shell wlan-dev scan
A successful scan output would look something like this.
fuchsia~$ fx shell wlan-dev scan Warning: this tool may cause state mismatches between layers of the WLAN subsystem. It is intended for use by WLAN developers only. Please reach out to the WLAN team if your use case relies on it. Scan(ClientScanCmd { iface_id: 0, scan_type: Passive }) BSSID dBm Chan Protection Compatible SSID 8c:3b:ad:ab:91:4d -86 157V WPA2 PSK Y 60:32:b1:6a:e6:53 -72 9+ WPA2 PSK Y 62:8c:b5:39:0b:fb -85 153V WPA2 PSK Y
tools/work-on core.x64 --target fuchsia-emulator
tools/ffx emu stop --all
tools/ffx emu start --headless
tools/bazel test third_party/iwlwifi/test:iwlwifi_test_pkg
Boot your NUC in Fastboot mode (or boot it normally to run Fuchsia).
Identify your NUC’s device name, for example:
$ ffx target list NAME SERIAL TYPE STATE fuchsia-5254-0063-5e7a <unknown> Unknown Unknown
tools/work-on core.x64 --target <name_from_target_list>
Replace <name_from_target_list> with the target name (in this case, fuchsia-5254-0063-5e7a).
tools/bazel test --cache_test_results=no third_party/iwlwifi/test:iwlwifi_test_pkg
Execute the following command to run the driver tests with ASAN enabled.
tools/bazel test --features=asan --cache_test_results=no third_party/iwlwifi/test:iwlwifi_test_pkg
Once you're ready to send your changes for code review, run:
git push origin HEAD:refs/for/main
git will then print the URL of your pending CL.