1.56 bump - #3098
Open
rmuthiah wants to merge 53 commits into
Open
Conversation
Previously, outgoing buffer timestamps in emulated_camera_mplane and emulated_camera_splane were calculated directly from the frame sequence index: tv_sec = (sequence + 1) / 1000 tv_usec = (sequence + 1) % 1000 This formula caused severe clock drift due to two issues: 1. Incorrect Time Scaling: sequence increments by 1 per frame. Dividing by 1000 caused tv_sec to advance by 1 second only after 1,000 frames (~33.3 seconds of real wall-clock time at 30 FPS). 2. Microsecond Miscalculation: In timeval, tv_usec is measured in microseconds (10^-6 s). Doing % 1000 without scaling caused the timestamp to advance by only 1 microsecond per frame. This change replaces the sequence-based calculation with the host's actual monotonic clock, avoiding timestamp drift and buffer rejections in the guest. Bug: b/474406105
Bug: b/502639876 Test: cvd create --media="type=v4l2_emulated_camera_mplane,lens_facing=FRONT" && adb shell "su 0 v4l2-ctl -d /dev/video1 --list-ctrls"
- Avoid breaking existing virtio-media workflows for auto and XR targets. Bug: b/527931134
Interact with the control: ``` adb shell "su 0 v4l2-ctl -d /dev/video1 -l" adb shell "su 0 v4l2-ctl -d /dev/video1 --set-ctrl=gain=500" ``` Introduce CameraControls, to manage the state of control values. Bug: b/539617743 Assisted-by: Jetski:Gemini 3.5 Flash
std::string::compare > The overloads taking parameters named pos1 or pos2 > throws std::out_of_range if the argument is out of range. Bug: 509614113 Signed-off-by: Roman Kiryanov <rkir@google.com>
std::stoi: > std::invalid_argument if no conversion could be performed. > std::out_of_range if the converted value would fall out of the range Bug: 509614113 Signed-off-by: Roman Kiryanov <rkir@google.com>
…nated If the `Read` call fills the whole buffer, `commands.append(buffer.data())` with no zero characters will read past the buffer. If the `Read` produces data with zero characters in the middle, it will cause a loss of data. Bug: 509614113 Signed-off-by: Roman Kiryanov <rkir@google.com>
The `sms_pdu` is used in an async callback, potentially after the control leaves the scope. Bug: 509614113 Signed-off-by: Roman Kiryanov <rkir@google.com>
Implement custom AT commands AT+CEID and AT+CATR in the modem simulator to expose the EID and ATR values configured in the simulated SIM profile (XML). This allows the radio HAL to query these values dynamically instead of hardcoding them, supporting eSIM slot detection. BUG=532745689
…or dual-SIM support Add simulator profile for SIM 1 and CTS carrier API test profile to enable dual-SIM modem simulation support. These profiles are identical to their SIM 0 counterparts except for the ICCID (and its binary EF representation), IMSI, and EID. Also ignore SIGPIPE from clients in modem simulator. BUG=532745689 Test: http://go/forrest-run/L25500030157036716
Bug: b/534499070
Bug: b/534499070
Bug: b/534499070
Bug: b/534499070
Bug: b/534499070
Bug: b/542342091
Bug: b/542342091
Bug: b/542342091
Install kernel 6.18.15-1~bpo13+1 (validated for ARM64 nested virtualization on AmpereOne) and the matching NVIDIA driver 550.163.01-4~bpo13+1 from a snapshot.debian.org archive snapshot Bug: 537008147 Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
Install kernel 6.18.15-1~bpo13+1 and the matching NVIDIA driver 550.163.01-4~bpo13+1 from a snapshot.debian.org archive snapshot, matching the versions pinned by the preseed installer The Debian cloud image enables trixie-backports by default, so the pinned versions are installed unconditionally rather than gated on backports detection Bug: 537008147 Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
Append kvm-arm.mode=nested to GRUB command line so installed hosts boot with KVM nested virtualization (NV2) enabled if available Bug: 537008147 Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
…SON API The previous way to download the artifacts doesn't work. We fix it by using the latest JSON API. And also make the script more verbose on error. Signed-off-by: Ying-Chun Liu (PaulLiu) <liupa@google.com>
…he preseed check environment The check container installed linux-image-arm64 and linux-headers-arm64 from the live trixie/trixie-security archives. Real installer targets never have trixie headers, and their presence makes DKMS build the pinned NVIDIA driver against whatever kernel trixie-security shipped that day - an unpinned moving target. This broke on 2026-07-31 when Debian published 6.12.100, which the 550.163.01 driver fails to compile against, failing the nvidia matrix cell. With no stray kernels the block under test provides its own pinned kernel and DKMS builds only against the pinned, snapshot-frozen headers. Verified: the failing cell reproduced against 6.12.100 headers, and the same block passes with them absent (module builds and installs for 6.18.15). Bug: 537008147 Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
The workflow still referenced actions by tag, which the zizmor blanket policy rejects as soon as the file is touched. Pin them to the hashes the tags currently point at, keeping the same major versions so the artifact upload and download stay compatible. Bug: 537008147 Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
The qemu test jobs treat the serial console login prompt as "vm is ready" and ssh into the guest right away. The prompt only means getty started: the guest is still booting, so the ssh handshake gets reset (kex_exchange_identification: read: Connection reset by peer) and, once that is past, dns is not up yet for the first command needing it. The console is polled every 30s, so the ssh always lands at the same point after boot and whether it works is luck. Four of twelve job instances across six recent runs failed this way, on both jobs and regardless of which kernel the installer had put on the vm. Wait until systemd reports the boot finished before using the vm. Bug: 537008147 Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
….json The /builds/latest/ redirect the script followed is rate limited and returns 403 once the quota is exhausted, failing the download. Read the id from the target's status.json instead, which is not on that quota, and build the artifact URLs from it directly. Bug: 537008147 Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
Fix netsim vsock proxy parameters for vhost-user-vsock Cuttlefish host launcher run_cvd fails to pass --vhost_user_vsock=true to socket_vsock_proxy helper processes (hci_vsock_proxy and test_vsock_proxy). This results in the proxy processes binding to the host kernel vsock interface rather than the vhost-user Unix domain socket when vhost_user_vsock is enabled, causing guest vsock connections to hang. Bug: b/520342656 Test: Manual verification on CF target with vhost-user-vsock
Enables netsim to act as the cellular modem simulator for Cuttlefish by passing VSOCK connections directly to netsimd:
1. CLI & Instance Configuration:
- Adds '--netsim_modem' flag to launch_cvd to route cellular modem traffic to netsim.
- Disables the legacy standalone modem_simulator process when '--netsim_modem' or '--netsim' is active.
- Records modem simulator instance count and SIM type in CuttlefishConfig.
2. VSOCK Server Routing ('netsim_server.cpp'):
- Creates a VSOCK server socket ('SharedFD::VsockServer') listening on each guest modem simulator port.
- Configures the CELLULAR chip in netsimd's startup JSON ('-s'), passing the inherited listening file descriptor as 'vsockFd' and the SIM configuration as 'simType'.
Refactored netsim radio enabling to use per-instance config checks in netsim_server.cpp to support mixed-mode multi-instance clusters, and removed the global netsim_radio_enabled config.
Bug: 514348948
Bug: 530300761
Bug: 532125591
Test: launch_cvd --netsim_modem
Exposes `EnableNetsimNfc()` instead of netsim_radio_enabled to simplify netsim nfc checking, avoiding passing --grpc_uds_path unconditionally. Bug: 525044943 Test: bazel build //base/cvd/cuttlefish/... TAG=agy CONV=97998051-73aa-44c8-83ac-51de8d5fd83d
TAG=agy CONV=7e6b7c86-e570-4900-a8f4-683776c7dc60 Assisted-by: Jetski:GeminiNext
This has diverged enough from main that we are seeing some strangeness.
GitHub Actions runners have been failing with non-deterministic failures during e2e tests with the error "crun: unknown version specified". This can occur because newer versions of Podman on the `ubuntu-24.04` runner generate OCI configurations that are incompatible with the older version of `crun` pre-installed on the runner. BUG=b/540850996 Assisted-by: Jetski:Gemini 3.5 Flash
WriteAll(bootconfig_fd, bootconfig) was being called twice in BootConfigPartition::CreateIfNeeded -- once to capture bytesWritten, once inside the CF_EXPECT() comparison. The second call appended duplicate bytes to the partition file, corrupting it. Drop the second call and compare bytesWritten directly.
Databean
approved these changes
Aug 26, 2026
The Weaver HAL is missing from secure_env_only_oemlock, and it is nontrivial to include because it requires importing the WeaverTa dependency from AOSP. Bug: b/548056221
…ecure_env Bug: b/548056221
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.