diff --git a/src/descrambler/cwc.c b/src/descrambler/cwc.c index 6213684c..a481a6a4 100755 --- a/src/descrambler/cwc.c +++ b/src/descrambler/cwc.c @@ -1406,12 +1406,12 @@ cwc_emm_seca(cwc_t *cwc, struct cs_card_data *pcard, uint8_t *data, int len) { int match = 0; - if (data[0] == 0x82) { + if (data[0] == 0x82) { //unique emm if (memcmp(&data[3], &pcard->cwc_ua[2], 6) == 0) { match = 1; } } - else if (data[0] == 0x84) { + else if (data[0] == 0x84) { //shared emm /* XXX this part is untested but should do no harm */ int i; for (i=0; i < pcard->cwc_num_providers; i++) { @@ -1421,6 +1421,9 @@ cwc_emm_seca(cwc_t *cwc, struct cs_card_data *pcard, uint8_t *data, int len) } } } + else if (data[0] == 0x83) { //global emm -> seca3 + match = 1; + } if (match) cwc_send_msg(cwc, data, len, 0, 1, 0, 0);