Skip to content

DVB-S2 Incompatibility

DVB-S2 (ETSI EN 302 307) requires two forward error correction technologies that do not exist in the BCM4500:

FEC ComponentBCM4500 HasDVB-S2 Requires
Inner codeViterbi (convolutional) + TurboLDPC (Low-Density Parity-Check)
Outer codeReed-Solomon (t=10)BCH (Bose-Chaudhuri-Hocquenghem)
Block sizeStreaming (Viterbi) or short turbo blocks64,800 or 16,200 bits
Decoder typeTrellis-based / iterative turboIterative belief propagation

LDPC decoding requires dedicated silicon: large block RAM for message passing (the LDPC block is 64,800 bits), iterative belief propagation logic, and a fundamentally different decoder architecture. This cannot be emulated in firmware on the BCM4500’s simple 8-bit on-chip microcontroller, which handles only configuration, acquisition, and monitoring — not data-path processing.

The BCM4500 contains exactly two FEC decoder paths (from the BCM4500 datasheet):

Used for DVB-S QPSK, DSS QPSK, DVB-S BPSK, and Digicipher II modes.

ParameterValue
Inner decoderViterbi (convolutional)
Code rates1/2, 2/3, 3/4, 5/6, 7/8
Outer decoderReed-Solomon
Signal pathSoft decisions fed to Viterbi, then RS outer code
ModulationsBPSK, QPSK

Firmware evidence (XRAM 0xE0F9): FEC lookup table with max index 7. Modulation dispatch sets XRAM 0xE0F6 = 0x00 (turbo flag OFF), XRAM 0xE0F5 = 0x10 (standard demod mode).

Windows driver: m_CurResource.ulInnerFecType = BDA_FEC_VITERBI — explicitly rejects any FEC type other than Viterbi.

The BCM4500 datasheet states explicitly: “Optimized soft decisions are then fed into either a DVB/DIRECTV/DCII-compliant FEC decoder, or an advanced modulation turbo decoder.” These are the only two FEC paths. There is no third path for LDPC/BCH.

Zero DVB-S2 Evidence in Firmware or Driver

Section titled “Zero DVB-S2 Evidence in Firmware or Driver”

Exhaustive search across all firmware versions and Windows driver source:

What Was SearchedResult
All firmware binaries (v2.06, Rev.2, v2.13) via GhidraNo LDPC/BCH/DVB-S2 references
Windows driver SkyWalker1Control.hModulation constants 0—9 only, none for DVB-S2
Windows driver SkyWalker1TunerFilter.cppRejects non-Viterbi FEC types
Windows driver SkyWalker1Control.cppHardcodes ADV_MOD_DVB_QPSK (value 0)
Firmware dispatch table (CODE:0873)10 entries max, values >= 10 rejected
All FEC lookup tables in XRAMOnly Viterbi rates and turbo rates, no LDPC rates
I2C register addressesBCM4500-specific protocol only (page 0x00, regs 0xA6/A7/A8)

Specific proof points:

  • SkyWalker1TunerFilter.cpp, line 1070: if(ulNewInnerFecType == BDA_FEC_VITERBI) — only Viterbi accepted; any other FEC type returns STATUS_INVALID_PARAMETER
  • SkyWalker1Control.cpp, line 292: ucCommand[8] = ADV_MOD_DVB_QPSK; — always sends modulation type 0
  • Firmware jump table at CODE:0866: bounds check rejects modulation values >= 10

No. The GPIF/USB 2.0 streaming architecture has roughly 5x headroom for DVB-S2 data rates. The bottleneck is the demodulator silicon, not the transport path.

MetricValue
DVB-S2 max net rate (8PSK 9/10, 30 Msps)~58 Mbps (~7.25 MB/s)
Typical HD transponder (8PSK 3/4, 27.5 Msps)~44 Mbps
USB 2.0 practical bulk throughput~280 Mbps (~35 MB/s)
GPIF engine theoretical throughput (48 MHz, 8-bit)384 Mbps (48 MB/s)
Current DVB-S typical TS rate1—5 MB/s

DVB-S2 uses the same MPEG-TS output format (188-byte packets) as DVB-S, so the GPIF waveform and AUTOIN configuration would work unchanged.

However, this is a moot point: even if the BCM4500 were physically replaced with a DVB-S2-capable chip, the entire FX2 firmware would need rewriting (I2C register protocol, tuning sequence, modulation dispatch, FEC configuration), since every DVB-S2 demodulator uses a completely different register interface.

Broadcom addressed DVB-S2 by designing entirely new chips — they did not add LDPC to the BCM4500:

ChipYearDVB-S2Key Addition
BCM4500~2003NoTurbo FEC + Viterbi/RS
BCM45012006YesFirst dual-tuner DVB-S2; LDPC/BCH decoder
BCM45052007YesSingle-channel, 65nm, LDPC/BCH + legacy
BCM45062007YesDual-channel, 65nm, LDPC/BCH + legacy

The BCM4501 datasheet explicitly states it includes “four 8-bit ADCs, all-digital variable rate QPSK/8PSK receivers, advanced modulation LDPC/BCH, and DVB-S-compliant forward error correction decoder.” Adding LDPC/BCH required new silicon.

Genpix released the SkyWalker-3 as a DVB-S2-capable successor using a completely different demodulator (likely STMicroelectronics STV0903):

FeatureSkyWalker-1 (BCM4500)SkyWalker-3 (likely STV0903)
DVB-S QPSKYesYes
DVB-S2 QPSKNoYes
DVB-S2 8PSKNoYes
Turbo QPSKYesNo
Turbo 8PSKYesNo
Turbo 16QAMYesNo
DCIIYesYes
DSSYesYes
Symbol rate (DVB-S)256 Ksps — 30 Msps1 — 45 Msps
Symbol rate (DVB-S2)N/A5 — 33 Msps
FEC inner (DVB-S)ViterbiViterbi
FEC inner (DVB-S2)N/ALDPC
FEC outer (DVB-S2)N/ABCH

The trade-off is clear: the SkyWalker-3 gained DVB-S2 but lost turbo-FEC support entirely. The turbo codes were proprietary to Broadcom/EchoStar, and the STV0903 does not implement them. This means the SkyWalker-3 cannot receive Dish Network’s legacy turbo-coded 8PSK transmissions.

QuestionAnswer
Is DVB-S2 a hardware or firmware limitation?Hardware — BCM4500 has no LDPC/BCH decoder
Could a firmware update add DVB-S2?No — LDPC requires dedicated silicon
Which Broadcom chip first added LDPC?BCM4501 (2006)
Any DVB-S2 hints in firmware/driver?None — zero references anywhere
Is the USB data path a bottleneck?No — ~5x headroom for DVB-S2 rates
What did Genpix do for DVB-S2?Released SkyWalker-3 with STV0903 demodulator
What was lost in the SkyWalker-3?Turbo-FEC support (Broadcom/EchoStar proprietary)