专栏首页程序猿的那点事获取手机nfc的MW version 和 FW version 记录

获取手机nfc的MW version 和 FW version 记录

/vendor/nxp/opensource/commonsys/packages/apps/Nfc/nci/jni/NativeNfcManager.cpp 中会打印NFC的版本信息。

MW version

  static jboolean nfcManager_doInitialize(JNIEnv * e, jobject o) {
    initializeGlobalDebugEnabledFlag();
    uint8_t switchToUiccSlot = 0;
#if (NXP_EXTNS == TRUE)
    rfActivation = false;
#endif
    mwVer = NFA_GetMwVersion();
    DLOG_IF(INFO, nfc_debug_enabled)
        << StringPrintf("%s:  MW Version: NFC_NCIHALx_AR%X.%x.%x.%x", __func__,
                        mwVer.validation, mwVer.android_version,
                        mwVer.major_version, mwVer.minor_version);

FW version

static jint nfcManager_getFwVersion(JNIEnv * e, jobject o) {
  (void)e;
  (void)o;
  DLOG_IF(INFO, nfc_debug_enabled) << StringPrintf("%s: enter", __func__);
  tNFA_STATUS status = NFA_STATUS_FAILED;
  //    bool stat = false;                        /*commented to eliminate
  //    unused variable warning*/
  jint version = 0, temp = 0;
  tNFC_FW_VERSION nfc_native_fw_version;

  if (!sIsNfaEnabled) {
    DLOG_IF(INFO, nfc_debug_enabled)
        << StringPrintf("NFC does not enabled!!");
    return status;
  }
  memset(&nfc_native_fw_version, 0, sizeof(nfc_native_fw_version));

  nfc_native_fw_version = nfc_ncif_getFWVersion();
  DLOG_IF(INFO, nfc_debug_enabled) << StringPrintf(
      "FW Version: %x.%x.%x", nfc_native_fw_version.rom_code_version,
      nfc_native_fw_version.major_version,
      nfc_native_fw_version.minor_version);

  temp = nfc_native_fw_version.rom_code_version;
  version = temp << 16;
  temp = nfc_native_fw_version.major_version;
  version |= temp << 8;
  version |= nfc_native_fw_version.minor_version;

  DLOG_IF(INFO, nfc_debug_enabled)
      << StringPrintf("%s: exit; version =0x%X", __func__, version);
  return version;
}

搜寻你的 logcat 讯息在 NFC on 的时候~ 范例如下:

04-22 14:14:13.478: I/libnfc_nci(3193): [INFO:nfa_dm_api.cc(1500)] 0x0:NFC MW Major Version: 04-22 14:14:13.478: I/libnfc_nci(3193): [INFO:nfa_dm_api.cc(1502)] 0xa:NFC MW Minor Version: 04-22 14:14:13.478: I/libnfc_nci(3193): [INFO:nfa_dm_api.cc(1507)] mwVer:Major=0x0,Minor=0xa 04-22 14:14:13.478: E/libnfc_nci(3193): [NativeNfcManager.cpp(1479)] nfcManager_doInitialize:MW Version: NFC_AR_00_6000_10.00.0a_RC1

04-22 14:14:13.509: D/NxpHal(811): phNxpNciHal_configFeatureList ()chipType = 11 04-22 14:14:13.509: D/NxpHal(811): phNxpNciHal_configFeatureList ()chipType = 11 04-22 14:14:13.509: D/NxpHal(811): phNxpNciHal_configFeatureList ()FW = 16 04-22 14:14:13.509: D/NxpHal(811): NxpNci> FW Version: 1.10.33

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android P WiFi自动连接评分机制

    frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.ja...

    用户7557625
  • Android SELinux avc dennied权限问题解决方法

    SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。

    用户7557625
  • TCPDump + Wireshark 抓包分析数据学习

    TCPDump简介:TCPDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑...

    用户7557625
  • 001. Flink入门案例-WordCount实时处理

    CoderJed
  • 微服务系列笔记之RabbitMQ的入门使用

    上一篇文章我们讲到了broker模式,其实在Micro框架中已经为我们提供了一个rabbitMQ插件,我们可以借助这个插件来实现我们的生产与消费

    陌无崖
  • fakeapp,faceswap等deepfakes换脸软件对比

    目前用于深度换脸的程序基本都是用python编程语言基于tensorflow进行计算。以下列出几款常用的换脸程序优缺点浅析,用户可以根据自己的爱好和水平来选择,...

    deepfakes
  • 图论(一)

    图论(Graph theory)是数学的一个分支,它以图为研究对象,研究顶点和边组成的图形的数学理论和方法。

    每天学Java
  • IntelliJ IDEA创建Maven聚合工程跟ssm整合详解

    1、选择 File——>new——>Project ——>Empty Project

    Java编程指南
  • 6 大主流 Web 框架优缺点对比

    是该读些评论和做一些总结的时候了。当我们开始写这个系列博客的时候,我们知道 JavaScript/web 应用框架并不太好总结。我们努力对这个不可回答的问题作出...

    三哥
  • Node.js + WebSocket 实现的简易聊天室

    Firefox 7-9 (Old) (Protocol Version 8) Firefox 10+ (Protocol Version 13) ...

    meteoric

扫码关注云+社区

领取腾讯云代金券