|
单卡的版本只要修改NVRAM_EF_MS_SECURITY_DEFAULT中的security_indication和np_code两项即可实现锁网,例如锁联通(只有联通卡可使用)。
kal_uint8 const NVRAM_EF_MS_SECURITY_DEFAULT[] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* reg_ps_key */
0x02, //0x00, /* security_indication */
0x00, /* auto_lock_item */
0x40, 0x06, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* np_code */
。。。
}
但现在6225 0812 gemini 的这么修改以后没作用,插入移动卡仍然能识别,还请高手指点指点!
还有一种方法就是自己手动判断,可以在開机sim卡初始化完成之后(如:SimPasswdReqResponse , case MMI_TYPE_NO_REQUIRED:),讀取IMSI號進行判斷,如前5位mcc/mnc=46000或46002為移動卡,mcc/mnc=46001的為联通卡。
kal_uint8 imsi[9];
(*pSmuSecurityInfog->query_a)(SMU_LAST_IMSI_A,imsi,NUM_OF_BYTE_IMSI);
但这里的query_a也是单卡的版本,双卡上面query_a多了一个参数,小弟实在不知道这参数应该添什么
#ifdef __GEMINI__
static void smu_query_a(smu_item_enum eItem, kal_uint8 *pstrTo, kal_uint8 chlen, kal_uint8 source)
#else
static void smu_query_a(smu_item_enum eItem, kal_uint8 *pstrTo, kal_uint8 chlen)
#endif |
|