{
 "name": "check-devices",
 "run": "/home/ubuntu/.local/state/g1vm/runs/20261025T032613Z-check-devices-kvm",
 "started_utc": "2026-10-25T03:26:13Z",
 "host": "g1-ci-11.us-central1-a.c.lockinweb-487307.internal",
 "host_machine": "Linux aarch64",
 "accel": "kvm",
 "cpu": "host",
 "smp": 8,
 "mem": "16G",
 "qemu": "QEMU emulator version 11.1.2",
 "image": "/nix/store/gqpv86aa12yqwz8w2nyxfzzsf6h6gq34-g1-image-g1-nx-j6.2",
 "overlay": "/nix/store/axmxsd8j9hj2sq5m0d7idjbhjnazisr1-g1-virt-overlay-5.15.148-tegra",
 "boot_path": "uefi",
 "disk": "nvme",
 "disk_base": "/nix/store/axmxsd8j9hj2sq5m0d7idjbhjnazisr1-g1-virt-overlay-5.15.148-tegra/g1-virt-overlay.qcow2",
 "check": "devices",
 "reason": "devices check done",
 "wall_s": 199.2,
 "qemu_rc": 0,
 "kernel_on_qemu_line": false,
 "started_epoch": 1792898773.3552914,
 "events_s": {
  "lan_up": 0.1,
  "site_up": 0.1,
  "grippers_up": 0.2,
  "first_output": 0.5,
  "uefi_firmware": 0.5,
  "l4t_direct_boot": 6.8,
  "stub_cbootargs": 7.0,
  "efi_initrd": 7.2,
  "linux_version": 7.6,
  "run_init": 7.9,
  "root_mounted": 10.0,
  "systemd_banner": 10.0,
  "getty_banner": 14.6,
  "login_prompt": 14.6,
  "ssh_up": 103.0,
  "devices_pc2_done": 36.0,
  "probe_done": 194.7,
  "devices_site_done": 102.7,
  "nic_up": 118.6,
  "probe_built": 130.8,
  "devices_dds_done": 197.2,
  "guest_synced": 197.4,
  "devices_done": 198.1
 },
 "lan": {
  "pc1": "/nix/store/ypsyg1zr2y5havigwkx8flsvjrm0sx3q-nixos-vm/bin/run-pc1-vm",
  "pc1_ssh_port": 39373,
  "pc2_nic": {
   "address": "192.168.123.164",
   "interface": "enP8p1s0",
   "mac": "52:54:00:12:01:64"
  }
 },
 "site_net": {
  "site_vm": "/nix/store/57k43gbh6wwbs6zklfnr7hsnjbxqabxg-nixos-vm/bin/run-site-vm",
  "site_ssh_port": 36221,
  "pc2": {
   "address": "192.168.90.66",
   "interface": "wlx94ba06f70f6c",
   "mac": "94:ba:06:f7:0f:6c",
   "profile": "site-wifi"
  }
 },
 "identity": {
  "disk": "/home/ubuntu/.local/state/g1vm/runs/20261025T032613Z-check-devices-kvm/disk.qcow2",
  "allow": [
   "/nix/store/p10gvabbjq0mvjcpl5yjk99qg4bhdwrq-g1vm-0.2.0/libexec/g1vm/allow/boot.allow",
   "/nix/store/p10gvabbjq0mvjcpl5yjk99qg4bhdwrq-g1vm-0.2.0/libexec/g1vm/allow/devices.allow",
   "/nix/store/p10gvabbjq0mvjcpl5yjk99qg4bhdwrq-g1vm-0.2.0/libexec/g1vm/allow/site.allow",
   "/nix/store/p10gvabbjq0mvjcpl5yjk99qg4bhdwrq-g1vm-0.2.0/libexec/g1vm/allow/dds.allow"
  ],
  "over": "/nix/store/axmxsd8j9hj2sq5m0d7idjbhjnazisr1-g1-virt-overlay-5.15.148-tegra/g1-virt-overlay.qcow2",
  "ok": true,
  "changed": 115,
  "undeclared": [],
  "unused": 21,
  "seconds": 11,
  "report": "/home/ubuntu/.local/state/g1vm/runs/20261025T032613Z-check-devices-kvm/identity.txt",
  "synced": true
 },
 "devices": {
  "pc2": {
   "sections": {
    "CPU": [
     "8",
     "CPU part\t: 0xd8e"
    ],
    "MEM": [
     "MemTotal:       16348288 kB"
    ],
    "LSBLK": [
     "zram0 disk",
     "zram1 disk",
     "zram2 disk",
     "zram3 disk",
     "zram4 disk",
     "zram5 disk",
     "zram6 disk",
     "zram7 disk",
     "nvme0n1 disk",
     "nvme0n1p1 part 71d8b760-717d-42d8-82dc-832a284dc6d3",
     "nvme0n1p2 part 55a7ca3a-a6a8-4bb5-ab19-393a45494a00",
     "nvme0n1p3 part 02d975fd-fba2-4c4b-b484-3c04a1f18a34",
     "nvme0n1p4 part 668bcb14-bdbc-4f31-8380-3a4f3577866a",
     "nvme0n1p5 part 01a4e74c-7eb4-4d09-8f87-0c14f160ff18",
     "nvme0n1p6 part 12303b08-cba4-42ad-a2fe-5408dc205a47",
     "nvme0n1p7 part 682c162b-bae2-4561-9374-2336f9c92924",
     "nvme0n1p8 part 6d2a7aec-661d-46df-a91d-2a2dd651b12e",
     "nvme0n1p9 part 7a2601a5-7133-459c-b81d-da0fdfcbcd4f",
     "nvme0n1p10 part 715217db-3724-4a13-a415-1850d88d2b74",
     "nvme0n1p11 part 365f32c6-9958-4454-ba7f-b628dbfdea1c",
     "nvme0n1p12 part 73865715-ffbd-47f0-9075-7107613e2b75",
     "nvme0n1p13 part 24fa7e71-fc5f-4b7d-929f-2a0e7ab92a37",
     "nvme0n1p14 part 2e2bc804-9d75-467f-96da-847e2fde5716",
     "nvme0n1p15 part 1be15857-4e69-44a8-a8a8-813a44d30b09"
    ],
    "ROOT": [
     "/dev/nvme0n1p1"
    ],
    "CMDLINE": [
     "root=PARTUUID=71d8b760-717d-42d8-82dc-832a284dc6d3 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 nospectre_bhb video=efifb:off console=tty0 console=ttyAMA0,115200"
    ],
    "INITRD": [
     "dmesg: [    0.053393] Unpacking initramfs...",
     "dmesg: [    0.248913] Freeing initrd memory: 15476K",
     "dmesg: [    2.508110] Switching from initrd to actual rootfs"
    ],
    "EFIVARS": [
     "38"
    ],
    "SLOTS": [
     "Current version: 0.0.2",
     "Capsule update status: 0",
     "Current bootloader slot: A",
     "Active bootloader slot: A",
     "num_slots: 2",
     "slot: 0,             status: normal",
     "slot: 1,             status: normal",
     "nvbootctrl_rc=0"
    ],
    "LINKS": [
     "lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>",
     "enp0s1           UP             52:54:00:12:00:02 <BROADCAST,MULTICAST,UP,LOWER_UP>",
     "enP8p1s0         UP             52:54:00:12:01:64 <BROADCAST,MULTICAST,UP,LOWER_UP>",
     "g1wifi-eth       UP             94:ba:06:f7:0f:6c <BROADCAST,MULTICAST,UP,LOWER_UP>",
     "wlx94ba06f70f6c@g1wifi-eth DORMANT        94:ba:06:f7:0f:6c <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP>",
     "can0             DOWN           <NOARP,ECHO>",
     "can1             DOWN           <NOARP,ECHO>"
    ],
    "ADDR": [
     "lo               UNKNOWN        127.0.0.1/8",
     "enp0s1           UP             10.0.2.15/24",
     "enP8p1s0         UP             192.168.123.164/24"
    ],
    "USB": [
     "1-2 0409:55aa 12 hub 314159-0000:00:05.0-2",
     "1-2.2 0c72:000c 12 peak_usb -",
     "1-3 0c72:000c 12 peak_usb -",
     "1-5 32e4:8430 480 uvcvideo 2022051301",
     "1-6 32e4:8430 480 uvcvideo 2022051301",
     "usb1 1d6b:0002 480 - 0000:00:05.0",
     "usb2 1d6b:0003 5000 - 0000:00:05.0"
    ],
    "VIDEO": [
     "/dev/video0",
     "/dev/video1",
     "/dev/video2",
     "/dev/video3"
    ],
    "BYPATH": [
     "platform-3610000.usb-usb-0:2.1.3:1.0-video-index0 /dev/video0",
     "platform-3610000.usb-usb-0:2.1.3:1.0-video-index1 /dev/video1",
     "platform-3610000.usb-usb-0:2.1.4:1.0-video-index0 /dev/video2",
     "platform-3610000.usb-usb-0:2.1.4:1.0-video-index1 /dev/video3"
    ],
    "THERMAL": [
     "thermal_zone0 cpu-thermal 45000",
     "thermal_zone1 gpu-thermal 43000",
     "thermal_zone2 cv0-thermal 42000",
     "thermal_zone3 cv1-thermal 42000",
     "thermal_zone4 cv2-thermal 42000",
     "thermal_zone5 soc0-thermal 44000",
     "thermal_zone6 soc1-thermal 44000",
     "thermal_zone7 soc2-thermal 44000",
     "thermal_zone8 tj-thermal 46000"
    ],
    "CANRULE": [
     "0dfbc2140f37fab5ded923eef4a9488a  /etc/udev/rules.d/80-can-gripper.rules"
    ],
    "CAN": [
     "can_gripper_l /sys/devices/pci0000:00/0000:00:05.0/usb1/1-3/1-3:1.0 peak_usb",
     "can_gripper_r /sys/devices/pci0000:00/0000:00:05.0/usb1/1-2/1-2.2/1-2.2:1.0 peak_usb"
    ],
    "CANJSON": [
     "[{\"ifindex\":6,\"ifname\":\"can_gripper_l\",\"flags\":[\"NOARP\",\"UP\",\"LOWER_UP\",\"ECHO\"],\"mtu\":16,\"qdisc\":\"pfifo_fast\",\"operstate\":\"UP\",\"linkmode\":\"DEFAULT\",\"group\":\"default\",\"txqlen\":10,\"link_type\":\"can\",\"promiscuity\":0,\"min_mtu\":0,\"max_mtu\":0,\"linkinfo\":{\"info_kind\":\"can\",\"info_data\":{\"state\":\"ERROR-ACTIVE\",\"berr_counter\":{\"tx\":0,\"rx\":0},\"restart_ms\":0,\"bittiming\":{\"bitrate\":1000000,\"sample_point\":0.750,\"tq\":125,\"prop_seg\":2,\"phase_seg1\":3,\"phase_seg2\":2,\"sjw\":1},\"bittiming_const\":{\"name\":\"pcan_usb\",\"tseg1\":{\"min\":1,\"max\":16},\"tseg2\":{\"min\":1,\"max\":8},\"sjw\":{\"min\":1,\"max\":4},\"brp\":{\"min\":1,\"max\":64},\"brp_inc\":1},\"clock\":8000000}},\"num_tx_queues\":1,\"num_rx_queues\":1,\"gso_max_size\":65536,\"gso_max_segs\":65535,\"parentbus\":\"usb\",\"parentdev\":\"1-3:1.0\"},{\"ifindex\":7,\"ifname\":\"can_gripper_r\",\"flags\":[\"NOARP\",\"UP\",\"LOWER_UP\",\"ECHO\"],\"mtu\":16,\"qdisc\":\"pfifo_fast\",\"operstate\":\"UP\",\"linkmode\":\"DEFAULT\",\"group\":\"default\",\"txqlen\":10,\"link_type\":\"can\",\"promiscuity\":0,\"min_mtu\":0,\"max_mtu\":0,\"linkinfo\":{\"info_kind\":\"can\",\"info_data\":{\"state\":\"ERROR-ACTIVE\",\"berr_counter\":{\"tx\":0,\"rx\":0},\"restart_ms\":0,\"bittiming\":{\"bitrate\":1000000,\"sample_point\":0.750,\"tq\":125,\"prop_seg\":2,\"phase_seg1\":3,\"phase_seg2\":2,\"sjw\":1},\"bittiming_const\":{\"name\":\"pcan_usb\",\"tseg1\":{\"min\":1,\"max\":16},\"tseg2\":{\"min\":1,\"max\":8},\"sjw\":{\"min\":1,\"max\":4},\"brp\":{\"min\":1,\"max\":64},\"brp_inc\":1},\"clock\":8000000}},\"num_tx_queues\":1,\"num_rx_queues\":1,\"gso_max_size\":65536,\"gso_max_segs\":65535,\"parentbus\":\"usb\",\"parentdev\":\"1-2.2:1.0\"}]"
    ],
    "CAP": [
     "cam 2.1.3 fmt 640 480 MJPG sizeimage 614400|summary frames 90 span_s 2.964 fps 30.03 seq_gaps 0 error_flags 0 not_jpeg 0 bytes_min 21722 bytes_max 24528 distinct_sha 90|last summary frames 90 span_s 2.964 fps 30.03 seq_gaps 0 error_flags 0 not_jpeg 0 bytes_min 21722 bytes_max 24528 distinct_sha 90",
     "cam 2.1.4 fmt 640 480 MJPG sizeimage 614400|summary frames 90 span_s 2.964 fps 30.03 seq_gaps 0 error_flags 0 not_jpeg 0 bytes_min 18439 bytes_max 19147 distinct_sha 90|last summary frames 90 span_s 2.964 fps 30.03 seq_gaps 0 error_flags 0 not_jpeg 0 bytes_min 18439 bytes_max 19147 distinct_sha 90"
    ],
    "GRIP": [
     "{",
     " \"ifaces\": [",
     "  \"can_gripper_l\",",
     "  \"can_gripper_r\"",
     " ],",
     " \"host\": \"unitree-g1-nx\",",
     " \"at\": \"2026-10-25T03:26:35Z\",",
     " \"ids\": {",
     "  \"can_gripper_l\": {",
     "   \"motors\": [",
     "    7",
     "   ],",
     "   \"mst_id\": 23,",
     "   \"pass\": true",
     "  },",
     "  \"can_gripper_r\": {",
     "   \"motors\": [",
     "    7",
     "   ],",
     "   \"mst_id\": 23,",
     "   \"pass\": true",
     "  }",
     " },",
     " \"state\": {",
     "  \"can_gripper_l\": {",
     "   \"replies\": 500,",
     "   \"lost\": 0,",
     "   \"stale\": 0,",
     "   \"seconds\": 9.98,",
     "   \"hz\": 50.0,",
     "   \"max_gap_ms\": 20.34,",
     "   \"pass\": true",
     "  },",
     "  \"can_gripper_r\": {",
     "   \"replies\": 500,",
     "   \"lost\": 0,",
     "   \"stale\": 0,",
     "   \"seconds\": 9.98,",
     "   \"hz\": 50.0,",
     "   \"max_gap_ms\": 20.26,",
     "   \"pass\": true",
     "  }",
     " },",
     " \"pass\": true",
     "}"
    ],
    "FAILED": [],
    "END": []
   },
   "rule_sha256": "16cd6b34d54dae9bc972c5ce1c52ddecd666de5af247c72b1c7d3bd55c2d343d"
  },
  "site": {
   "window_s": 60,
   "sections": {
    "LINKS": [
     "lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>",
     "enp0s1           UP             52:54:00:12:00:02 <BROADCAST,MULTICAST,UP,LOWER_UP>",
     "enP8p1s0         UP             52:54:00:12:01:64 <BROADCAST,MULTICAST,UP,LOWER_UP>",
     "g1wifi-eth       UP             94:ba:06:f7:0f:6c <BROADCAST,MULTICAST,UP,LOWER_UP>",
     "wlx94ba06f70f6c@g1wifi-eth DORMANT        94:ba:06:f7:0f:6c <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP>",
     "can_gripper_l    UP             <NOARP,UP,LOWER_UP,ECHO>",
     "can_gripper_r    UP             <NOARP,UP,LOWER_UP,ECHO>"
    ],
    "MODULES": [
     "g1_thermal_stub        16384  0",
     "virt_wifi              24576  1",
     "cfg80211              765952  1 virt_wifi"
    ],
    "NMDEV": [
     "enP8p1s0:ethernet:connected",
     "enp0s1:ethernet:connected",
     "g1wifi-eth:ethernet:connecting (getting IP configuration)",
     "wlx94ba06f70f6c:wifi:disconnected",
     "can_gripper_l:can:unmanaged",
     "can_gripper_r:can:unmanaged",
     "lo:loopback:unmanaged"
    ],
    "SCAN": [
     "coScene-Robot:WPA2:5240 MHz:AA\\:19\\:82\\:D2\\:CD\\:DF"
    ],
    "ADD": [
     "Connection 'site-wifi' (ad53b7be-de64-4f78-9b89-84c190588c75) successfully added."
    ],
    "UP": [
     "Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)"
    ],
    "STATE": [
     "activated"
    ],
    "KEYMGMT": [
     "wpa-psk"
    ],
    "IPBRA": [
     "lo               UNKNOWN        127.0.0.1/8 ::1/128",
     "enp0s1           UP             10.0.2.15/24 fec0::6ee2:3a78:91c:1c77/64 fec0::a576:8ff3:7ea0:430a/64 fe80::279:c5bf:948f:4c2/64",
     "enP8p1s0         UP             192.168.123.164/24 fe80::31b6:ec5f:7004:b3af/64",
     "g1wifi-eth       UP             fe80::3395:5014:ab73:ebd6/64",
     "wlx94ba06f70f6c@g1wifi-eth UP             192.168.90.66/24 fe80::96ba:6ff:fef7:f6c/64",
     "can_gripper_l    UP",
     "can_gripper_r    UP"
    ],
    "PING": [
     "3 packets transmitted, 3 received, 0% packet loss, time 2045ms",
     "rtt min/avg/max/mdev = 0.301/0.350/0.416/0.048 ms"
    ],
    "HEADSET": [
     "listening on 0.0.0.0:63901",
     "    0.533  conn#1 ACCEPT from 192.168.90.87:52302",
     "    0.535  conn#1 G1VM-SITE-PICO CONNECT",
     "    0.535  conn#1 G1VM-SITE-PICO VERSION app 1.1.1",
     "    0.537  conn#1 G1VM-SITE-PICO heartbeat",
     "    0.537  conn#1 clock: headset +70.5 ms from PC, rtt 1.0 ms (median of 1); probe 1: +70.5 ms, rtt 1.0 ms",
     "    1.000  conn#1 G1VM-SITE-PICO tracking 42.0/s",
     "    2.000  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "    2.536  conn#1 clock: headset +70.5 ms from PC, rtt 1.0 ms (median of 2); probe 2: +70.5 ms, rtt 1.0 ms",
     "    3.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "    4.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "    4.537  conn#1 clock: headset +70.5 ms from PC, rtt 1.0 ms (median of 3); probe 3: +70.0 ms, rtt 0.0 ms",
     "    5.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "    6.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "    6.537  conn#1 clock: headset +70.2 ms from PC, rtt 0.5 ms (median of 4); probe 4: +70.0 ms, rtt 0.0 ms",
     "    7.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "    8.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "    8.537  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 5: +70.0 ms, rtt 0.0 ms",
     "    9.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   10.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   10.537  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 6: +70.0 ms, rtt 0.0 ms",
     "   10.538  conn#1 G1VM-SITE-PICO heartbeat",
     "   11.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   12.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   12.537  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 7: +70.5 ms, rtt 1.0 ms",
     "   13.001  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   14.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   14.537  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 8: +71.0 ms, rtt 0.0 ms",
     "   15.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   16.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   16.537  conn#1 clock: headset +70.5 ms from PC, rtt 0.0 ms (median of 5); probe 9: +71.0 ms, rtt 0.0 ms",
     "   17.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   18.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   18.538  conn#1 clock: headset +70.5 ms from PC, rtt 0.0 ms (median of 5); probe 10: +70.0 ms, rtt 0.0 ms",
     "   19.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   20.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   20.536  conn#1 G1VM-SITE-PICO heartbeat",
     "   20.538  conn#1 clock: headset +70.5 ms from PC, rtt 0.0 ms (median of 5); probe 11: +70.0 ms, rtt 0.0 ms",
     "   21.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   22.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   22.538  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 12: +70.0 ms, rtt 0.0 ms",
     "   23.002  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   24.003  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   24.538  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 13: +70.5 ms, rtt 1.0 ms",
     "   25.003  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   26.003  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   26.538  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 14: +71.0 ms, rtt 0.0 ms",
     "   27.003  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   28.003  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   28.538  conn#1 clock: headset +70.5 ms from PC, rtt 0.0 ms (median of 5); probe 15: +70.5 ms, rtt 1.0 ms",
     "   29.003  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   30.003  conn#1 G1VM-SITE-PICO tracking 91.0/s",
     "   30.536  conn#1 G1VM-SITE-PICO heartbeat",
     "   30.538  conn#1 clock: headset +70.5 ms from PC, rtt 1.0 ms (median of 5); probe 16: +70.5 ms, rtt 1.0 ms",
     "   31.003  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   32.003  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   32.539  conn#1 clock: headset +70.5 ms from PC, rtt 1.0 ms (median of 5); probe 17: +70.0 ms, rtt 0.0 ms",
     "   33.003  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   34.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   34.539  conn#1 clock: headset +70.5 ms from PC, rtt 0.0 ms (median of 5); probe 18: +70.0 ms, rtt 0.0 ms",
     "   35.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   36.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   36.539  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 19: +70.0 ms, rtt 0.0 ms",
     "   37.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   38.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   38.539  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 20: +70.5 ms, rtt 1.0 ms",
     "   39.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   40.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   40.536  conn#1 G1VM-SITE-PICO heartbeat",
     "   40.539  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 21: +70.5 ms, rtt 1.0 ms",
     "   41.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   42.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   42.539  conn#1 clock: headset +70.5 ms from PC, rtt 0.0 ms (median of 5); probe 22: +71.0 ms, rtt 0.0 ms",
     "   43.004  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   44.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   44.539  conn#1 clock: headset +70.5 ms from PC, rtt 1.0 ms (median of 5); probe 23: +70.5 ms, rtt 1.0 ms",
     "   45.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   46.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   46.540  conn#1 clock: headset +70.5 ms from PC, rtt 1.0 ms (median of 5); probe 24: +70.0 ms, rtt 0.0 ms",
     "   47.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   48.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   48.540  conn#1 clock: headset +70.5 ms from PC, rtt 0.0 ms (median of 5); probe 25: +70.0 ms, rtt 0.0 ms",
     "   49.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   50.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   50.536  conn#1 G1VM-SITE-PICO heartbeat",
     "   50.540  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 26: +70.0 ms, rtt 0.0 ms",
     "   51.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   52.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   52.540  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 27: +70.0 ms, rtt 0.0 ms",
     "   53.005  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   54.006  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   54.540  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 28: +71.0 ms, rtt 0.0 ms",
     "   55.006  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   56.006  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   56.540  conn#1 clock: headset +70.0 ms from PC, rtt 0.0 ms (median of 5); probe 29: +70.5 ms, rtt 1.0 ms",
     "   57.006  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   58.006  conn#1 G1VM-SITE-PICO tracking 90.0/s",
     "   58.540  conn#1 clock: headset +70.5 ms from PC, rtt 0.0 ms (median of 5); probe 30: +71.0 ms, rtt 0.0 ms",
     "   59.006  conn#1 G1VM-SITE-PICO tracking 90.0/s"
    ],
    "THERMAL": [
     "thermal_zone0 thermal_zone1 thermal_zone2 thermal_zone3 thermal_zone4 thermal_zone5 thermal_zone6 thermal_zone7 thermal_zone8",
     "thermal_zone0 cpu-thermal 45000",
     "thermal_zone1 gpu-thermal 43000",
     "thermal_zone2 cv0-thermal 42000",
     "thermal_zone3 cv1-thermal 42000",
     "thermal_zone4 cv2-thermal 42000",
     "thermal_zone5 soc0-thermal 44000",
     "thermal_zone6 soc1-thermal 44000",
     "thermal_zone7 soc2-thermal 44000",
     "thermal_zone8 tj-thermal 46000"
    ],
    "FAILED": [],
    "WPA": [
     "<info>  [1792898811.4778] device (wlx94ba06f70f6c): Activation: starting connection 'site-wifi' (ad53b7be-de64-4f78-9b89-84c190588c75)",
     "<info>  [1792898811.4782] device (wlx94ba06f70f6c): supplicant interface state: associating -> disconnected",
     "<info>  [1792898811.4784] device (wlx94ba06f70f6c): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')",
     "<info>  [1792898811.4787] device (wlx94ba06f70f6c): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')",
     "<info>  [1792898811.4789] device (wlx94ba06f70f6c): Activation: (wifi) access point 'site-wifi' has security, but secrets are required.",
     "<info>  [1792898811.4789] device (wlx94ba06f70f6c): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')",
     "<info>  [1792898811.4796] device (wlx94ba06f70f6c): state change: need-auth -> prepare (reason 'none', sys-iface-state: 'managed')",
     "<info>  [1792898811.4798] device (wlx94ba06f70f6c): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')",
     "<info>  [1792898811.4799] device (wlx94ba06f70f6c): Activation: (wifi) connection 'site-wifi' has security, and secrets exist.  No new secrets needed.",
     "wlx94ba06f70f6c: Trying to associate with aa:19:82:d2:cd:df (SSID='coScene-Robot' freq=5240 MHz)",
     "<info>  [1792898811.4964] device (wlx94ba06f70f6c): supplicant interface state: disconnected -> associating",
     "wlx94ba06f70f6c: Associated with aa:19:82:d2:cd:df",
     "wlx94ba06f70f6c: CTRL-EVENT-CONNECTED - Connection to aa:19:82:d2:cd:df completed [id=0 id_str=]",
     "<info>  [1792898813.5060] device (wlx94ba06f70f6c): supplicant interface state: associating -> completed",
     "<info>  [1792898813.5061] device (wlx94ba06f70f6c): Activation: (wifi) Stage 2 of 5 (Device Configure) successful. Connected to wireless network \"coScene-Robot\"",
     "<info>  [1792898813.5065] device (wlx94ba06f70f6c): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')",
     "<info>  [1792898813.5081] device (wlx94ba06f70f6c): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')",
     "<info>  [1792898813.5102] device (wlx94ba06f70f6c): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')",
     "<info>  [1792898813.5106] device (wlx94ba06f70f6c): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')",
     "<info>  [1792898813.5117] device (wlx94ba06f70f6c): Activation: successful, device activated."
    ],
    "END": []
   }
  },
  "dds": {
   "window_s": 60,
   "nic": [
    "renamed_from=-",
    "address=nm-profile",
    "enP8p1s0         UP             192.168.123.164/24 fe80::31b6:ec5f:7004:b3af/64 "
   ],
   "probe_build_s": 12.2,
   "probe": {
    "interface": "enP8p1s0",
    "window_s": 60.0,
    "lowstate": {
     "samples": 62499,
     "samples_hz": 1041.65,
     "ticks_hz": 999.97,
     "first_tick": 3657428,
     "last_tick": 3717426,
     "gaps": 69,
     "missing": 88,
     "repeated": 2507,
     "backwards": 31,
     "per_second_min": 1040,
     "per_second_max": 1043,
     "total": 66055,
     "motor_len_min": 35,
     "motor_len_max": 35,
     "used_min": 29,
     "used_max": 29
    },
    "lowstate_synth": {
     "samples": 60000,
     "samples_hz": 1000.0,
     "ticks_hz": 999.98,
     "first_tick": 3410,
     "last_tick": 63409,
     "gaps": 0,
     "missing": 0,
     "repeated": 0,
     "backwards": 0,
     "per_second_min": 1000,
     "per_second_max": 1000,
     "total": 63409
    },
    "bmsstate": {
     "window": 60,
     "total": 63
    },
    "secondary_imu": {
     "window": 30000,
     "total": 31708
    },
    "rpc": {
     "get_volume_ret": 0,
     "volume": 100,
     "first_answer_s": 0.001,
     "calls": 20,
     "failed": 0,
     "ms_min": 0.312,
     "ms_median": 0.358,
     "ms_p95": 0.512,
     "ms_max": 0.512,
     "mic_enable_ret": 0
    },
    "play": {
     "ret": 0,
     "stop_ret": 0,
     "app": "g1vm-probe",
     "bytes": 16000
    },
    "led": {
     "ret": 0,
     "rgb": [
      10,
      200,
      30
     ]
    },
    "lowcmd": {
     "sent": 1000,
     "written": 1000,
     "hz": 500
    },
    "dex3": {
     "left": {
      "cmd_sent": 100,
      "cmd_written": 100,
      "state_window": 6000,
      "state_total": 6342,
      "motor_len_min": 7,
      "motor_len_max": 7,
      "moved": false
     },
     "right": {
      "cmd_sent": 100,
      "cmd_written": 100,
      "state_window": 6000,
      "state_total": 6332,
      "motor_len_min": 7,
      "motor_len_max": 7,
      "moved": false
     }
    }
   },
   "lowstate_vs_take": {
    "pc2_anomalies": 100,
    "take_own": 100,
    "extra": 0,
    "extra_first": [],
    "take_anomalies_total": 188
   },
   "synth_losses": {
    "anomalies": 0,
    "restarts": 0,
    "lost": 0,
    "missing": 0,
    "lost_first": []
   },
   "pc1d": {
    "status": {
     "ev": "status",
     "volume": 100,
     "led": [
      10,
      200,
      30
     ],
     "mic_on": true,
     "mode": {
      "form": "0",
      "name": "ai"
     },
     "lowcmd_n": 1000,
     "played": {},
     "dex3_cmd": {
      "left": 100,
      "right": 100
     },
     "t": 1792898964.959
    },
    "calls": [
     {
      "api": 1003,
      "code": 0,
      "binary": 16000,
      "param": "{\"app_name\":\"g1vm-probe\",\"stream_id\":\"g1vm-probe-1\"}"
     },
     {
      "api": 1004,
      "code": 0,
      "binary": 0,
      "param": "{\"app_name\":\"g1vm-probe\"}"
     },
     {
      "api": 1010,
      "code": 0,
      "binary": 0,
      "param": "{\"B\":30,\"G\":200,\"R\":10}"
     }
    ]
   },
   "mic": {
    "packets": 393,
    "tcpdump_err": [
     "393 packets captured",
     "394 packets received by filter",
     "0 packets dropped by kernel"
    ],
    "sources": [
     "192.168.123.161"
    ],
    "lengths": [
     5120
    ],
    "first_lines": [
     "1792898904.588180 IP 192.168.123.161.53850 > 239.168.123.161.5555: UDP, length 5120",
     "1792898904.748187 IP 192.168.123.161.53850 > 239.168.123.161.5555: UDP, length 5120",
     "1792898904.908183 IP 192.168.123.161.53850 > 239.168.123.161.5555: UDP, length 5120"
    ],
    "span_s": 62.72,
    "packets_hz": 6.25,
    "bytes_per_s": 32000.0
   }
  }
 },
 "can_personality": "peak",
 "gripper_sim": {
  "unix:/tmp/g1vm-q1fdzgf9/canl.sock": {
   "rx": 519,
   "tx": 504,
   "ignored": 15,
   "esc": 7,
   "mst": 23
  },
  "unix:/tmp/g1vm-q1fdzgf9/canr.sock": {
   "rx": 519,
   "tx": 504,
   "ignored": 15,
   "esc": 7,
   "mst": 23
  }
 },
 "verdict": {
  "ok": true,
  "counts": {
   "pass": 22,
   "out": 7,
   "not run": 1
  },
  "rows": [
   {
    "device": "CPU cores, judged by nproc (Cortex-A78AE on the robot; the model only under tcg, the host CPU under kvm/hvf)",
    "count": 8,
    "unit": "U1",
    "note": "-smp 8; -cpu host under kvm/hvf, cortex-a78ae under tcg (the exact ISA only there, U12)",
    "evidence": {
     "cpu": {
      "nproc": "8",
      "cpu_part": "0xd8e",
      "cpu_model": "host",
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "RAM",
    "count": "16 GB",
    "unit": "U1",
    "evidence": {
     "ram": {
      "mem_total_gib": 15.59,
      "qemu_m": "16G",
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "NVMe nvme0n1, 15-partition GPT",
    "count": 1,
    "unit": "U7",
    "evidence": {
     "nvme": {
      "disk": "nvme0n1",
      "partitions": 15,
      "root": "/dev/nvme0n1p1",
      "root_partuuid": "71d8b760-717d-42d8-82dc-832a284dc6d3",
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "System disk content: the robot's image + the virt overlay, every write of the run declared",
    "count": 1,
    "unit": "U2",
    "note": "g1vm diff --run: the run disk against the overlay layer; each path written matches tools/g1vm/allow (boot, devices, site, dds); identity.txt in the run",
    "evidence": {
     "identity": {
      "ok": true,
      "brief": "115 paths written, 0 undeclared \u2014 /home/ubuntu/.local/state/g1vm/runs/20261025T032613Z-check-devices-kvm/identity.txt"
     }
    },
    "state": "pass"
   },
   {
    "device": "Boot firmware: UEFI, ESP -> L4TLauncher -> extlinux, UEFI variables",
    "count": 1,
    "unit": "U7",
    "note": "the variable round trip across a reboot: g1vm check uefi; the recovery-partition boot: g1vm check recovery",
    "evidence": {
     "firmware": {
      "l4tlauncher_direct_boot": true,
      "efi_initrd": true,
      "kernel_on_qemu_line": false,
      "cmdline_is_extlinux_primary": true,
      "efivars": "38",
      "bootloader_slot_a": true,
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Boot firmware: QSPI bootloader slots, recovery-mode USB",
    "count": 1,
    "unit": "-",
    "state": "out",
    "ruling": "R2 N3: the system-disk half, boot and A/B in the VM; recovery mode and the QSPI write on real hardware only"
   },
   {
    "device": "Rootfs A/B slot switch",
    "count": "-",
    "unit": "-",
    "state": "out",
    "ruling": "Decision 16: the image has one APP partition, no second rootfs slot"
   },
   {
    "device": "GbE enP8p1s0",
    "count": 1,
    "unit": "U2, U3",
    "note": "the name and the robot's address here; the robot LAN and its multicast: the internal-switch row",
    "evidence": {
     "nic": {
      "link": "enP8p1s0 UP 52:54:00:12:01:64 <BROADCAST,MULTICAST,UP,LOWER_UP>",
      "addr": "enP8p1s0 UP 192.168.123.164/24",
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "USB Wi-Fi wlx94ba06f70f6c",
    "count": 1,
    "unit": "U4",
    "note": "virt_wifi stand-in (WPA2-PSK) on the site switch",
    "evidence": {
     "wifi": {
      "ok": true,
      "profile": {
       "key_mgmt": "wpa-psk",
       "ap": [
        "coScene-Robot:WPA2:5240 MHz:AA\\:19\\:82\\:D2\\:CD\\:DF"
       ],
       "ok": true
      },
      "state": "activated",
      "address": "wlx94ba06f70f6c@g1wifi-eth UP 192.168.90.66/24 fe80::96ba:6ff:fef7:f6c/64"
     }
    },
    "state": "pass"
   },
   {
    "device": "Wi-Fi radio driver rtl8852bu, radio flows (scan, power save)",
    "count": "-",
    "unit": "-",
    "state": "out",
    "ruling": "Decision 7: the rtl8852bu driver on real hardware only; mac80211_hwsim is a follow-on card"
   },
   {
    "device": "Wrist cameras ELP 32e4:8430 (capture + metadata node each)",
    "count": "2 x 2 nodes",
    "unit": "U5",
    "evidence": {
     "cameras": {
      "usb": [
       "1-5 32e4:8430 480 uvcvideo",
       "1-6 32e4:8430 480 uvcvideo"
      ],
      "video_nodes": [
       "/dev/video0",
       "/dev/video1",
       "/dev/video2",
       "/dev/video3"
      ],
      "robot_bypath": {
       "platform-3610000.usb-usb-0:2.1.3:1.0-video-index0": "/dev/video0",
       "platform-3610000.usb-usb-0:2.1.3:1.0-video-index1": "/dev/video1",
       "platform-3610000.usb-usb-0:2.1.4:1.0-video-index0": "/dev/video2",
       "platform-3610000.usb-usb-0:2.1.4:1.0-video-index1": "/dev/video3"
      },
      "frames": {
       "2.1.3": 90.0,
       "2.1.4": 90.0
      },
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Wrist cameras: MJPG 640x480 at 30 fps, no lost or bad frames",
    "count": 2,
    "unit": "U5",
    "evidence": {
     "camera_rate": {
      "fps": {
       "2.1.3": 30.03,
       "2.1.4": 30.03
      },
      "quality": {
       "2.1.3": {
        "seq_gaps": 0.0,
        "error_flags": 0.0,
        "not_jpeg": 0.0
       },
       "2.1.4": {
        "seq_gaps": 0.0,
        "error_flags": 0.0,
        "not_jpeg": 0.0
       }
      },
      "accel": "kvm",
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Head camera OAK-D-W",
    "count": 1,
    "unit": "-",
    "state": "out",
    "ruling": "R1 N4: \u300c\u6682\u65f6\u4e0d\u78b0\u5b83\u300d \u2014 private protocol, not now; a partial model later as its own card"
   },
   {
    "device": "USB-CAN adapters (PEAK PCAN-USB on 66, canable2 gs_usb on the fleet)",
    "count": 2,
    "unit": "U6a, U6b",
    "note": "g1vm --can peak (66's, default) or gs; drivers from the overlay (not in the robot kernel)",
    "evidence": {
     "can": {
      "personality": "peak",
      "interfaces": {
       "can_gripper_l": {
        "port": "1-3",
        "driver": "peak_usb",
        "operstate": "UP",
        "state": "ERROR-ACTIVE",
        "bitrate": 1000000
       },
       "can_gripper_r": {
        "port": "1-2.2",
        "driver": "peak_usb",
        "operstate": "UP",
        "state": "ERROR-ACTIVE",
        "bitrate": 1000000
       }
      },
      "rule_md5": "0dfbc2140f37fab5ded923eef4a9488a",
      "others": [],
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "YAM grippers (DM4310 motors)",
    "count": 2,
    "unit": "U6c",
    "note": "gripper-sim on QEMU's can-host-chardev: one motor per bus at ESC_ID 0x07 / MST_ID 0x17, answering",
    "evidence": {
     "grippers": {
      "motors": {
       "can_gripper_l": [
        7
       ],
       "can_gripper_r": [
        7
       ]
      },
      "mst_id": {
       "can_gripper_l": 23,
       "can_gripper_r": 23
      },
      "replies": {
       "can_gripper_l": 500,
       "can_gripper_r": 500
      },
      "sim": {
       "unix:/tmp/g1vm-q1fdzgf9/canl.sock": {
        "rx": 519,
        "tx": 504,
        "ignored": 15,
        "esc": 7,
        "mst": 23
       },
       "unix:/tmp/g1vm-q1fdzgf9/canr.sock": {
        "rx": 519,
        "tx": 504,
        "ignored": 15,
        "esc": 7,
        "mst": 23
       }
      },
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "YAM grippers: 50 Hz state poll, no exchange lost",
    "count": 2,
    "unit": "U6c",
    "note": "10 ms per exchange, the robot driver's wait; the 2 ms tail (U6c card) is not judged here",
    "evidence": {
     "gripper_rate": {
      "hz": {
       "can_gripper_l": 50.0,
       "can_gripper_r": 50.0
      },
      "lost": {
       "can_gripper_l": 0,
       "can_gripper_r": 0
      },
      "max_gap_ms": {
       "can_gripper_l": 20.34,
       "can_gripper_r": 20.26
      },
      "accel": "kvm",
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "GPU (T4G via VFIO, SBSA stack)",
    "count": 1,
    "unit": "U9",
    "evidence": {
     "gpu": {
      "skipped": "g1vm --gpu (U9: the T4G passed through on g5g.metal) is not built; quota-blocked"
     }
    },
    "state": "not run",
    "why": "g1vm --gpu (U9: the T4G passed through on g5g.metal) is not built; quota-blocked"
   },
   {
    "device": "DLA, NVENC, nvargus, the Jetson GPU driver",
    "count": "-",
    "unit": "-",
    "state": "out",
    "ruling": "R2 N2: the server GPU passed through; DLA, NVENC, nvargus and the Jetson driver on real hardware only"
   },
   {
    "device": "Thermal zones",
    "count": 9,
    "unit": "U2, U4",
    "note": "robot 66's DTB zone names, fixed readings",
    "evidence": {
     "thermal": {
      "zones": [
       "cpu-thermal 45000",
       "gpu-thermal 43000",
       "cv0-thermal 42000",
       "cv1-thermal 42000",
       "cv2-thermal 42000",
       "soc0-thermal 44000",
       "soc1-thermal 44000",
       "soc2-thermal 44000",
       "tj-thermal 46000"
      ],
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "USB by-path identities",
    "count": "-",
    "unit": "U2, U6a",
    "note": "cameras platform-3610000.usb-usb-0:2.1.3 / 2.1.4 (U2 symlinks); CAN at the robot's ports 1-3 / 1-2.2",
    "evidence": {
     "bypath": {
      "cameras": [
       "platform-3610000.usb-usb-0:2.1.3:1.0-video-index0",
       "platform-3610000.usb-usb-0:2.1.3:1.0-video-index1",
       "platform-3610000.usb-usb-0:2.1.4:1.0-video-index0",
       "platform-3610000.usb-usb-0:2.1.4:1.0-video-index1"
      ],
      "can": {
       "can_gripper_l": "1-3",
       "can_gripper_r": "1-2.2"
      },
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Headset link (PICO over Wi-Fi)",
    "count": 1,
    "unit": "U4",
    "note": "fake-headset on the site switch at ~90 Hz to PC2's :63901; cable mode on the robot switch is not run",
    "evidence": {
     "headset": {
      "from": [
       "192.168.90.87"
      ],
      "reports": 59,
      "window_s": 60,
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Headset link: tracking at 90 Hz",
    "count": 1,
    "unit": "U4",
    "evidence": {
     "headset_rate": {
      "hz_median": 90.0,
      "hz_min": 90.0,
      "hz_max": 91.0,
      "accel": "kvm",
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Motors rt/lowstate / rt/lowcmd",
    "count": "29 of 35",
    "unit": "U3",
    "note": "every window sample: motor_state 35 slots, 29 in use (mode or supply voltage non-zero); 1,000 passive rt/lowcmd at 500 Hz, each counted by pc1d",
    "evidence": {
     "motors": {
      "slots": [
       35,
       35
      ],
      "in_use": [
       29,
       29
      ],
      "samples": 62499,
      "ok": true
     },
     "lowcmd": {
      "sent": 1000,
      "written": 1000,
      "hz": 500,
      "pc1d_received": 1000,
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Motors: rt/lowstate at 1 kHz, no sample lost (take + synthetic)",
    "count": 1,
    "unit": "U3",
    "note": "the take's rt/lowstate 1,000 +/- 50 Hz, no gaps beyond its own; rt/lowstate_synth (the take's sample, gap-free tick, same publisher and QoS) 1,000 +/- 50 Hz, no gap at all",
    "evidence": {
     "lowstate_rate": {
      "samples_hz": 1041.65,
      "ticks_hz": 999.97,
      "gaps_seen": 69,
      "backwards_seen": 31,
      "take_own": 100,
      "gaps_beyond_take": 0,
      "synth_hz": 1000.0,
      "synth_lost": 0,
      "synth_missing": 0,
      "window_s": 60.0,
      "accel": "kvm",
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Pelvis IMU, torso IMU, BMS, remote-controller bytes",
    "count": "1 each",
    "unit": "U3",
    "note": "rt/secondary_imu and rt/lf/bmsstate from pc1d; the pelvis IMU and remote bytes ride in rt/lowstate",
    "evidence": {
     "pc1_topics": {
      "bmsstate": 60,
      "secondary_imu": 30000,
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Speaker (PlayStream), microphone array (multicast), LEDs (API 1010)",
    "count": "1 each",
    "unit": "U3",
    "note": "the voice service's GetVolume RPC < 50 ms, the mic multicast at 16 kHz s16le; one PlayStream (0.5 s, 16 kHz s16le) whose bytes pc1d logs, one LedControl whose colour pc1d holds",
    "evidence": {
     "voice": {
      "ok": true,
      "rpc": {
       "ret": 0,
       "calls": 20,
       "ms_median": 0.358,
       "ms_max": 0.512,
       "ok": true
      },
      "mic": {
       "packets": 393,
       "packets_hz": 6.25,
       "bytes_per_s": 32000.0,
       "lengths": [
        5120
       ],
       "ok": true
      },
      "play": {
       "ret": 0,
       "stop_ret": 0,
       "bytes": 16000,
       "pc1d": [
        {
         "api": 1003,
         "code": 0,
         "binary": 16000,
         "param": "{\"app_name\":\"g1vm-probe\",\"stream_id\":\"g1vm-probe-1\"}"
        }
       ],
       "ok": true
      },
      "led": {
       "ret": 0,
       "rgb": [
        10,
        200,
        30
       ],
       "pc1d_led": [
        10,
        200,
        30
       ],
       "ok": true
      }
     }
    },
    "state": "pass"
   },
   {
    "device": "Dex3 hands",
    "count": 0,
    "unit": "U3",
    "note": "none on 66, where the upstream controller still writes rt/dex3/*/cmd: per side 100 cmds each counted by pc1d, rt/dex3/*/state 7 motors and no motion",
    "evidence": {
     "dex3": {
      "left": {
       "cmd_sent": 100,
       "cmd_written": 100,
       "pc1d_received": 100,
       "state_samples": 6000,
       "state_motors": [
        7,
        7
       ],
       "moved": false
      },
      "right": {
       "cmd_sent": 100,
       "cmd_written": 100,
       "pc1d_received": 100,
       "state_samples": 6000,
       "state_motors": [
        7,
        7
       ],
       "moved": false
      },
      "ok": true
     }
    },
    "state": "pass"
   },
   {
    "device": "Internal L2 switch",
    "count": 1,
    "unit": "U3",
    "note": "the run's VDE switch robot: PC1 at .161 reaches PC2 at .164",
    "evidence": {
     "lan_switch": {
      "ok": true,
      "pc1": {
       "address": "192.168.123.161",
       "interface": "robot",
       "mac": "52:54:00:12:01:61"
      },
      "pc2": "192.168.123.164",
      "via": "VDE switch robot"
     }
    },
    "state": "pass"
   },
   {
    "device": "Inspire/DFX hands, Mid-360, RealSense, router .1",
    "count": "0 / unknown on 66",
    "unit": "-",
    "state": "out",
    "ruling": "not on robot 66's inventory (results/explore/g1-devices.md \u00a7 2b-2c)"
   },
   {
    "device": "Real control-loop timing, the Orin's microarchitecture",
    "count": "-",
    "unit": "-",
    "state": "out",
    "ruling": "r3-followups: only a real Jetson"
   }
  ],
  "reasons": []
 }
}