WeAreFairphone / android_device_fairphone_FP3

Android / LineageOS 16 device tree for Fairphone 3
46 stars 7 forks source link

NFC cannot be enabled again #10

Closed David-Guillot closed 4 years ago

David-Guillot commented 4 years ago

Hi there,

After flashing the first unofficial release, I immediately disabled NFC because most of the time I just don't need it. But then I wanted to enable it again, just for the sake of testing it. The switch button remained stuck and "Android Beam" feature was not made available.

If you need some adb logcat on this one, I can provide it in the next couple of days.

Cheers,

David-Guillot commented 4 years ago

The part of my adb logcat when the issue occurs (when trying to turn NFC on):

05-12 09:48:51.908  1249  1537 E LightsService: Light requested not available on this device. 2
05-12 09:48:51.910   668   691 E ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
05-12 09:48:56.911  1249  1415 E LightsService: Light requested not available on this device. 2
05-12 09:48:59.854  3665 14062 W WebSocketConnection: Sending keep alive...
05-12 09:48:59.864  3665 14062 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
05-12 09:48:59.866  3665 14063 W WebSocketConnection: Sending keep alive...
05-12 09:48:59.872  3665 14063 W AlarmSleepTimer: Setting alarm to wake up in 55000ms.
05-12 09:48:59.994  2451  2489 I QcrilOemhookMsgTunnel: [0]processOemHookIndication length=21
05-12 09:48:59.995  2451  2451 D QcrilMsgTunnelIfaceManager: handleMessage what = 0
05-12 09:49:00.091  1249  2834 D AlarmManagerService: Kernel timezone updated to -120 minutes west of GMT
05-12 09:49:00.104  3665 14056 W WebSocketConnection: WSC onMessage()
05-12 09:49:00.104  3665 14056 W WebSocketConnection: Message Type: 2
05-12 09:49:00.108  2301  2301 D ServiceStateProvider: subId=1
05-12 09:49:00.119  3665 14057 W WebSocketConnection: WSC onMessage()
05-12 09:49:00.119  3665 14057 W WebSocketConnection: Message Type: 2
05-12 09:49:09.609  1249  1537 E LightsService: Light requested not available on this device. 2
05-12 09:49:09.611   668   691 E ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
David-Guillot commented 4 years ago

(the errors related to LightsService probably explain the erratic behavior of automatic screen brightness, for which I'll open another issue soon)

mstaz commented 4 years ago

Hi David, For me switching NFC off and on again works without issues. Did you do anything special? Maybe reboot in between? The automatic screen brightness works for me as well. At least as far as my experience is so far :wink: What exactly doesn't work here?

David-Guillot commented 4 years ago

Hi @mstaz ,

Sorry for the delay, I wanted to receive my new SIM card since the old one was buggy on many levels. Now that I have one that I'm sure of, I can confirm the issue.

I did not do anything special. After rebooting NFC does not enable either, and Android Beam menu entry stays grayed.

Thanks,

dk1978 commented 4 years ago

I believe I can confirm this now. I looked more closely: you can turn the NFC button on - but it will not stay on if you return to the menu. The Android Beam stays greyed out as reported.

I am also using the usereng build with Micro-G patches.

Screenshot_20200611-142626_Settings

dk1978 commented 4 years ago

A little update: NFC is up - although I can't quite explain why. :-P I tested it and was successful in beaming a contact to another Android device.

Screenshot_20200611-204149_Settings

dk1978 commented 4 years ago

So what did I do? I was trying to get more debugging information out of the NFC vendor libraries and changed the log verbosity settings at the top of vendor/etc/libnfc-mtp-NQ3XX.conf as follows:

## This file is used by NFC NXP NCI HAL(external/libnfc-nci/halimpl/pn547)
## and NFC Service Java Native Interface Extensions (packages/apps/Nfc/nci/jni/extns/pn547)

###############################################################################
# Application options
# Logging Levels
# NXPLOG_DEFAULT_LOGLEVEL    0x01
# ANDROID_LOG_DEBUG          0x03
# ANDROID_LOG_WARN           0x02
# ANDROID_LOG_ERROR          0x01
# ANDROID_LOG_SILENT         0x00
NXPLOG_EXTNS_LOGLEVEL=0x01
NXPLOG_NCIHAL_LOGLEVEL=0x01
NXPLOG_NCIX_LOGLEVEL=0x01
NXPLOG_NCIR_LOGLEVEL=0x01
NXPLOG_FWDNLD_LOGLEVEL=0x01
NXPLOG_TML_LOGLEVEL=0x01

With this things seem to work - maybe because of some time-out logic somehere? Comments anyone?

dk1978 commented 4 years ago

Update: I believe our issue is related to this problem. I have tried the suggested solution of introducing a new system property ro.nfc.fw_dl_on_boot = 0 which appears to fix things.

mstaz commented 4 years ago

I guess this should be solved with #13, right?