好吧,我不得不求助于Google了,关键词也就是标题中出现的几个词了,其中”SWP”是我在SIM卡上发现的关键词。很快,我找到几个讨论帖,一个是XDA上的帖子:[Q] SWP activation on Nexus 5 ?,一个是机锋论坛上的帖子:Nexus5的NFC支持北京移动的NFC公交sim卡吗?。后来,我还在机锋论坛上看到一个总结的帖子:nexus4,5 nfc公交刷卡。我仔细看了这些帖子,又另外查阅了部分资料,整理如下。
这里用的技术是NFC硬件卡模拟,主要需要两个硬件:NFC芯片和NFC SE(Secure Element)安全芯片。其中,SE可以放在3个物理位置:SIM, Phone 或者 SD。
把SE放在SIM卡中就是国内联通移动等用的方法,所用的协议叫做 SWP(Single Wire Protocol),这个协议用于NFC和SIM卡之间进行通信。
把SE放在Phone中就是指手机本身内置了加密模块,Nexus就是采用的这个方案,据说部分三星手机也用了这个方案。
把SE放在SD这种方案用的很少,不多说。
于是,主流的NFC方案就产生了两种分歧,一种把SE放在SIM卡中,一种把SE放在手机中。把SE放在SIM卡中又称为UICC(Universal Integrated Circuit Card),把SE放在手机中又称为HCE(Host card emulation)。
Google在Nexus中缺省使用了HCE(据说是为了推广自己的Google Wallet),禁用了UICC,于是就导致了前面提到的不能用联通NFC-SIM的情况。好吧,那就是想办法禁用HCE,启用UICC喽。幸运的是,Google没有彻底封掉UICC,下面就是详细的修改方法:
前提:手机已经root
提醒:修改之前最好先进行备份
这里用的技术是NFC硬件卡模拟,主要需要两个硬件:NFC芯片和NFC SE(Secure Element)安全芯片。其中,SE可以放在3个物理位置:SIM, Phone 或者 SD。
把SE放在SIM卡中就是国内联通移动等用的方法,所用的协议叫做 SWP(Single Wire Protocol),这个协议用于NFC和SIM卡之间进行通信。
把SE放在Phone中就是指手机本身内置了加密模块,Nexus就是采用的这个方案,据说部分三星手机也用了这个方案。
把SE放在SD这种方案用的很少,不多说。
于是,主流的NFC方案就产生了两种分歧,一种把SE放在SIM卡中,一种把SE放在手机中。把SE放在SIM卡中又称为UICC(Universal Integrated Circuit Card),把SE放在手机中又称为HCE(Host card emulation)。
Google在Nexus中缺省使用了HCE(据说是为了推广自己的Google Wallet),禁用了UICC,于是就导致了前面提到的不能用联通NFC-SIM的情况。好吧,那就是想办法禁用HCE,启用UICC喽。幸运的是,Google没有彻底封掉UICC,下面就是详细的修改方法:
前提:手机已经root
提醒:修改之前最好先进行备份




