A faster boot, and waveforms off the scope at the network's speed

Asked by Hydron on the EEVblog forum, 9 October 2026. Thank you: here is what NovaOS does now.

being built · MHO900, DHO800/900 · the video is the real scope's screen through an HDMI capture; the pointer and the tap rings mark the touches

What was asked

Unlike Ian, the boot time DOES bother me - the Rigol ~minute is a major pain ... compared to the ~10s I get from my RTB2004.
Boot in seconds, not a minute.
One area where people were unhappy was the waveform upload speed over network connections (e.g. for feeding it to something like ngscopeclient). Someone has already managed to hack the original Rigol FW to improve this to the point where the 100MBit ethernet interface is the bottleneck - is this a similar speed in your firmware?
Waveform download over the network as fast as the 100 Mbit link allows, for clients such as ngscopeclient.

What NovaOS does now

The scope screen about 9 s after the kernel starts, a live trace at about 11 s

On a DHO924S NovaOS shows the scope screen 8.9 s after the Linux kernel starts and a live trace, the acquisition engine's first waveform on the screen, at 10.7 s (medians of six restarts). An MHO934 shows its screen at 9.5 s. Counted from the moment the boot loader starts the processor's timer, that is about 13.7 s to the screen and 15.4 s to a live trace on the DHO and 13.9 s to the screen on the MHO; Rigol's firmware on the same two scopes takes 44-50 s (DHO) and about 48 s (MHO) from the kernel's start to its screen. The kernel no longer reads the display's EDID or lights the panel during its own start (the boot splash does that alongside), prints only errors on the unused serial console, the FPGA bring-up starts with the first services, and its boot command goes to the FPGA once the FPGA's start-up image answers. The first 4 s, in Rigol's boot loader before the kernel, are unchanged; a power-on from cold adds the processor's own start before its timer runs. The video is a restart on the DHO924S, by touch from the System sheet: the scope is back, running with its settings, 17.9 s after Restart was tapped, the shutdown included.

Waveforms off the scope at the Ethernet port's own speed

A record of any depth comes off the 100 Mb/s Ethernet port at 11.8 MB/s, the port's own limit, over the SCPI socket (port 5555); VXI-11 carries about 11 MB/s. NovaOS sends a deep :WAV:DATA? while it reads it from the acquisition memory, so its first byte leaves about 12 ms after the query even for a 50 Mpts record, and a 100 Mpts record on the MHO934 comes whole in one read. Whole 1 Mpts captures, re-armed each time: 4.3 a second on the MHO934 and 5.3 on the DHO924S, where the port allows 5.9; Rigol's firmware gives 0.57 on the MHO900 by the community's count.

ngscopeclient on the MHO900 and the DHO900

ngscopeclient's Rigol driver asks an MHO900 for its options (RLU-05, BWU03T05, ...) as it connects and waits for the answers; NovaOS knows those names and answers them, so ngscopeclient connects to an MHO900 running NovaOS. Its acquisition loop runs at 47 waveforms a second at 10 kpts and 4.6 at 1 Mpts on a DHO924S, and up to 182 a second in its 1 kpts live mode.

A USB gigabit adapter as a faster port

The 100 Mb/s port is the limit, so NovaOS brings up a USB Ethernet adapter plugged into the scope's USB host port (ASIX AX88179 and AX88179B, Realtek RTL8152 and RTL8153, CDC Ethernet and NCM adapters): an address by DHCP or link-local, the scope's SCPI, VXI-11, web pages and mDNS name on it, and the scope's replies leaving by the faster port. Not yet tried with an adapter on our bench: its speed will be measured with an AX88179B.

Try it and tell us what to change: reply on NovaOS's thread on the EEVblog forum. Every release is listed in the changelog.