Changeset 83
- Timestamp:
- 05/19/09 11:36:33 (15 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Distribution/doc/oscam-server.txt
r21 r83 93 93 wird dieser parameter nicht gesetzt sind alle caid's 94 94 zunaechst erstmal gueltig und werden nicht gemapped. 95 BoxID = boxid für NDS -
trunk/globals.h
r78 r83 351 351 int log_port; 352 352 CAIDTAB ctab; 353 ulong boxid; 353 354 ulong sidtabok; // positiv services 354 355 ulong sidtabno; // negative services -
trunk/oscam-config.c
r71 r83 967 967 if (!strcmp(token, "logport")) rdr->log_port=atoi(value); 968 968 if (!strcmp(token, "caid")) chk_caidtab(value, &rdr->ctab); 969 if (!strcmp(token, "boxid")) rdr->boxid=a2i(value,4); 969 970 if (!strcmp(token, "detect")) 970 971 for (i=0; RDR_CD_TXT[i]; i++) -
trunk/reader-videoguard2.c
r82 r83 462 462 /* known atrs */ 463 463 unsigned char atr_bskyb[] = { 0x3F, 0x7F, 0x13, 0x25, 0x03, 0x33, 0xB0, 0x06, 0x69, 0xFF, 0x4A, 0x50, 0xD0, 0x00, 0x00, 0x53, 0x59, 0x00, 0x00, 0x00 }; 464 unsigned char atr_bskyb_new[] = { 0x3F, 0xFD, 0x13, 0x25, 0x02, 0x50, 0x00, 0x0F, 0x33, 0xB0, 0x0F, 0x69, 0xFF, 0x4A, 0x50, 0xD0, 0x00, 0x00, 0x53, 0x59, 0x02 }; 464 465 unsigned char atr_skyitalia[] = { 0x3F, 0xFF, 0x13, 0x25, 0x03, 0x10, 0x80, 0x33, 0xB0, 0x0E, 0x69, 0xFF, 0x4A, 0x50, 0x70, 0x00, 0x00, 0x49, 0x54, 0x02, 0x00, 0x00 }; 465 466 unsigned char atr_directv[] = { 0x3F, 0x78, 0x13, 0x25, 0x03, 0x40, 0xB0, 0x20, 0xFF, 0xFF, 0x4A, 0x50, 0x00 }; 466 467 467 if ((atrsize == sizeof (atr_bskyb)) && (memcmp (atr, atr_bskyb, atrsize) == 0)) 468 { 469 cs_log("Type: Videoguard BSkyB"); 470 /* BSkyB seems to need one additionnal byte in the serial communication... */ 471 io_serial_need_dummy_char = 1; 472 } 473 else if ((atrsize == sizeof (atr_skyitalia)) && (memcmp (atr, atr_skyitalia, atrsize) == 0)) 474 { 475 cs_log("Type: Videoguard Sky Italia"); 476 } 477 else if ((atrsize == sizeof (atr_directv)) && (memcmp (atr, atr_directv, atrsize) == 0)) 478 { 479 cs_log("Type: Videoguard DirecTV"); 480 } 481 else 482 { 483 /* not a known videoguard */ 484 return (0); 485 } 468 if ((atrsize == sizeof (atr_bskyb)) && (memcmp (atr, atr_bskyb, atrsize) == 0)) 469 { 470 cs_log("Type: Videoguard BSkyB"); 471 /* BSkyB seems to need one additionnal byte in the serial communication... */ 472 io_serial_need_dummy_char = 1; 473 } 474 else if ((atrsize == sizeof (atr_bskyb_new)) && (memcmp (atr, atr_bskyb_new, atrsize) == 0)) 475 { 476 cs_log("Type: Videoguard BSkyB - New"); 477 } 478 else if ((atrsize == sizeof (atr_skyitalia)) && (memcmp (atr, atr_skyitalia, atrsize) == 0)) 479 { 480 cs_log("Type: Videoguard Sky Italia"); 481 } 482 else if ((atrsize == sizeof (atr_directv)) && (memcmp (atr, atr_directv, atrsize) == 0)) 483 { 484 cs_log("Type: Videoguard DirecTV"); 485 } 486 else 487 { 488 /* not a known videoguard */ 489 return (0); 490 } 486 491 487 492 #ifdef OS_LINUX … … 548 553 549 554 unsigned char ins36[5] = { 0xD0,0x36,0x00,0x00,0x00 }; 550 int boxidOK=0;551 555 unsigned char boxID [4]; 552 556 553 l=do_cmd(ins36, NULL, buff);554 if(l>=0) {557 if (reader[ridx].boxid > 0) { 558 /* the boxid is specified in the config */ 555 559 int i; 556 for(i=0; i<l ;i++) { 557 if(buff[i]==0x00 && buff[i+1]==0xF3) { 558 memcpy(&boxID,&buff[i+2],sizeof(boxID)); 559 boxidOK=1; 560 break; 560 for (i=0; i < 4; i++) { 561 boxID[i] = (reader[ridx].boxid >> (8 * (3 - i))) % 0x100; 562 } 563 } else { 564 /* we can try to get the boxid from the card */ 565 int boxidOK=0; 566 l=do_cmd(ins36, NULL, buff); 567 if(l>=0) { 568 int i; 569 for(i=0; i<l ;i++) { 570 if(buff[i]==0x00 && buff[i+1]==0xF3) { 571 memcpy(&boxID,&buff[i+2],sizeof(boxID)); 572 boxidOK=1; 573 break; 574 } 561 575 } 562 576 } 563 } 564 565 if(!boxidOK) {566 cs_log ("no boxID available");567 return 0;568 577 578 if(!boxidOK) { 579 cs_log ("no boxID available"); 580 return 0; 581 } 582 } 569 583 570 584 unsigned char ins4C[5] = { 0xD0,0x4C,0x00,0x00,0x09 };
Note:
See TracChangeset
for help on using the changeset viewer.