Closed Jalle19 closed 2 years ago
you false. check log
[08/02 23:09:37.626 CA0]: setting CI+ CAM data rate to 96 Mbps
I'm not getting that line in my logs without this change.
so, your CAM not support 96 mbps. I have such CAM. It ci+ 1.1
Well, it still works even when I force it to 96 Mbps 🤷 And the spec says it's mandatory for any CI+ CAM (unless that's a more recent addition).
Ok, probally you right. date_rate APDU just inform CICAM about supported data rate by HOST. HOST always support 96 mbps, so we shall always to send 96 mbps APDU to ci+ CAM.
Yeah that's my thinking as well. I don't know what circumstances could cause the host to not support 96 Mbps? Maybe some really old laptop with a native PCMCIA slot? I think it's safe to assume users use DD, TBS or Enigma STBs, so full speed should be taken for granted.
@Yuri666 can you try this with your 1.1 CAM?
@Yuri666 can you try this with your 1.1 CAM?
No difference behavior between 72 and 96 mbps. Such as expected - this CAM can decode only one channel, so 72 mbps is enough at any way and don't matter what speed support host.
Alright, thanks for testing! Do you think this is okay to merge?
yes, all ok
Ok, I re-read the spec again. Application information resource version less than 3 don't support data_rate_info APDU. It may hang some CAMs. So, this PR not valid, sorry.
Ok, I re-read the spec again. Application information resource version less than 3 don't support data_rate_info APDU. It may hang some CAMs. So, this PR not valid, sorry.
Hmm, that's unfortunate. Should we try to find a CAM that actually hangs before reverting?
I hear about it in tvheadend forum, but didn't seen in real. I don't think it's very important, and not needs to reverting before anybody claim.
Alright. It's strange that AI version 3 seems to be mandatory for CI+ 1.4 compatible hosts to announce, yet my CI+ 1.4 CAM chooses to use AI version 1 🤷 I originally came up with this change because I thought it was a bug, but it seems the original code was correct, even though some comments were technically wrong.
I'll whip up a revert with some clarifications in the near future, don't want to deal with potential support issues 😄
I stumbled upon a CAM that always ended up taking the "ai_version == 1" path, meaning the CAM data rate would never get bumped.
The spec says:
...so it should be safe to always use 96 Mbit/s for CI+ CAMs.
There's another tiny change that I couldn't easily split to a separate commit and that is to log that the "date time" resource is connected.