显示智能卡驱动安装失败通讯失败,请与安装维修人员联系,更换智能卡驱动安装失败或机顶盒

1213人阅读
智能卡(75)
智能卡无线小板相对于串口无线小板最大的不同是智能卡无线小板上的单片机要模仿真正的智能卡来发送和接收机顶盒的数据,这部分功能将直接决定整个无线GX系统的稳定性。
智能卡常用的通信协议有T0、T1和T14协议,关于这三种通信协议完整的介绍,在很多资料上都能找到,本文不再详细阐述,有兴趣的朋友可以查阅相关书籍。
本章节主要介绍BJST、YXTF、SMSX这三种智能卡的通信协议的关键技术和机顶盒智能卡命令、应答具体格式以及详细说明。
首先介绍一下ATR(Answer To Reset,复位应答)。
当加上供电电压、时钟和复位信号后,智能卡经DATA线送出其复位应答ATR。这个数据串最多含有33字节,总是按分频值(时钟频率转换因子)为372传送的,
这是遵照ISO/IEC7816-3标准的规定。它含有关于传输协议和卡的各种数据,即使在ATR之后的传输协议使用的是不同的分频值(例如:512),也应当用372这个分频值来发送ATR。
这就保证了从任何卡总能接收到一个ATR,而不管传输协议的参数是怎样的。需要大家注意的是,这里强调的是发送ATR的分频值总是372,但是并没有说发送ATR的波特率是固定的,波特率还要看机顶盒的智能卡槽的时钟频率是多少,ATR的波特率 = 机顶盒所加时钟频率/372。常用的机顶盒的智能卡槽的时钟频率有4.515MHz、4.9152MHz和3.5712MHz。
YXTF、 SMSX智能卡用到的是标准的T0协议。BJST所使用的协议类似于T1协议,单不是标准的T1协议,是一种介于T0协议和T1协议之间的协议,我们暂时称之为TN协议。根据调试的经验,这三种智能卡都有一个规律:发送ATR的波特率和ATR之后的机顶盒命令、智能卡应答的波特率相同。
下面我们来看YXTF智能卡命令和应答(按时间先后顺序)。
STB:机顶盒。
Card:智能卡。
STB -& Card:机顶盒发送给智能卡。
Card -& STB:智能卡发送给机顶盒。
智能卡命令或应答
传输方向,命令或应答的详细说明
0x3b 0x6c 0x00 0x00 0x4e 0x54 0x49 0x43 0x30 0x91 0x69 0x00 0x4a 0x03 0x00 0x00
Card -& STB。YXTF的ATR。
0x00 0xa4 0x04 0x00 0x05 0xf9 0x5a 0x54 0x00 0x06
STB -& Card。初始命令。
Card -& STB。表示智能卡收到了正确的初始命令
0x80 0x46 0x00 0x00 0x040x01 0x00 0x00 0x04
STB -& Card。获取智能卡号码命令。
Card -& STB。告知机顶盒号码占用0x04个字节。
0x00 0xc0 0x00 0x00 0x04
STB -& Card。读取智能卡号码。
0xaa 0xbb 0xcc 0xdd0x90 0x00
Card -& STB。告知机顶盒智能卡号码,并以0x90 0x00结尾告知机顶盒获取智能卡号码的命令被完整而成功地执行。
0x80 0x46 0x00 0x00 0x040x03 0x00 0x00 0x09
STB -& Card。获取智能卡年龄等级命令。
Card -& STB。告知机顶盒年龄等级信息占用0x09个字节
0x00 0xc0 0x00 0x00 0x09
STB -& Card。读取智能卡年龄等级信息。
0x30 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x90 0x00
Card -& STB。告知机顶盒智能卡年龄等级信息,并以0x90 0x00结尾告知机顶盒获取智能卡年龄等级的命令被完整而成功地执行。
0x80 0x44 0x00 0x00 0x08
STB -& Card。读取智能卡运营商信息。
0x17 0x17 0x00 0x00 0x00 0x0a 0x00 0x00 0x90 0x00
Card -& STB。告知机顶盒运营商信息,例如0x1717十进制为5911,表示第一个运营商是电话区号为0591的第一个城市。并以0x90 0x00结尾告知机顶盒获取智能卡年龄等级的命令被完整而成功地执行。
0x80 0x4c 0x00 0x00 0x040xff 0xff 0xff 0xff
STB -& Card。检查智能卡是否需要机卡配对。
Card -& STB。如果为0x94 0xb2,说明此卡需要机卡配对。如果为0x94 0xb1,说明此卡不需要机卡配对。
0x80 0x4c 0x00 0x00 0x040x5e 0xe4 0x82 0xf2
STB -& Card。给卡发送四个配对字节:0x5e 0xe4 0x82 0xf2,看是否能配对成功
Card -& STB。如果为0x90 0x00,说明四个配对字节与此卡配对成功。如果回复其他数据,说明配对失败。
0x80 0x46 0x17 0x17 0x040x04 0x00 0x00 0x48
STB -& Card。获取运营商一产品包列表。其中0x17 0x17是运营商一的号码。
Card -& STB。告知机顶盒运营商一产品包列表占用0x48个字节
0x00 0xc0 0x00 0x00 0x48
STB -& Card。读取运营商一产品包列表。
0x00….. 0x00(共0x48个) 0x90 0x00
Card -& STB。返回运营商一产品包列表。并以0x90 0x00结尾告知机顶盒获取运营商一产品包列表的命令被完整而成功地执行。
0x80 0x48 0x17 0x17 0x040x81 0x00 0x00 0x3e
STB -& Card。获取运营商一授权信息。其中0x17 0x17是运营商一的号码。
Card -& STB。告知机顶盒运营商一授权信息占用0x27个字节
0x00 0xc0 0x00 0x00 0x27
STB -& Card。读取运营商一授权信息。
0x00 0x00 0x09 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x01 0x00 0x00 0x01 0x00
0x00 0x00 0x80 0x00 0x00 0x01 0xff 0xfe
0x00 0x00 0x00 0x02 0x00 0x01 0x00 0x01
0x00 0x01 0x00 0x02 0x00 0x01 0x00 0x040x90 0x00
Card -& STB。返回机顶盒运营商一授权信息。其中前三个字节0x00 0x00 0x09表示授权信息共有0x09条,以后每四个字节作为一条授权信息。例如0x00 0x01 0xff 0xfe表示ID号为65534(0xff fe)的节目,第二个字节0x01表示在界面上显示此节目ID,第二个字节为0x00表示不显示。
0x80 0x46 0x00 0x0a 0x040x04 0x00 0x00 0x48
STB -& Card。获取运营商二产品包列表。其中0x00 0x0a是运营商二的号码。
Card -& STB。告知机顶盒运营商二产品包列表占用0x48个字节
0x00 0xc0 0x00 0x00 0x48
STB -& Card。读取运营商二产品包列表。
0x00….. 0x00(共0x48个) 0x90 0x00
Card -& STB。返回运营商二产品包列表。并以0x90 0x00结尾告知机顶盒获取运营商二产品包列表的命令被完整而成功地执行。
0x80 0x48 0x00 0x0a 0x040x81 0x00 0x00 0x3e
STB -& Card。获取运营商二授权信息。其中0x00 0x0a是运营商二的号码。
Card -& STB。告知机顶盒运营商二授权信息占用0x0b个字节
0x00 0xc0 0x00 0x00 0x0b
STB -& Card。读取运营商二授权信息。
0x00 0x00 0x02 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x010x90 0x00
Card -& STB。返回机顶盒运营商一授权信息。其中前三个字节0x00 0x00 0x02表示授权信息共有0x02条。分析方法同上面运营商一授权信息的分析方法。
上面是一个智能卡初始化比较全面的例子。一般的机顶盒不会有这么多初始化命令。
需要说明以下几点:
第一, T0协议的长度字节在第五个字节,长度字节加上5是整个命令的长度。
第二,按照T0协议,机顶盒首先发送命令的前五个字节,等收到了PB(过程字节)之后,再发送后面的字节。不足五个字节的命令一次发完。以读取卡号的命令为例,第一步机顶盒先发送0x80 0x46 0x00 0x00 0x04;第二步智能卡选取第二个字节0x46作为过程字节回复机顶盒;第三步机顶盒再发送后面四个字节0x01 0x00 0x00 0x04;第四步智能卡回复0x61 0x04表示收到了机顶盒命令并成功执行,返回0x04表示卡号信息是四个字节;第五步机顶盒发送0x00 0xc0 0x00 0x00 0x04来读取卡号;第六步智能卡选取第二个字节0x0c作为过程字节回复机顶盒;第七步智能卡发送卡号信息0xaa
0xbb 0xcc 0xdd& 0x90 0x00,以0x90 0x00结尾表示收到了机顶盒命令并成功执行。
第三,智能卡接收到五个字节回复第二个字节作为过程字节,然后如何判断这个命令是否已经结束呢?方法是看开头是否是0x00 0xc0开头,如果是,此命令就是长度就是5,智能卡已经收到了完整的数据了。比如读取卡号命令0x00 0xc0 0x00 0x00 0x04,智能卡需要回复0x04个字节的卡号信息;如果不是0x00 0xc0开头,比如0x80 0x46 0x00 0x00 0x04,说明这个命令还有0x04要发。当然也有一个例外,获取运营商命令0x80 0x44 0x00 0x00 0x08,只有五个字节。我们在单片机程序设计中采用了这种方法。
第四,机卡配对技术将作为单独的一章在后文中做详细介绍。
机顶盒对智能卡完成这些初始化的“问题”后,就开始发送ECM。
0x80 0x3a 0x17 0x17 0x53
0xd6 0x2f 0xc0 0x44 0x0f 0x37 0x94 0x7d 0x02 0xba 0xe0 0x6e 0xa3 0x63 0x17 0x30 0xb3 0x8e 0x82 0x5b 0x81 0x9d 0xd9 0x95 0x4d 0xb0 0xd7 0x0d 0x9f 0x51 0xb6 0x57 0x02 0x09 0x00 0x01 0x00 0x01 0xd1 0x8f 0xaa 0x31 0xbe 0x44 0xae 0x40 0x8b 0x2b 0x45 0x12 0xda 0xce
0x50 0x33 0x09 0x00 0x01 0x00 0x03 0x1f 0xc9 0xf9 0xbb 0x80 0x9a 0x10 0x88 0x11 0xd4 0x5d 0x67 0xf9 0x3f 0x30 0x12 0x47 0x5b 0xfb 0x51 0x65 0x20 0x34 0x51
STB -& Card。ECM,共88字节。0x17 0x17是运营商号。
Card -& STB。告知机顶盒运CW共0x2b个字节,让机顶盒来读取。
0x00 0xc0 0x00 0x00 0x2b
STB -& Card。机顶盒读取CW命令。
0x0a 0x17 0x17 0x44 0x0f 0x37 0x94 0x7d 0xab 0xec 0xe1 0x78 0x14 0x58 0xae 0x1a 0x4f 0xec 0x8d 0xc8 0x50 0x3c 0xbb 0x47 0x00 0x0c 0x5e 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Card -& STB。CW。0xab 0xec 0xe1 0x78 0x14 0x58 0xae 0x1a 0x4f 0xec 0x8d 0xc8 0x50 0x3c 0xbb 0x47是用来解节目的有效数据。
如果用户访问运营商授权信息页面,还有有以下的命令和回复。
智能卡命令或应答
传输方向,命令或应答的详细说明
0x80 0x46 0x00 0x0a 0x040x02 0x00 0x00 0x16
STB -& Card。获取运营商二信息的命令。
Card -& STB。
0x00 0xc0 0x00 0x00 0x16
STB -& Card。读取运营商二信息的命令。
0x00 0x0a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x90 0x00
Card -& STB。告知机顶盒运营商二信息。
0x80 0x46 0x17 0x17 0x040x02 0x00 0x00 0x16
STB -& Card。获取运营商一信息的命令。
Card -& STB。
0x00 0xc0 0x00 0x00 0x16
STB -& Card。读取运营商一信息的命令。
0x17 0x17 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x90 0x00
Card -& STB。告知机顶盒运营商一信息。
0x80 0x48 0x00 0x0a 0x040x01 0x00 0x00 0x13
STB -& Card。获取运营商二授权信息。
Card -& STB。
0x00 0xc0 0x00 0x00 0x1d
STB -& Card。读取运营商二授权信息。
0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x0c 0xd9 0x00 0x00 0x36 0x38 0xbf 0x7d 0x00 0x00 0x00 0x01 0x00 0x0b 0xe7 0x51 0xa6 0x36 0x38 0xbf 0x7d0x90 0x00
Card -& STB。告知机顶盒运营商二授权信息。其中前三个字节0x00 0x00 0x02表示授权信息共有0x02条,以后每13个字节作为一条授权信息。具体解释同下面运营商一授权信息的解释。
0x80 0x48 0x00 0x0a 0x040x02 0x00 0x00 0x14
STB -& Card。获取运营商二未知信息。
Card -& STB。
0x00 0xc0 0x00 0x00 0x03
STB -& Card。读取运营商二未知信息。
0x00 0x00 0x000x90 0x00
Card -& STB。告知机顶盒运营商二未知信息。
0x80 0x48 0x17 0x17 0x040x01 0x00 0x00 0x13
STB -& Card。获取运营商一授权信息。
Card -& STB。
0x00 0x00 0x09 0x00 0x00 0x00 0x00 0x00 0x0c 0xd9 0x00 0x00 0x36 0x38 0xbf 0x7d 0x00 0x00 0x00 0x01 0x00 0x0b 0xe7 0x51 0xa6 0x36 0x38 0xbf 0x7d 0x00 0x00 0x01 0x00 0x00 0x0e 0xdf 0x73 0x82 0x1d 0xf7 0xbf 0x7d 0x00 0x00 0x80 0x00 0x00 0x0e 0xdf 0x73 0x82 0x1d
0xf7 0xbf 0x7d 0x00 0x01 0xff 0xfe 0x00 0x0e 0xdf 0x73 0x82 0x1d 0xf7 0xbf 0x7d 0x00 0x00 0x00 0x02 0x00 0x0e 0xdf 0x73 0x82 0x1d 0xf7 0xbf 0x7d 0x00 0x01 0x00 0x01 0x00 0x0e 0x49 0x73 0x82 0x1d 0xf7 0xbf 0x7d 0x00 0x01 0x00 0x02 0x00 0x0e 0x49 0x73 0x82 0x0f
0xb5 0xbf 0x7d 0x00 0x01 0x00 0x04 0x01 0x0e 0x3d 0x69 0x66 0x0f 0x4b 0x81 0xa50x90 0x00
Card -& STB。告知机顶盒运营商一授权信息。
其中前三个字节0x00 0x00 0x09表示授权信息共有0x09条,以后每13个字节作为一条授权信息。例如0x00 0x01 0xff 0xfe 0x00 0x0e 0xdf 0x73 0x82 0x1d 0xf7 0xbf 0x7d表示ID为65534(0xff fe)的节目授权开始时间为0x0e 0xdf 0x73 0x82,结束时间为0x1d 0xf7 0xbf 0x7d,要在界面上显示出来,没有购买录像。
第二个字节,0x01表示要在机顶盒运营商授权信息页面上显示,0x00表示不显示。
第五个字节,0x00表示此节目没有购买录像,0x01表示此节目购买了录像。
0x80 0x48 0x17 0x17 0x040x02 0x00 0x00 0x14
STB -& Card。获取运营商一未知信息。
Card -& STB。
0x00 0xc0 0x00 0x00 0x03
STB -& Card。读取运营商一未知信息。
0x00 0x00 0x000x90 0x00
Card -& STB。告知机顶盒运营商一未知信息。
下面我们来看SMSX智能卡命令和应答。SMSX与YXTF应答和命令比较相似。
0x3b 0x02 0x17 0x72
Card -& STB。SMSX的ATR。
0x00 0xa4 0x04 0x00 0x02
STB -& Card。初始命令一。
Card -& STB。表示智能卡收到了正确的初始命令一
0x00 0xa4 0x04 0x00 0x02
STB -& Card。初始命令二。
Card -& STB。表示智能卡收到了正确的初始命令二
0x00 0xb2 0x00 0x05 0x06
0x00 0x01 0xff 0x00 0x01 0xff
STB -& Card。获取智能卡号码命令。
Card -& STB。告知机顶盒号码信息占用0x67个字节。
0x00 0xc0 0x00 0x00 0x67
STB -& Card。读取智能卡号码命令。
0x00 0x01 0x64*
0x04 0x11 0x22 0x33*
0x83 0x50 0x11 0x06 0x82 0x31 0x73 0x13*
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0xca 0xfd 0xc2 0xeb 0xca 0xd3 0xd1 0xb6 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x33 0x00 0x00 0x02 0x0b 0x5c 0x4b 0xa7 0x09
Card -& STB。告知机顶盒智能卡号码,并以0x90 0x00结尾告知机顶盒获取智能卡号码的命令被完整而成功地执行。其中83 50 11 06 82 31 73 13表示完整的智能卡卡号,也就是智能卡背面的条形码号码。0x04 0x11 0x22 0x33换算成相应的十进制表示卡号从倒数第二位到倒数第九位的部分。
0x80 0x32 0x00 0x00 0x44
0x81 0x30 0x41 0x00 0x04 0xce 0x66 0xa3 0x4c 0x7b 0x89 0x70 0x50 0xd4 0x6b 0xae 0x0c 0xb8 0xd8 0x53 0x2e 0x74 0x12 0x03 0x5b 0xcd 0xc7 0x66 0xf6 0x8f 0x0c 0x96 0xa0
0xa0 0xee 0x61 0xff 0x12 0xb2 0xa9 0xea
0xb3 0x16 0xef 0x5e 0xc8 0xf3 0x88 0xff
0x77 0x04 0x4d 0xf9 0x16 0xe0 0xac 0x90 0x97 0x73 0x6b 0x5e 0x24 0xee 0xfd 0xc6 0xbc 0xf4 0x71
STB -& Card。ECM,共73字节。
0x60 0x61 0x2a
Card -& STB。告知机顶盒运CW共0x2a个字节,让机顶盒来读取。
0x00 0xc0 0x00 0x00 0x2a
STB -& Card。机顶盒读取CW命令。
0x04 0xce 0x84 0x03 0x00 0x01 0x00 0x84 0x03 0x00 0x03 0xb0 0xb4 0x04 0x00 0x00 0x00 0x00 0x83 0x16 0xd6 0x31 0x03 0x80 *0xd0 0x8b 0x02 0x5d*0x00*0x42 0x29 0x86 0xf1 0x82 0x1c 0xfc 0x9a*0x00*0x3e 0x80 0x7c 0x3a
Card -& STB。CW。其中0xd0 0x8b 0x02 0x5d,0x42 0x29 0x86 0xf1 0x82 0x1c 0xfc 0x9a,0x3e 0x80 0x7c 0x3a是解加扰节目的关键数据。
BJST所使用的TN协议是一种介于T0和T1之间的协议,长度在第三个字节。这种协议不像T0协议那样需要多次发送命令多次回复才能得到一条信息,TN协议只需要一问一答就能获得一条信息。下面我们来看BJST智能卡命令和应答。
0x3b 0xe9 0x00 0x00 0x81 0x31 0xc3 0x45 0x99 0x63 0x74 0x69 0x19 0x99 0x12 0x56 0x10
Card -& STB。BJST的ATR。18字节。
0x00 0x00 0x05
0x00 0x84 0x00 0x00 0x10 0x91
STB -& Card。初始命令一。第三个字节0x05加上4是整个命令的长度,最后一个字节0x91是前面所有字节异或后得到的校验字节。
0x00 0x00 0x12
0xe4 0x74 0x27 0xee 0xd2 0x9d 0xb0 0x25 0x5e 0xa6 0x98 0x97 0xd6 0xbe 0x10 0xbe 0x90 0x00 0x30
Card -& STB。回复初始命令一。第三个字节0x12加上4是整个命令的长度。
0x00 0x0c 0x00 0x00 0x10 0xe4 0x74 0x27 0xee
0xb0 0x25 0x56 0xc7
STB -& Card。初始命令二。
0x00 0x00 0x0a
0xf1 0x3d 0x02 0x84 0xcf 0x51 0x0e 0xe1 0x90 0x00 0xa1
Card -& STB。回复初始命令二。
0x00 0x00 0x0e
0x00 0x0b 0x00 0x00 0x10 0xf1 0x3d 0x02 0x84
0xcf 0x51 0x0e
STB -& Card。初始命令三。
0x00 0x00 0x02
0x90 0x00 0x92
Card -& STB。回复初始命令三。
0x00 0x00 0x05
0x81 0xd4 0x00 0x01 0x05 0x54
STB -& Card。读取智能卡卡号。
0x00 0x00 0x07
0x00 0x00 0x01 0x33 0x11 0x90 0x00 0xb7
Card -& STB。回复卡号信息。其中0x00 0x01 0x33 0x11换算成十进制78609是卡号。
0x00 0x00 0x05
0x81 0xd0 0x00 0x01 0x08 0x5d
STB -& Card。读取智能卡解析CW的密钥。
0x00 0x00 0x0a
0x24 0x3b 0x45 0xd8 0xab 0xf5 0x09 0xa6 0x90
Card -& STB。回复解析CW的密钥。其中0x24 0x3b 0x45 0xd8 0xab 0xf5 0x09 0xa6是解析CW的密钥。
0xea 0x80*0x00 0x16 0x00 0x00 0x3f
0x03 0x00 0x00 0x1c 0x85 0xa2 0x85
0x8b 0x1e 0x88 0x43 0x22 0x8b 0xc9 0x6a
0xc4 0x50 0x5c 0xf4 0x1c 0xfc 0xb8 0xc6
0x63 0xe2 0x2b 0x95 0xe9 0xe8 0x8e 0xe2
0x17 0xcf 0x93 0x07 0xa9 0xdc 0x28 0x52
0x2e 0xca 0x21 0xc1 0x3c 0xaf 0x76 0x78
0x82 0x50 0x24 0x97 0xfe 0x81 0xdb 0x2a
0x28 0xb1 0x0b 0xbd 0xd1 0x2a 0x13 0x01 0x00
STB -& Card。ECM。共77字节。
0x72 0x7f 0xca 0xfa 0xce 0x53 0x21 0xd2 0xb8 0x4f 0xaa 0x9b 0x3f 0xa8 0xc5 0xbc 0xe7
Card -& STB。CW。其中0x7f 0xca 0xfa 0xce 0x53 0x21 0xd2 0xb8 0x4f 0xaa 0x9b 0x3f 0xa8 0xc5 0xbc 0xe7是CW的关键信息。这里还需要大家要着重注意的一点是:这16个字节是直接从智能卡里读出来的,但并不是直接用来解节目的。这16个字节,分为两部分,前8个字节和后8个字节,这两部分的8个字节分别与CW的密钥的8个字节异或之后才是真正用来解节目的信息。这是BJST与YXTF、SMSX不同的地方。具体程序为
for(i=0; i&16; i++)
tempcw=response[i+1]^difor[i%8];
response[16] 是指0x72 0x7f 0xca 0xfa 0xce 0x53 0x21 0xd2 0xb8 0x4f 0xaa 0x9b 0x3f 0xa8 0xc5 0xbc 0xe7,difor[8]是密钥0x24 0x3b 0x45 0xd8 0xab 0xf5 0x09 0xa6,tempcw[16]是真正用来解节目的信息。
程序设计者在设计程序时,无论是机顶盒还是智能卡无线小板上的单片机智能卡接口接收数据,都要设计成首先接收前三个字节,根据第三个字节再决定后面还有接收多少字节。
七、 破解机卡配对
所谓的机卡配对是指特定的某一张智能卡配上与之配对的一台机顶盒才能解节目。有部分YXTF智能卡使用了这项技术,为GX带来了麻烦。其实,只要知道了机卡配对的原理,要破解它也很容易。
在初始化YXTF智能卡时,如果命令0x80 0x4c 0x00 0x00 0x040 xff 0xff 0xff 0xff后智能卡的回复是0x94 0xb2,说明这张智能卡是需要机卡配对的。如果没有给卡发送配对命令0x80 0x4c 0x00 0x00 0x04 0x5e 0xe4 0x82 0xf2,或者配对信息0x5e 0xe4 0x82 0xf2不对(每张卡的配对信息都不一样),机顶盒在解需要机卡配对的节目时,解节目就会失败。所以破解机卡配对的关键就在于给卡发送一个正确的机卡配对信息。在无线GX网络中,作为子机的原装机顶盒有机卡配对信息,但是母机没有,这就需要母机事先“学习”子机的配对信息,下次母机开机是就不用再获取子机的配对信息了。所谓母机的“学习”智能卡配对信息,就是在母机程序中加上一个功能:当子机将配对信息发给母机时,母机识别出此命令是配对命令(开命令的开头是否是0x80
0x4c 0x00 0x00 0x04),母机就把0x80 0x4c 0x00 0x00 0x04后的四个字节写到自己的FLASH中的一个文件yxtfkey.txt。等到下次开机时,母机从yxtfkey.txt读出配对信息的四个字节去跟对应的智能卡配对。如果配对成功,智能卡就认为母机是与之配对的机顶盒,当收到需要机卡配对节目的ECM时,就会非常“顺从”将正确的CW送出。所以,对于存在机卡配对的情况,只需对插卡的那台机器(母机)做机卡配对。插卡的机器完成配对后,其所带的所有无线网络、局域网或广域网的分机都不需要再做这个对应工作。如果母机没有配对成功,母机需要下一次“学习”。
八、 关键技术
在无线GX系统中,比较关键的技术有以下几点:
智能卡无线小板单片机定时器的时间设定。不同的机顶盒,智能卡的时钟频率是不一样的,所以智能卡通信的波特率也不一样。具体频率是多少需要用示-波-器测量,然后计算出智能卡通信每位所占用的时间,从而进一步设定定时器的时间。如果机顶盒与智能卡还是不能顺利的通信,需要用示-波-器对比读真卡时数据的波形,调整定时器时间,让智能卡无线小板DATA脚的波形模仿真卡的波形。根据调试的经验,一般情况,只要智能卡发送数据能被机顶盒正确接收,智能卡接收数据就没有问题。
缩短使用T0通信协议智能卡的子机ECM和CW之间的时间间隔。机顶盒每次换台时,如果换的新节目是加扰的,要向智能卡发送新的ECM。如果ECM和CW之间的时间间隔太长,换台的时间间隔也很长,影响收看节目的质量。
以 YXTF无线GX为例,母机从发送ECM到CW的过程是:机顶盒发送ECM-&智能卡解析ECM-&智能卡回复0x61 0x2b-&机顶盒发送0x00 0xc0 0x00 0x00 0x2b-&智能卡回复CW。子机的这个过程可以是:机顶盒发送ECM-&仿真智能卡回复0x61 0x2b-&机顶盒发送0x00 0xc0 0x00 0x00 0x2b-&无线发送ECM-&母机解析出CW并将CW无线发给子机-&仿真智能卡回复CW。但是“无线发送ECM”和“母机解析出 CW并将CW无线发给子机”包含无线传输和母机与真正智能卡对话这两个过程,需要消耗约0.5s的时间,换台时间比较长。我们可以统筹一下,一旦得到
ECM后就立刻无线发给母机,所以可以是:机顶盒发送ECM-&仿真智能卡回复0x61 0x2b-&无线发送ECM -&机顶盒发送0x00 0xc0 0x00 0x00 0x2b -&母机解析出CW并将CW无线发给子机-&仿真智能卡回复CW。但是根据调试经验,这样也有一个问题,无线发送ECM是一个连续的过程,大约需要消耗67ms,而机顶盒在收到0x61 0x2b后约50ms后就发出0x00 0xc0 0x00 0x00 0x2b。价格低廉的8位51核的单片机程序运行是实时单任务,也就是说单片机由于无线发送ECM而错过了接收0x00
0xc0 0x00 0x00 0x2b,当然也就没有回复过程字节0xc0,“聪明”一些的机顶盒会在3s之后重新发送0x00 0xc0 0x00 0x00 0x2b,这时单片机才会把过程字节0xc0和CW回复给机顶盒,这样的话换台时间将会变成恐怖的3s以上。没有重发功能的机顶盒就认为没有接收到CW,导致解节目失败。所以我们要相办法延迟机顶盒发送0x00 0xc0 0x00 0x00 0x2b,为此,我们可以按照以下流程设计:
总之一个原则是尽早把ECM发给母机,让母机处理ECM与子机机顶盒和仿真智能卡的对话过程同时进行,等接收到了正确的CW,并且收到了子机发送的命令0x00 0xc0 0x00 0x00 0x2b ,立刻将CW发给子机。
第三,对于T0协议的智能卡,因为子机从发送ECM到得到CW包含了母机访问真正智能卡的过程,所以缩短母机访问真正智能卡这个过程的时间才是缩短子机换台时间的根本。母机访问真正智能卡时间的长短可以通过调整母机机顶盒的程序来调整
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:147463次
积分:2072
积分:2072
排名:第19391名
原创:37篇
转载:145篇
(1)(2)(2)(9)(2)(1)(3)(1)(1)(3)(6)(2)(7)(3)(2)(4)(5)(3)(1)(1)(4)(7)(2)(4)(2)(6)(1)(4)(2)(5)(17)(3)(5)(4)(1)(1)(9)(3)(10)(20)(12)(3)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'E02智能卡通讯失败
户户通行业网站
关注户户通微信公众平台
E02智能卡通讯失败
1、用橡皮擦一下智能卡芯片,重新插入机顶盒试一下
2、如果卡识别正常,即不插卡提示E01,插卡提示E02,那么这说明智能卡识别正常,需要分别检查CA卡卡座端的几个管脚是否都正常(一般万用表测量高电平都是2V多一点)。
3、如果卡座端的管脚电压没什么异常,检查芯片端的输出是否正常。
4、如果卡座端信号异常,芯片端输出正常,那么请检查芯片和8024的一个IO和CLK上是否有异常的贴片器件,特别是电容,会影响整个通讯的时序。
5、如果上述都没有异常,那么更换8024芯片,更换8024之后还是一样的情况,请更换主芯片或者重新焊接主芯片(主芯片出现类似不良情况很少)。
QQ: 微信号一:(已满员) 微信号二:(可加好友)
版权所有:户户通()未经授权禁止转载、摘编、复制或建立镜像,如有违反,追究法律责任
户户通315行业网站QQ群一:,群二:&& 网站备案:京ICP备号e06智能卡失败-1
户户通故障:E02 智能卡通讯失败。处理:1. 断电,换一张新的加密卡插入,开机...- 4 - 户户通开户安装提示信息表 序号 1 误 2 问题现象 无法登录系统 E06 ...
三、 机顶盒常用代码故障故障现象 解决办法 四、 常用代码:出现代码 E04、 E05、 E06 没有插卡,智能卡插入错误,智能卡 故障,机顶盒读卡器故障 正在检查智能卡,...
二.E02 智能卡通讯失败解决方法:检查卡槽是否插入智能卡或是否正确插入智能卡。...E06 “对不起,智能卡未授权”解决方法:询问广播局维护人员智能卡是否开通;如已...
已经定位的户户通,出现故障不能开机,或者没有信号质量的销户方法:可以把智能卡插...五、显示“位置锁定模块异常 4” 这个主要原因是对位置锁定模块复位升级失败, ...
(新) 智能卡插入, 开机等 3 分钟左右, 出现基站黄色框后, 再关机,之后插回...不能授权开 卡,长期显示 E06 未授权。此时请用手机拨通以下授 权卡一般是不...
解决方法: E05 Unknown Smartcard 产生原因:未知的智能卡或者智能卡错误 解决方法:检查智能卡,可以将这张智能卡插入别的机顶盒看看是否出现相同的错误 E06 Smartcard...
检查智能卡信息是否录入到用户管理系统; 2、 检查开卡输入户户通用户管理系统的 ...屏幕持续显示“E06 对不起,加密卡未授权” ,不显示“发送成功” 或“发送失败...
页,会出现黄色 对话框,再按遥控器数字键,13429,画面出现“OK”,拔出智能卡。...五、显示“位置锁定模块异常 4” 这个主要原因是对位 置锁定模块复位升级失败,...
(红) 电视屏幕显示信息 E04 请插入智能卡 E06 智能卡失效 E14 节目正在加扰 E15 智能卡错误 E16 节目正在加扰 E17 节目正在加扰 E19 节目正在加扰 E20 节目...
3、 用户家中的电视机画面显示“无法识别卡” 原因: (1)机顶盒无法识别智能卡。 (2)智能卡形状不规范。 (3)智能卡校验失败。 处理: (1)用干净无灰尘布类...}

我要回帖

更多关于 智能卡驱动安装失败 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信