Skip to content

Bug Report: RTL-SDR Blog V4 Fails to Initialize in adsb-multi-portal-feeder on HAOS/HA Green #443

@nycterent

Description

@nycterent

Hi Max,
This documents a fully reproducible failure of RTL-SDR Blog V4 devices inside the adsb-multi-portal-feeder add-on on HAOS / Home Assistant Green.
The issue appears to be kernel-level, not userland, but it directly affects the add-on’s functionality.

Providing full diagnostics below.

Environment

Hardware
• Home Assistant Green
• RTL-SDR Blog V4
• Chipset: RTL2832U + R828D
• Serial: 00000001

Software
• HAOS (latest stable, stock kernel)
• Add-on: adsb-multi-portal-feeder (latest from your repo)

Expected Behavior
• Dongle initializes via librtlsdr
• R828D PLL locks
• dump1090 receives Mode S packets
• Add-on feeds data to configured portals

Actual Behavior
• Device is detected over USB with correct vendor/product
• R828D tuner is identified
• Initialization fails
• No ADS-B or Mode S messages received
• All portal sidecars remain at zero traffic indefinitely

No explicit driver errors are surfaced in add-on logs.

Reproduction Steps
1. Install adsb-multi-portal-feeder add-on
2. Plug in RTL-SDR Blog V4 into HA Green
3. Enter container:

docker exec -it bash

4.	Run driver test:

rtl_test -t

Output:

Found 1 device(s):
0: RTLSDRBlog, Blog V4, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R828D tuner
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
No E4000 tuner found, aborting.

5.	Run bundled dump1090:

/usr/lib/fr24/dump1090 --net --raw

Observed:
• Zero messages
• RSSI stuck at -100 dB
• No aircraft ever listed
• No decode failures logged
• No FEC hits

6.	Test same dongle on macOS and Windows:
•	Works immediately
•	PLL locks
•	dump1090-fa decodes normally

→ Hardware confirmed healthy.

Diagnostics / Findings

  1. PLL never locks on HAOS

This is consistent even after reboot, different USB ports, USB hubs, etc.

  1. HAOS kernel lacks V4 patches

The add-on uses librtlsdr 2.0.2 in userland, but HAOS kernel does not include the blog V4 patches for R828D stability (present in rtl-sdr-blog 1.3.x).

Userland cannot compensate for missing kernel module behavior.

  1. Bias-tee cannot be engaged

rtl_biast is unavailable inside container.
Even when manually included, HAOS kernel filtering prevents activating bias-tee on V4 models.

Some antennas require bias-tee for stable gain.

  1. USB power not root cause

Same dongle works on lower-power MacBook USB-C.

  1. Userland decoding works everywhere else

dump1090-fa + rtl-sdr works cleanly on macOS and Windows confirming this is not a hardware issue.

Conclusion

The failure is not specific to the add-on configuration.
It appears to be caused by incomplete RTL-SDR V4 kernel support in HAOS, which:
• prevents PLL lock,
• prevents proper gain stages,
• blocks bias-tee activation,
• results in dump1090 receiving no usable I/Q samples.

Because the add-on is constrained by HAOS kernel modules, it cannot fix RTL-SDR V4 compatibility.

Workaround

Decode externally and feed Beast/SBS into the add-on’s portal sidecars:

RTL-SDR V4 → dump1090-fa (external host) → Beast 30005 → HA add-on feeders

This configuration somewhat works.

Not asking you to “fix” this — it’s outside container scope.
But two improvements would help all HAOS users:
1. Document that RTL-SDR Blog V4 is not compatible with HAOS kernels
2. Optionally: add detection + warning inside container when V4 is identified but PLL never locks

This would prevent users from assuming it’s a misconfiguration.

If HAOS kernel ever gets V4 patches, your add-on should work without changes.

Happy to provide logs, host dmesg, full usb descriptors, or run additional tests if needed.

My workarounds are somewhat limited due to HA Green protections of the host.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions