NFC doesn’t work on OnePlus 9 Pro with /e/OS 1.8.1
- /e/ version: 1.8.1-s-20230204257074-dev-lemonadep, 1.9-beta.3-s-20230222262912-dev-lemonadep
- Device model(s): OnePlus 9 Pro (lemonadep)
- Developer mode enabled: yes
- Device rooted: makes no difference
- Trackers blocker enabled: makes no difference
Summary
NFC doesn't work despite it's functionality has been checked on stock OS before flashing /e/OS as denoted in documentation. It's possible to toggle NFC button on Quick Setting Panel and NFC service seems to be running: "Stop" button is active in app settings. But nothing happens when I try to read NFC token via corresponding app.
The problem
Steps to reproduce
- Install NFC Tools app on stock OS, run it and put known to work NFC token to cameras block where NFC module resides -- the app reads and displays info about the token
- Flash /e/OS, Install NFC Tools app, run it and put same NFC token to NFC module
- Try to disable/enable NFC button in Quick Settings Panel and repeat (2)
- Try to reboot and repeat (2)
What is the current behavior?
Nothing happens
What is the expected correct behavior?
NFC Tools app should read and display info about the token as on stock OS
Technical informations
Relevant logs (adb logcat
)
Starting from smartphone boot, NFC Tool app activated at 17:07:51.084, NFC token put to the smartphone at 17:07:57.216:
OnePlus9Pro:/ $ logcat -d *:W | grep -i nfc
01-08 00:58:26.948 239 239 E qcom,sn-nci 5-0028: error reading NFC VDDIO min and max value
01-08 00:58:26.948 239 239 E qcom,sn-nci 5-0028: error reading NFC current value
01-08 00:58:26.948 239 239 E nfc_ldo_config: regulator entry not present
03-01 17:06:59.597 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: readConfig Cannot open config file /system/vendor/libnfc-nxp_RF.conf
03-01 17:06:59.597 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: readConfig Cannot open config file /data/vendor/nfc/libnfc-nxpTransit.conf
03-01 17:06:59.619 2549 2620 E NFC : could not retrieve NFC service
03-01 17:06:59.620 2549 2620 E NFC : could not retrieve NFC service
03-01 17:06:59.691 3941 4193 W libnfc_nci: [WARNING:gki_ulinux.cc(98)] gki_task task_id=0 terminating
03-01 17:06:59.811 1034 1034 E NxpFwDnld: phDnldNfc_SetDlRspTimeout timeout value =9c4
03-01 17:06:59.811 1034 1034 E NxpFwDnld: phDnldNfc_SetDlRspTimeout timeout value =9c4
03-01 17:06:59.841 3941 4194 W libnfc_nci: [WARNING:nfc_ncif.cc(1660)] reset notification!!:0x2
03-01 17:06:59.881 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:06:59.881 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:06:59.891 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:06:59.905 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:06:59.905 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:07:00.138 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:07:00.138 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:07:00.192 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:07:00.192 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: resetModified Unable to open file for writing
03-01 17:07:00.192 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:07:00.192 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: isModified Unable to open file assume modified
03-01 17:07:00.192 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: resetModified Unable to open file for writing
03-01 17:07:00.192 1034 1034 E vendor.nxp.hardware.nfc@2.0-service: resetModified Unable to open file for writing
03-01 17:07:00.243 3941 4194 W libnfc_nci: [WARNING:nfa_ee_act.cc(2174)] nfa_ee_nci_mode_set_rsp p_rsp->status:0x03
03-01 17:07:00.251 3941 4194 W libnfc_nci: [WARNING:nfa_ee_act.cc(2174)] nfa_ee_nci_mode_set_rsp p_rsp->status:0x03
03-01 17:07:00.262 3941 4194 W libnfc_nci: [WARNING:nfa_ee_act.cc(2174)] nfa_ee_nci_mode_set_rsp p_rsp->status:0x00
03-01 17:07:00.275 3941 4186 E libnfc_nci: [ERROR:nfa_ee_api.cc(506)] Bad ee_handle
03-01 17:07:00.275 3941 4186 E libnfc_nci: [ERROR:nfa_ee_api.cc(442)] Bad ee_handle
03-01 17:07:00.275 3941 4186 E libnfc_nci: [ERROR:RoutingManager.cpp(583)] RoutingManager::updateDefaultProtocolRoute: failed to register default ISO-DEP route
03-01 17:07:00.276 3941 4194 W libnfc_nci: [WARNING:HciEventManager.cpp(152)] Incorrect Pipe Id
03-01 17:07:51.084 1364 3912 W InputManager-JNI: Input channel object 'edc1bee Splash Screen com.wakdev.wdnfc (client)' was disposed without first being removed with the input manager!
03-01 17:07:53.358 1364 1424 W InputManager-JNI: Input channel object 'af1a377 com.wakdev.wdnfc/com.wakdev.nfctools.free.views.MainActivityFree (client)' was disposed without first being removed with the input manager!
03-01 17:07:57.216 3941 4194 E libnfc_nci: [ERROR:rw_mfc.cc(697)] rw_mfc_conn_cback NULL pointer
03-01 17:07:57.236 3941 4194 E libnfc_nci: [ERROR:rw_mfc.cc(697)] rw_mfc_conn_cback NULL pointer
03-01 17:07:57.254 3941 4194 E libnfc_nci: [ERROR:rw_mfc.cc(528)] RW_MfcDetectNDef
03-01 17:07:57.257 3941 4194 E libnfc_nci: [ERROR:rw_mfc.cc(884)] rw_mfc_readBlock: RW_MFC_SUBSTATE_WAIT_ACK
03-01 17:07:57.260 3941 4194 E libnfc_nci: [ERROR:rw_mfc.cc(697)] rw_mfc_conn_cback NULL pointer
Relevant screenshots
N/A
Solutions
Workaround
Almost worked (see link below) just once, Magisk installed, in adb shell
:
su
mount -o remount,rw /vendor
cp /vendor/etc/libnfc-mtp-SN100.conf /vendor/etc/libnfc-nxp.conf
mount -o remount,ro /vendor
(reboot)
Possible fixes
Please see my detailed investigation on the forum