Skip to content

m88rs6060: skip cold initialization when firmware is already running - #429

Open
smp79 wants to merge 1 commit into
tbsdtv:latestfrom
smp79:m88rs6060
Open

m88rs6060: skip cold initialization when firmware is already running#429
smp79 wants to merge 1 commit into
tbsdtv:latestfrom
smp79:m88rs6060

Conversation

@smp79

@smp79 smp79 commented Jul 20, 2026

Copy link
Copy Markdown

This fixes #410.

On a plain host reboot (no USB power cycle), m88rs6060_probe() unconditionally calls m88rs6060_ready(), which unconditionally:

  • Hard-resets the demod (m88rs6060_hard_rest())
  • Re-initializes tuner/gain registers (rs6060_init())
  • Issues a global/DiSEqC/FEC reset (0x07 = 0xe0 → 0x00)
  • Re-downloads and re-flashes firmware

Since the USB device is typically never actually power-cycled across a plain reboot, this runs against a demod chip that is still fully warm — firmware loaded. The result is intermittent misbehavior after the box comes back up: transponders lock, but with picture breakup / continuity-counter errors on some channels. A genuine power cycle is unaffected, since in that case the chip really is cold and needs this sequence.

If the chip is already warm (0xb9 non-zero), skip the hard reset, tuner/gain re-init, DiSEqC/FEC reset, and firmware reflash entirely — just reapply TS mode and return. If it's genuinely cold (0xb9 reads 0), fall through to the existing, unmodified cold-boot sequence.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TBS5930: issues after a system reboot

1 participant