I tried integrating PN7150 on Android 5.1.1.
The driver was successfully installed, and I checked:
ls -als / dev / pn544
crw-rw ---- nfc nfc 10, 61 2015-01-01 00:00 pn544
But the NFC menu is still blocked.
This log:
I/NfcService( 1333): Starting NFC service
D/BrcmNfcJni( 1333): JNI_OnLoad: enter
I/BrcmNfcJni( 1333): NFC Service: loading nci JNI
D/BrcmNfcJni( 1333): register_com_android_nfc_NativeNfcManager: enter
D/BrcmNfcJni( 1333): PowerSwitch::initialize: level=PS-UNKNOWN (0)
D/NfcAdaptation( 1333): bool CNfcConfig::readConfig(const char*, bool) Opened base config /etc/libnfc-brcm.conf
D/NfcAdaptation( 1333): const CNfcParam* CNfcConfig::find(const char*) const found SCREEN_OFF_POWER_STATE=(0x1)
D/BrcmNfcJni( 1333): PowerSwitch::initialize: desired screen-off state=1
D/BrcmNfcJni( 1333): register_com_android_nfc_NativeNfcManager: exit
D/BrcmNfcJni( 1333): register_com_android_nfc_NativeNfcTag
D/BrcmNfcJni( 1333): RoutingManager::RoutingManager(): default route is 0x00
D/BrcmNfcJni( 1333): RoutingManager::RoutingManager(): mOffHostEe=0x02 mAidMatchingMode=0x 0
D/BrcmNfcJni( 1333): RoutingManager::registerJniFunctions
D/BrcmNfcJni( 1333): JNI_OnLoad: exit
D/BrcmNfcJni( 1333): nfcManager_initNativeStruc: enter
D/BrcmNfcJni( 1333): nfcManager_initNativeStruc: exit
D/BluetoothManagerService( 397): Message: 20
D/BluetoothManagerService( 397): Added callback: android.bluetooth.IBluetoothManagerCallback$Stub$Proxy@eb7f28f:true
W/Settings( 1333): Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
W/NfceeAccess( 1333): could not find /etc/nfcee_access.xml, no NFCEE access allowed
I/NfceeAccess( 1333): read 0 signature(s) for NFCEE access
W/NfcSccAccess( 1333): could not find /etc/nfcscc_access.xml, no NFCSCC access allowed
I/NfcSccAccess( 1333): read 0 signature(s) for NFCSCC access
W/NfcSeAccess( 1333): could not find /etc/nfcse_access.xml, no NFCSE access allowed
I/NfcSeAccess( 1333): read 0 signature(s) for NFCSE access
D/NfcService( 1333): Enforcing a policy change on user: UserHandle{0}, isActiveForUser = true
W/Settings( 1333): Setting airplane_mode_radios has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
W/Settings( 1333): Setting airplane_mode_toggleable_radios has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
D/AidRoutingManager( 1333): mDefaultRoute=0x0
D/AidRoutingManager( 1333): mDefaultOffHostRoute=0x2
D/AidRoutingManager( 1333): mAidMatchingSupport=0x0
D/AidRoutingManager( 1333): mAidMatchingPlatform=0x1
D/AidRoutingManager( 1333): mAidTableSize=0x294
D/RegisteredServicesCache( 1333): Dynamic AIDs file does not exist.
D/RegisteredNxpServicesCache( 1333): Dynamic APDU Service file does not exist.
D/CardEmulationManager( 1333): Current default: null
D/CardEmulationManager( 1333): No default set, last payment service removed.
D/RegisteredAidCache( 1333): onServicesUpdated
D/RegisteredAidCache( 1333): Not updating routing table because NFC is off.
D/RegisteredNfcid2Cache( 1333): onServicesUpdated
D/RegisteredNfcid2Cache( 1333): generateAidCacheLocked: mNfcid2Cache size 0
D/RegisteredNfcid2Cache( 1333): Not updating routing table because NFC is off.
D/NfcService( 1333): Before mIsHceCapable
D/NfcService( 1333): checking on firmware download
W/Settings( 1333): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
D/NfcService( 1333): NFC is on. Doing normal stuff
I/NfcService( 1333): Enabling NFC
D/BrcmNfcJni( 1333): nfcManager_getNfcInitTimeout: enter
D/BrcmNfcJni( 1333): NAME_NXP_DEFAULT_NFCEE_DISC_TIMEOUT not found
D/BrcmNfcJni( 1333): NAME_NXP_DEFAULT_NFCEE_TIMEOUT not found
D/BrcmNfcJni( 1333): gNfcInitTimeout = 0: gdisc_timeout = 0 nfcManager_getNfcInitTimeout
I/NfcService( 1333): Enabling NFC timeout90000
D/BrcmNfcJni( 1333): nfcManager_doInitialize: enter; ver=NFCDROID-AOSP_L_00.01 nfa=NFA_PI_1.03.66+ NCI_VERSION=0x10
D/BrcmNfcJni( 1333): nfcManager_doInitialize: MW Version: NFC_NCIHALx_ARF.3.5.0
D/BrcmNfcJni( 1333): PowerSwitch::initialize: level=PS-FULL (1)
D/NfcAdaptation( 1333): const CNfcParam* CNfcConfig::find(const char*) const found SCREEN_OFF_POWER_STATE=(0x1)
D/BrcmNfcJni( 1333): PowerSwitch::initialize: desired screen-off state=1
D/NfcAdaptation( 1333): NfcAdaptation::Initialize: enter
E/NfcAdaptation( 1333): NfcAdaptation::Initialize: ver=NFCDROID-AOSP_L_00.01 nfa=NFA_PI_1.03.66+
D/NfcAdaptation( 1333): const CNfcParam* CNfcConfig::find(const char*) const found PROTOCOL_TRACE_LEVEL=(0xFFFFFFFF)
D/NfcAdaptation( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NFA_MAX_EE_SUPPORTED=(0x1)
D/NfcAdaptation( 1333): NfcAdaptation::Initialize: Overriding NFA_EE_MAX_EE_SUPPORTED to use 1
D/NfcAdaptation( 1333): const CNfcParam* CNfcConfig::find(const char*) const found APPL_TRACE_LEVEL=(0xFF)
D/BrcmNfcJni( 1333): initializeGlobalAppLogLevel: level=5
D/ ( 1333): verify_stack_non_volatile_store
D/ ( 1333): crcChecksumVerifyIntegrity: filename=/data/nfc/nfaStorage.bin1
D/ ( 1333): crcChecksumVerifyIntegrity: filename=/data/nfc/nfaStorage.bin2
D/ ( 1333): crcChecksumVerifyIntegrity: filename=/data/nfc/nfaStorage.bin3
D/ ( 1333): crcChecksumVerifyIntegrity: filename=/data/nfc/nfaStorage.bin4
D/ ( 1333): crcChecksumVerifyIntegrity: filename=/data/nfc/nfaStorage.bin5
D/ ( 1333): delete_stack_non_volatile_store
D/NfcAdaptation( 1333): NfcAdaptation::NFCA_TASK: enter
I/BrcmNfcNfa( 1333): GKI_run(): Start/Stop GKI_timer_update_registered!
D/NfcAdaptation( 1333): NfcAdaptation::Thread: enter
I/BrcmNfcNfa( 1333): NFC_TASK started.
D/NfcAdaptation( 1333): NfcAdaptation::Thread: exit
D/NfcAdaptation( 1333): NfcAdaptation::InitializeHalDeviceContext: enter
D/NfcAdaptation( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NCI_HAL_MODULE=nfc_nci.pn54x
D/NxpNfcNciHal( 1333): nfc_open: enter; name=nci
D/NxpNfcNciHal( 1333): nfc_open: exit 0
D/NfcAdaptation( 1333): NfcAdaptation::InitializeHalDeviceContext: exit
D/NfcAdaptation( 1333): NfcAdaptation::Initialize: exit
I/BrcmNfcNfa( 1333): nfa_dm_init ()
I/BrcmNfcNfa( 1333): nfa_sys_register () id=1, enable_cplt_mask=0x0
I/BrcmNfcNfa( 1333): nfa_sys_register () id=3, enable_cplt_mask=0x8
I/BrcmNfcNfa( 1333): nfa_rw_init ()
I/BrcmNfcNfa( 1333): nfa_sys_register () id=6, enable_cplt_mask=0x48
I/BrcmNfcNfa( 1333): nfa_ce_init ()
I/BrcmNfcNfa( 1333): nfa_sys_register () id=7, enable_cplt_mask=0xc8
I/BrcmNfcNfa( 1333): nfa_ee_init ()
I/BrcmNfcNfa( 1333): nfa_sys_register () id=2, enable_cplt_mask=0xcc
I/BrcmNfcNfa( 1333): nfa_hci_init ()
I/BrcmNfcNfa( 1333): nfa_sys_register () id=8, enable_cplt_mask=0x1cc
I/BrcmNfcNfa( 1333): LLCP - llcp_init ()
I/BrcmNfcNfa( 1333): num_rx_buff = 21, rx_congest_start = 14, rx_congest_end = 10, max_num_ll_rx_buff = 6
I/BrcmNfcNfa( 1333): max_num_tx_buff = 49, max_num_ll_tx_buff = 14
I/BrcmNfcNfa( 1333): LLCP_RegisterServer (): SAP:0x1, link_type:0x2, ServiceName:<urn:nfc:sn:sdp>
I/BrcmNfcNfa( 1333): LLCP_RegisterServer (): Registered SAP = 0x01
I/BrcmNfcNfa( 1333): NFA_Enable ()
D/NfcAdaptation( 1333): const CNfcParam* CNfcConfig::find(const char*) const found APPL_TRACE_LEVEL=(0xFF)
D/BrcmNfcJni( 1333): initializeGlobalAppLogLevel: level=5
I/BrcmNfcNfa( 1333): NFC_SetTraceLevel () new_level = 5
I/BrcmNfcNfa( 1333): NFA got event 0x0100
I/BrcmNfcNfa( 1333): nfa_dm_evt_hdlr event: NFA_DM_API_ENABLE_EVT (0x00)
I/BrcmNfcNfa( 1333): nfa_dm_enable ()
I/BrcmNfcNfa( 1333): NFC_Enable ()
I/BrcmNfcNfa( 1333): nfc_set_state 0 (NONE)->1 (W4_HAL_OPEN)
D/NfcAdaptation( 1333): NfcAdaptation::HalOpen
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NXPLOG_TML_LOGLEVEL=(0x3)
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NXPLOG_FWDNLD_LOGLEVEL=(0x3)
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NXPLOG_NCIX_LOGLEVEL=(0x3)
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NXPLOG_NCIR_LOGLEVEL=(0x3)
D/ ( 1333): phNxpLog_InitializeLogLevel: global =1, Fwdnld =3, extns =3, hal =3, tml =3, ncir =3, ncix =3
D/NxpHal ( 1333): Entering phNxpNciHal_init_monitor
D/NxpHal ( 1333): Returning with SUCCESS
D/NxpTml ( 1333): Opening port=/dev/pn544
D/NxpTml ( 1333): phTmlNfc_i2c_reset(), VEN level 1
D/NxpTml ( 1333): phTmlNfc_i2c_reset(), VEN level 0
D/NxpTml ( 1333): phTmlNfc_i2c_reset(), VEN level 1
D/NxpTml ( 1333): PN54X - Tml Reader Thread Started................
D/NxpTml ( 1333): PN54X - Tml Writer Thread Started................
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpTml ( 1333): PN54X - Read requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpHal ( 1333): thread started
D/NxpNciX ( 1333): len = 4 > 20000101
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpHal ( 1333): write successful status = 0x0
D/NxpHal ( 1333): Response timer started
D/NxpHal ( 1333): Waiting after ext cmd sent
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 6 > 400003001101
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NxpHal ( 1333): Response timer stopped
D/NxpTml ( 1333): PN54X - Read requested.....
D/NxpHal ( 1333): Checking response
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpNciX ( 1333): len = 3 > 200100
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpHal ( 1333): write successful status = 0x0
D/NxpHal ( 1333): Response timer started
D/NxpHal ( 1333): Waiting after ext cmd sent
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 28 > 40011900031E030008000102038081828302D002FF020004881001AC
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NxpHal ( 1333): NxpNci> FW Version: 10.1.ac
D/NxpHal ( 1333): NxpNci> Model id: 8
D/NxpHal ( 1333): NxpNci> Product: PN7150
D/NxpHal ( 1333): Response timer stopped
D/NxpTml ( 1333): PN54X - Read requested.....
D/NxpHal ( 1333): Checking response
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpNciX ( 1333): len = 6 > 20030301A005
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpHal ( 1333): write successful status = 0x0
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpHal ( 1333): Response timer started
D/NxpHal ( 1333): Waiting after ext cmd sent
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 9 > 4003060001A0050100
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NxpHal ( 1333): phNxpNciHal_print_res_status: response status =STATUS_OK
D/NxpHal ( 1333): Response timer stopped
D/NxpTml ( 1333): PN54X - Read requested.....
D/NxpHal ( 1333): Checking response
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
E/NxpHal ( 1333): i2c_fragmentation_status existing
D/NxpFwDnld( 1333): Allocating Mem for Dnld Context..
D/NxpFwDnld( 1333): @@@/system/vendor/firmware/libpn548ad_fw.so
E/NxpFwDnld( 1333): NULL handler : unable to load the library file, specify correct path
D/NxpFwDnld( 1333): FW Image Length - ImageInfoLen 0
D/NxpFwDnld( 1333): FW Image Info Pointer - pImageInfo 0
E/NxpFwDnld( 1333): Image extraction Failed - invalid imginfo or imginfolen!!
E/NxpFwDnld( 1333): Error loading libpn54x_fw !!
D/NxpHal ( 1333): FW version for FW file = 0x0
D/NxpHal ( 1333): FW version from device = 0x1001ac
D/NxpHal ( 1333): phNxpNciHal_CheckValidFwVersion current_major_no = 0x0
E/NxpHal ( 1333): Wrong FW Version >>> Firmware download not allowed
D/NfcAdaptation( 1333): NfcAdaptation::HalDeviceContextCallback: event=0
I/BrcmNfcNfa( 1333): nfc_main_hal_cback event: HAL_NFC_OPEN_CPLT_EVT(0x0), status=0
I/BrcmNfcNfa( 1333): NFC_TASK got NFC_TASK_EVT_TRANSPORT_READY.
I/BrcmNfcNfa( 1333): nfc_set_state 1 (W4_HAL_OPEN)->2 (CORE_INIT)
I/BrcmNfcNfa( 1333): nfc_ncif_send_cmd.
D/NfcAdaptation( 1333): NfcAdaptation::HalWrite
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found MIFARE_READER_ENABLE=(0x1)
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpNciX ( 1333): len = 4 > 20000101
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpHal ( 1333): write successful status = 0x0
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 6 > 400003001101
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NfcAdaptation( 1333): NfcAdaptation::HalDeviceContextDataCallback: len=6
D/NxpTml ( 1333): PN54X - Read requested.....
I/BrcmNfcNfa( 1333): NFC received rsp gid:0
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
I/BrcmNfcNfa( 1333): nci_proc_core_rsp opcode:0x0
E/BrcmNfcNfa( 1333): reset notification nfc_state : #### 1
E/BrcmNfcNfa( 1333): NCI version mismatch!!:0x10 != 0x11
E/BrcmNfcNfa( 1333): reset notification sending core init
I/BrcmNfcNfa( 1333): nfc_ncif_send_cmd.
I/BrcmNfcNfa( 1333): nfc_ncif_check_cmd_queue : making p_buf NULL.
D/NfcAdaptation( 1333): NfcAdaptation::HalWrite
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found MIFARE_READER_ENABLE=(0x1)
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpNciX ( 1333): len = 3 > 200100
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpHal ( 1333): write successful status = 0x0
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 28 > 40011900031E030008000102038081828302D002FF020004881001AC
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NxpHal ( 1333): NxpNci> FW Version: 10.1.ac
D/NxpHal ( 1333): NxpNci> Model id: 8
D/NxpHal ( 1333): NxpNci> Product: PN7150
D/NfcAdaptation( 1333): NfcAdaptation::HalDeviceContextDataCallback: len=28
I/BrcmNfcNfa( 1333): NFC received rsp gid:0
D/NxpTml ( 1333): PN54X - Read requested.....
I/BrcmNfcNfa( 1333): nci_proc_core_rsp opcode:0x1
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
I/BrcmNfcNfa( 1333): FW Version: 10.1.ac
I/BrcmNfcNfa( 1333): nfc_set_state 2 (CORE_INIT)->3 (W4_POST_INIT_CPLT)
D/NfcAdaptation( 1333): NfcAdaptation::HalCoreInitialized
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NXP_ACT_PROP_EXTN=/
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpNciX ( 1333): len = 3 > 2F0200
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpHal ( 1333): write successful status = 0x0
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpHal ( 1333): Response timer started
D/NxpHal ( 1333): Waiting after ext cmd sent
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 8 > 4F02050000013C63
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NxpTml ( 1333): PN54X - Read requested.....
D/NxpHal ( 1333): Response timer stopped
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
D/NxpHal ( 1333): Checking response
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NXP_SYS_CLK_SRC_SEL=(0x1)
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NXP_SYS_CLK_FREQ_SEL=(0x0)
D/NxpExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NXP_SYS_CLOCK_TO_CFG=(0x1)
D/NxpFwDnld( 1333): gphNxpNciHal_fw_IoctlCtx.bClkSrcVal = 0x1
D/NxpFwDnld( 1333): gphNxpNciHal_fw_IoctlCtx.bClkFreqVal = 0x0
D/NxpFwDnld( 1333): gphNxpNciHal_fw_IoctlCtx.bClkFreqVal = 0x1
E/NxpFwDnld( 1333): Clock frequency value is wrong in config file, setting it as default
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpNciX ( 1333): len = 10 > 20030703A002A003A004
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpHal ( 1333): write successful status = 0x0
D/NxpHal ( 1333): Response timer started
D/NxpHal ( 1333): Waiting after ext cmd sent
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 17 > 40030E0003A0020101A0030108A0040101
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NxpHal ( 1333): phNxpNciHal_print_res_status: response status =STATUS_OK
D/NxpHal ( 1333): Response timer stopped
D/NxpHal ( 1333): Checking response
D/ ( 1333): int CNfcConfig::checkTimestamp() file not exist.
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpTml ( 1333): PN54X - Read requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
D/NxpNciX ( 1333): len = 8 > 20020501A0030108
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpHal ( 1333): write successful status = 0x0
D/NxpHal ( 1333): Response timer started
D/NxpHal ( 1333): Waiting after ext cmd sent
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 5 > 4002020000
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NxpHal ( 1333): phNxpNciHal_print_res_status: response status =STATUS_OK
D/NxpHal ( 1333): Response timer stopped
D/NxpTml ( 1333): PN54X - Read requested.....
D/NxpHal ( 1333): Checking response
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
D/NxpHal ( 1333): phNxpNciHal_check_factory_reset file not present = /data/nfc/nfaStorage.bin1
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpNciX ( 1333): len = 26 > 20021702A0EA08FFFFFFFFFFFFFFFFA0EB08FFFFFFFFFFFFFFFF
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpHal ( 1333): write successful status = 0x0
D/NxpHal ( 1333): Response timer started
D/NxpHal ( 1333): Waiting after ext cmd sent
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 5 > 4002020000
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NxpHal ( 1333): phNxpNciHal_print_res_status: response status =STATUS_OK
D/NxpHal ( 1333): Response timer stopped
D/NxpTml ( 1333): PN54X - Read requested.....
D/NxpHal ( 1333): Checking response
D/NxpTml ( 1333): PN54X - Invoking I2C Read.....
D/ ( 1333): int CNfcConfig::checkTimestamp() file not exist.
D/NxpHal ( 1333): Performing TVDD Settings
D/NxpHal ( 1333): Performing RF Settings BLK 1
D/NxpHal ( 1333): Performing RF Settings BLK 2
D/NxpHal ( 1333): Performing RF Settings BLK 3
D/NxpHal ( 1333): Performing RF Settings BLK 4
D/NxpHal ( 1333): Performing RF Settings BLK 5
D/NxpHal ( 1333): Performing RF Settings BLK 6
D/NxpHal ( 1333): Performing NAME_NXP_CORE_CONF_EXTN Settings
?^??pExtns( 1333): const CNfcParam* CNfcConfig::find(const char*) const found NXP_CORE_CONF_EXTN=
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpNciX ( 1333): len = 16 > 20020D03A05E0101A0EC0100A0ED0100
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
D/NxpHal ( 1333): write successful status = 0x0
D/NxpHal ( 1333): Response timer started
D/NxpHal ( 1333): Waiting after ext cmd sent
D/NxpTml ( 1333): PN54X - I2C Read successful.....
D/NxpNciR ( 1333): len = 5 > 4002020500
D/NxpTml ( 1333): PN54X - Posting read message.....
D/NxpHal ( 1333): read successful status = 0x0
D/NxpHal ( 1333): phNxpNciHal_print_res_status: response status =STATUS_SYNTAX_ERROR
W/NxpHal ( 1333): Invalid Data from config file . Aborting..
D/NxpTml ( 1333): PN54X - Write requested.....
D/NxpTml ( 1333): PN54X - Invoking I2C Write.....
D/NxpNciX ( 1333): len = 10 > 21030703800181018201
D/NxpTml ( 1333): PN54X - I2C Write successful.....
D/NxpTml ( 1333): PN54X - Posting Fresh Write message.....
D/NxpTml ( 1333): PN54X - Tml Writer Thread Running................
please help me..
Solved! Go to Solution.
Please try to remove the below parameters in libnfc-nxp.conf file.
Existing :
###############################################################################
# NXP Proprietary core configuration extensions
# For more details refer to the NFC Controller User Manual
NXP_CORE_CONF_EXTN={20, 02, 0D, 03,
A0, 5E, 01, 01,
A0, EC, 01, 00,
A0, ED, 01, 00,
}}
Must be replaced by:
###############################################################################
# NXP Proprietary core configuration extensions
# For more details refer to the NFC Controller User Manual
NXP_CORE_CONF_EXTN={20, 02, 05, 01,
A0, 5E, 01, 01,
}}
Please refer to https://www.nxp.com/docs/en/application-note/AN11690.pdf
Thank you for your repply Jimmy.
I was refer to AN11690 document, and i did this step:
#if defined(CONFIG_NFC_NXP_PN5XX) || defined(CONFIG_NFC_NXP_PN5XX_MODULE)
#include <linux/i2c.h>
#include <linux/pn5xx_i2c.h>
#define NFC_PN5XX_I2C_BUS (2)
static struct pn544_i2c_platform_data nfc_pdata = {
.irq_gpio = PAD_GPIO_A + 28,
.ven_gpio = PAD_GPIO_B + 9,
.firm_gpio = GPIO_UNUSED,
.clkreq_gpio = GPIO_UNUSED,
};
static struct i2c_board_info __initdata nfc_board_info = {
.type = "pn547",
.addr = (0x28),
.platform_data = &nfc_pdata,
};
#endif
and register :
#if defined(CONFIG_NFC_NXP_PN5XX) || defined(CONFIG_NFC_NXP_PN5XX_MODULE)
printk("plat: add nfc(pn5xx) device\n");
i2c_register_board_info(NFC_PN5XX_I2C_BUS, &nfc_board_info, 1);
#endif
6. Adding N5XX into build config file, CONFIG_NFC_NXP_PN5XX=y.
7. Change driver/misc/nxp-pn5xx/Makefile, to obj-$(CONFIG_NFC_NXP_PN5XX) += pn5xx_i2c.o.
8. Replace pakages/apps/Nfc, external/libnfc-nci, framework/base with the file from NXPNFC project AR0F.3.5.0_L_OpnSrc version.
9. Retrieve and install NXP-NCI.
$ wget
https://raw.githubusercontent.com/NXPNFCLinux/nxpnfc_android_lollipop/ma
ster/nxpnfc_manifest.xml
./NxpNfcAndroid/install.sh PN7150
10. Adding NFC into device.mk
# NFC packages
PRODUCT_PACKAGES += \
libnfc-nci \
libnfc_nci_jni \
nfc_nci_pn54x.default\
NfcNci \
Tag \
com.android.nfc_extras
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml \
frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \
NxpNfcAndroid/conf/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \
NxpNfcAndroid/conf/libnfc-nxp.conf:system/etc/libnfc-nxp.conf
11. Edit init.rc file
# NFC
setprop ro.nfc.port "I2C"
chmod 0660 /dev/pn544
chown nfc nfc /dev/pn544
i am able to build and can see nfc_nci.pn54x.default.so file from /system/lib/hw.
i do the following test using adb:
# ls /sys/bus/i2c/devices/i2c-2/
2-001d
2-0028 ------> PN7150
delete_device
device
i2c-dev
name
new_device
power
subsystem
uevent
# ls /sys/bus/i2c/drivers
Goodix-TS
HM5065
SP2518
alc562x-codec
axp_mfd
dummy
ir-kbd-i2c
mma8653
nxp_edid
pn544 ----> the driver is apear
# ls -als /dev/pn544
crw-rw---- nfc nfc 10, 61 2015-01-01 00:00 pn544
But, the NFC on Setting menu is blocked (can't enable or disable).
there is contain error on logcat:
D/NxpTml ( 692): PN54X - Posting read message.....
D/NxpHal ( 692): read successful status = 0x0
D/NxpHal ( 692): phNxpNciHal_print_res_status: response status =STATUS_SYNTAX_ERROR
W/NxpHal ( 692): Invalid Data from config file . Aborting..
Could you send me the complete logcat?
Thanks.
Are you using Android from Qualcomm?
No, i am using samsung s5p4418 from graperain
Hi Jimmy,
i have another question.
when i tried to transmit data using isodef : 00820000288C9D8E3837E8E47514E9010801C1615E65E677A21DC40E07B32DF6DE24EED3D6CD950BA8CB5E738528
i got the SW1 SW2 return 67 00 (wrong length)
and i check this command on desktop pc with a desktop contactless reader, i got 90 00
Please try to remove the below parameters in libnfc-nxp.conf file.
Existing :
###############################################################################
# NXP Proprietary core configuration extensions
# For more details refer to the NFC Controller User Manual
NXP_CORE_CONF_EXTN={20, 02, 0D, 03,
A0, 5E, 01, 01,
A0, EC, 01, 00,
A0, ED, 01, 00,
}}
Must be replaced by:
###############################################################################
# NXP Proprietary core configuration extensions
# For more details refer to the NFC Controller User Manual
NXP_CORE_CONF_EXTN={20, 02, 05, 01,
A0, 5E, 01, 01,
}}
Hi Jimmy,
It's worked...
Thank you very much, you saved my live.