Rig

Both boxes are wired like this, behind the same hub on the same PC.

+-------------------------+
|    PC: tests, usbmon    |
+------------+------------+
             |
+------------+------------+
|           hub           |
+---+--------+--------+---+
    |        |        |
  USB1     USB2   emulator
  clone   control  control
    |        |        |
+---+--------+---+    |
|      box       |    |
+-------+--------+    |
        | USB3        |
+-------+-------------+---+
|   USB device emulator   |
+-------------------------+
ItemDetail
FirmwareStock V4.094, Medius 3.4.6
Real deviceA USB device emulator on each box's USB3, presenting the same device and native reports to both
HubOne Genesys Logic hub for both boxes. One box was tested at a time. The other box's emulator presented a silent mouse
PCLinux

Rules

RuleDetail
RowOne condition, run on both boxes with the same test, settings, sample size and timing layer
TableOne quantity in one unit
TimeThe median (p50), unless the table names another statistic
RangeLowest to highest over the runs. The fainter part of a bar spans it
BarDrawn to the largest value in its table, or in its row on the Overview
ResultThe box ahead, worked out from the values. The box behind is dimmed
FaithfulIf a test records native behaviour, the box that matches it is ahead
EqualThe two ranges overlap, or the outcomes match
DiffersThe boxes behave differently. Neither is better, or no test shows which is faithful
DefectA fault that reproduces, marked on its row and listed on the Overview

Timing layers

LayerDetail
WireUSB packets on the PC's bus, timed by the kernel's usbmon
evdevInput events, timed by the kernel as the HID driver handles each report
hidrawEach report byte for byte, timed when the reading program wakes
HostThe PC's clock, read by the test program when it writes a command, or when the clone connects or disconnects
EmulatorWhen the emulator queued each native report, on its clock, mapped to the bus clock to within ±95 µs by its control link's packets (usbmon)

Data

The results as JSON, all in one file or split by area.

FileArea
comparison.jsonAll
devices.jsonDevices
passthrough.jsonPassthrough
injection.jsonInjected motion
control-link.jsonControl link
input.jsonButtons, keys and locks
recovery.jsonRecovery
features.jsonFeatures
software.jsonSoftware