GitHub
Moderator
[CAHandler] Reset m_protocol3_established when last client disconnects
When a Protocol 3 client (e.g. oscam with pmt_mode=6) disconnects,
connectionLost() removed the client from the list but never reset
m_protocol3_established to false. If the softcam reconnects using
legacy /tmp/camd.socket (e.g. after switching to pmt_mode=0), all
sendCAPMT() calls remain gated by the stale m_protocol3_established
flag, blocking the legacy CAPMT delivery path entirely.
Since no Protocol 3 clients are connected either, CAPMTs are never
delivered — causing both SoftCSA and HW descramble to fail.
Reset m_protocol3_established when the last client disconnects so the
legacy sendCAPMT path becomes available again.
Fixes missing reset introduced in a798cf3e5b and cc0646c05d which
added the m_protocol3_established gate without handling the disconnect
case.
Continue reading...
When a Protocol 3 client (e.g. oscam with pmt_mode=6) disconnects,
connectionLost() removed the client from the list but never reset
m_protocol3_established to false. If the softcam reconnects using
legacy /tmp/camd.socket (e.g. after switching to pmt_mode=0), all
sendCAPMT() calls remain gated by the stale m_protocol3_established
flag, blocking the legacy CAPMT delivery path entirely.
Since no Protocol 3 clients are connected either, CAPMTs are never
delivered — causing both SoftCSA and HW descramble to fail.
Reset m_protocol3_established when the last client disconnects so the
legacy sendCAPMT path becomes available again.
Fixes missing reset introduced in a798cf3e5b and cc0646c05d which
added the m_protocol3_established gate without handling the disconnect
case.
Continue reading...