commit | 95875096881caf617eb86fdd1eb19c3968f2d8b5 | [log] [tgz] |
---|---|---|
author | global-integration-roller <global-integration-roller@fuchsia.infra.roller.fuchsia-infra.iam.gserviceaccount.com> | Fri Nov 01 20:29:37 2024 +0000 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Nov 01 20:29:37 2024 +0000 |
tree | fd4a9d398102f8cf7b4765fa0512f0721286b183 | |
parent | b56583329bb98d3db515e18a0042bff48ddb9863 [diff] |
[roll] Roll third_party/fuchsia-infra-bazel-rules [roll] Roll fuchsia-infra-bazel-rules-cas-cipd packages to git_revision:85eb815d15e4ebda9a1961f9520376cb1d2dd896 infra/tools/luci/cas/linux-amd64 new:https://chrome-infra-packages.appspot.com/p/infra/tools/luci/cas/linux-amd64/+/git_revision:85eb815d15e4ebda9a1961f9520376cb1d2dd896 From: None To: git_revision:85eb815d15e4ebda9a1961f9520376cb1d2dd896 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia-infra-bazel-rules/+/1148979 Original-Revision: 2a7f955edaf3709b0ffc878867c37f8d98509466 Roller-URL: https://cr-buildbucket.appspot.com/build/8732441410714097233 CQ-Do-Not-Cancel-Tryjobs: true Change-Id: If6c48394e62b25bf1e394c803651428985fbb5e8 Reviewed-on: https://fuchsia-review.googlesource.com/c/drivers/wlan/intel/iwlwifi/+/1149360 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.