RTL-SDR Blog V4 owners: please update. Your dongle has been tuned from the wrong crystal since the native driver arrived in 0.91.0. The driver never recognised a V4, because its USB name request asked for one byte more than a device will answer, so the tuner was set up as a plain R828D and could open and stream but not lock on any frequency. It is recognised now, the V4's upconverter, notches and input switching work as intended, and the log names the dongle and its 28.8 MHz reference when it opens. No V4 was on the desk this was built on: the fix is proven on a plain RTL2838 here, whose name the driver was silently missing too, and against the V4 register path in tests.
Four faults from the crash reports, fixed.
- On a machine whose processor could not keep up with the receiver, the window could freeze for seconds because the settings it reads every frame waited behind the signal chain's lock. Those readings are now lock-free, so an overloaded machine stutters instead of freezing.
- When the SoapySDR radio scan's helper process died (the known contained libusb fault), FoxSDR could crash while writing the report about it, because it tried to walk its own stack on a thread that had none to spare. A report about a helper process no longer walks anything.
- Pressing the update key raised Windows' elevation prompt, and the hang watchdog filed the wait as a freeze. The prompt is now recognised as a wait the application entered on purpose, as are the reports-folder and privacy-policy links.
- A display change or a driver refusing to present a frame (monitor off, resolution change, a remote session) was filed as a FoxSDR hang. Display changes and minimised windows now pause the watchdog, and a stall inside the display driver is recorded locally as a stall rather than reported as a fault.
None of the four could be reproduced on hardware here; each is proven against the fault's own shape in tests.
SHA-256 of foxsdr-setup-0.96.4.exe:
3be2be0fcdbd3ce0ac6a2b1030f9204e38fffc44b5947b99b0f6c39c73ed83af