Adding a card to Google Pay fails in bank app because of missing NFC - Xiaomi Poco F1 Questions & Answers

Hey guys! I'm not sure if I should post this thread in the Poco F1 section, the WearOS section or the NFC section, so I'll try it here first.
Like the title says, my bank application denies adding my credit card to Google Pay on the Poco F1, probably because of it's missing NFC chip. The thing is: I want to use Google Pay with my Fossil Gen 5 smartwatch and not with the phone itself.
It's worth mentioning the phone has Magisk installed and I'm using the Pixel Experience ROM. I've hidden the Magisk Manager package and I've activated Magisk Hide for several packages but it didn't change the outcome. I tried the same Magisk settings on a Samsung Galaxy S7 Edge (which has a NFC chip) and adding the card worked flawlessly. The customer service of my bank also told me the problem is most likely the missing NFC functionality of my phone. Too bad the watch is synced to the Poco F1 and I want to keep it that way. Now I'm running out of ideas.
Is there a way to make apps think the phone comes with a NFC chip?
Can I use this method to temporarily sync my watch with the S7, add my card and then switch back to the F1 without losing any data?
Thank you for your time.

Related

[Q] NFC

So I understand this phone has NFC. I've been looking online and am still confused. Is this the thing I can connect to Google Wallet and use my phone to pay for stuff at the checkout by putting the phone up to the reader thingee I see all over??
It supports nfc but as of now i think it cant be incorporated in any of our roms. Maybe wen ics comes
Sent from my NRGized Amaze...
via xda premium
NFC only works on unrooted phones.
NFC is there and it does work, but nothing uses it yet.
Upon pressing my phone against an NFC enabled soda machine at work, the CATLOG file clearly shows that the system's NFC chip is being used, but there isn't an app out right now that utilizes it.
I have installed the APK for Wallet (crashes on startup by the way) and it looks to me like the HTC is using its own NFC method and not one that is recognized by Google's software. (it crashes because it looks for the NFC drivers in a different location than what the NFC catlog shows me)
This summer, Tmobile/ATT/Verizon are rolling out their ISIS mobile payment system (competetor to Google Wallet). So far it seems like ISIS is planning on launching with a better backing than Google Wallet. They have Visa, Mastercard, Discover, and American Express on board. So I would guess that more of us will be seeing mobile payments later this year
Thanks, that's what I figured. I noticed Google Wallet only allowed Citi Bank, and I don't do business with them. I was reading some posts on here where some people got the apk to work on their Android based phones, but the results were mixed with a few people having it work, and many not.
Anyways, thx for the replies.
there is a setting under "wireless & networks" that you have to enable for it to work. maybe try that
Its true that the setting is there and it does currently work, not very many apps use it currently.
I believe you can program NFC tags using the built in NFC tag app that came with the phone. I think part of the reason that it isn't functional right now is because it doesn't use the standard Android NFC functions but instead uses HTC's own. Apps like PayPal don't recognize the phone as having NFC, so the function for it is absent.
But as I stated before, I did tap my phone to a NFC enabled soda machine while it was recording a CATLOG, it does show that its accessing the NFC hardware. Opening Google Wallet shows that its searching in a whole different area for the NFC drivers, and it comes back as not being able to do so.
In sense 3, I'm pretty confedant that HTC created their own makeshift NFC system and hopefully in 4.0+ they use the one that was built into Android
I was walking through a building at work and noticed a soda machine with paypass built into it, so I turned on Catlog and tapped it up against the machine.
This is what the Catlog reads:
NFC JNI Callback:
nfc_jni_transaction_callback() - status=0x0000[NFCSTATUS_SUCESS
NFC JNI > SE EVT_FIELD_ON
NFC JNI Notify Nfc Service
Click to expand...
Click to collapse
So yes, the Amaze is reading the NFC from the machine. This seems to repeat about 10-15 times in the few seconds that I moved my phone over the machine.
I believe that the "Notify Nfc Service" is trying to call out to an app that can access the information from the soda machine, but since there is only the default NFC app availiable to us right now, it doesn't do anything with the data.
I'll try running Wallet with Catlog soon to see what its trying to call
Do you have kind a batch for the soda machine?
If yes, you can try to copy the nfc informations from it to your phone and use your phone as a batch...
Not quite sure what you mean about having a batch on the Soda Machine

[MOD][Xposed] Patch SmartcardService for use with SIM-card-based banking apps

Hi!
I've written another Xposed module for my LEX720 for a very specific purpose, so probably it won't be of much use for the most. But I'm still publishing it for reference reasons.
Background:
First the good news: The stock firmware of LeEco includes the "SmardcardService" (which also often is referred to as "Open Mobile API" or short "OMAPI") which is an extension API to plain Android (i.e. not existing in the Nexus devices or the Pixels) to allow apps accessing Secure Elements (i.e. secure applications embedded in a tamper-resistant hardware) within the SIM-card.
A real world example: in Austria some banks (in cooperation with the 3 largest network operators) support Tap'n'Pay with your phone by installing the NFC-capable banking card as an additional application into the SIM card (which is the same secure chipcard technology as a banking card). This means you get a new SIM card and then you can tap'n'pay with your phone (without Google, without VISA or MasterCard, just as with the Austrian NFC banking cards). AFAIK in some other countries the same concept is used for public transport and others.
The main difference to Android Pay is, that this system is backed by the chipcard (the SIM) and not by a cloud service. But this just as background information.
The problem:
The LEX720 is a dual-sim phone, and so the (banking) apps could read SIM-cards from either SIM1 or SIM2 slot (I tested, SmartcardService works with both). But if you also want to use NFC for payment it has to be inserted into SIM1 (as it seems that only the SIM1 slot ist connected over an SWP line to the NFC chipset). Unfortunately the Austrian banking apps don't seem to handle the dual-SIM situation correctly and only try to read SIM2 (which is empty for me) and therefore don't work.
Additionally, at the end of an transaction, when the application running within the SIM card signalizes that it just had finished a payment transaction to the Android system, the NFC service (/system/vendor/app/NQNfcNci/NQNfcNci.apk) broadcasts this message as an intent to the relevant (banking) app, so that the app can display a transaction result activity.
Unfortunately this mechanism is implemented often very different by different OEMs and so also by LeEco. There exists a standard (GSMA NFC Handset APIs Requirement Specification) but it seems there are a lot of different implementations in the wild.
(Note: this is probably the case because this type of functionality is not part of the official reference Android source code. Plain open source Android like it is running on all Nexus phones and the Pixels just doesn't support these type of applications - which is very unfortunate).
My workaround:
TL;DR I just made an Xposed module which fixes these 2 issues for me. Look into the README on Github for more details.
Source on Github: https://github.com/johnzweng/XposedOmapiBankcardFix
Download Xposed Module: Xposed-module-OMAPI-BankcardMobil-Fix-1.1.apk
Maybe it's also useful for other applications which use the SIM card as secure storage for keys of any type. Use at your own risk.
As a reference: these are the Austrian banking apps this module should work with:
Bank Austria Mobile Geldbörse
BankCard Mobil
Oberbank Bankomatkarte Mobil
Raiffeisen ELBA-pay
VKB-Pay - Bankomatkarte mobil
The module might also help to get other similiar apps working which have problems with Dual-SIM or don't show Transaction confirmation screens. I am talking here about apps which use a special SIM card for payment, ticketing or similiar use-cases via NFC. This has nothing to do with "normal" NFC apps or cloud-based HCE (host card emulation) NFC apps. This module is only for apps which use special SIM cards.
[edit]
Updated download link to version 1.1.
For details see the CHANGELOG in the Github repoistory.
[/edit]
Btw, during debugging I noticed another small bug in the LeEco NFC service:
The package com.android.nfc (/system/vendor/app/NQNfcNci/NQNfcNci.apk) declares a permission which allows apps to receive Intents about EVT_TRANSACTION events. On the LeEco LePro 3 (LEX720, running 5.8.018S, WAXCNFN5801811012S) this permission looks like this
Code:
declared permissions:
com.gsma.service.nfc.permission.TRANSACTION_EVENT: prot=dangerous, INSTALLED
You can check this easyily yourself with this adb command:
Code:
adb shell pm dump com.android.nfc > dump-nfc-service.txt
This will dump all infos into a file named dump-nfc-service.txt. Open the file with an editor and search for "declared permissions:".
The problem with this permission is, that its name is missing a letter!
Correctly it should be called: com.gsma.services.nfc.action.TRANSACTION_EVENT (note the missing "s").
This is specified in the GSMA NFC Handset APIs Requirement Specification (see at the top of page 13 in the PDF)
Funny enough the specification in the PDF also contains a typo in the very same permission name the Intent action name (the dot "." after the word "gsma" is a comma "," in the PDF). It must be really hard to type this correctly.
Nevertheless this typo leads to errors like:
Code:
W/PackageManager( 2357): Unknown permission com.gsma.services.nfc.permission.TRANSACTION_EVENT in package ......
and prevents applications of requesting the correct permission.
Does anybody know if and how it's the best way to report bugs to LeEco?
[edit1]
I contacted them on Twitter. I hope they will forward this issue to developers.
Btw, it seems that also LG had included the same typo in some of its devices:
Devices without the "s": https://census.tsyrklevich.net/permissions/com.gsma.service.nfc.permission.TRANSACTION_EVENT
vs.:
Devices with the "s": https://census.tsyrklevich.net/permissions/com.gsma.services.nfc.permission.TRANSACTION_EVENT
[/edit1]
Hi androcheck,
first i am really impressed that somebody found a solution for that problem (i already have several posts with no answer at all)
But now i have a problem as when i install the fix i stuck in a boot loop. Is this maybe cause i am on custom ROM (Turbo MIUI) ?
Hope you have an idea
thanks
Robert
viercp said:
Hi androcheck,
first i am really impressed that somebody found a solution for that problem (i already have several posts with no answer at all)
But now i have a problem as when i install the fix i stuck in a boot loop. Is this maybe cause i am on custom ROM (Turbo MIUI) ?
Hope you have an idea
thanks
Robert
Click to expand...
Click to collapse
So far seems a "one time bug" - all ok with patch but i still get the very same error mssg
Any poss to tell me where i can check if entries provided by fix are really done ?
viercp said:
So far seems a "one time bug" - all ok with patch but i still get the very same error mssg
Any poss to tell me where i can check if entries provided by fix are really done ?
Click to expand...
Click to collapse
Hi!
Sorry for the delayed answer.
First of all the ROM you are using must have the SmartcardService (=implementation of OpenMobile API), the corresponding library (org.simalliance.openmobileapi.jar) and permission manifest (org.simalliance.openmobileapi.xml) installed. I downloaded miau_destroyer_v12.zip from this thread here, extracted it and it seems that it contains all three of them.
My Xposed module "XposedOmapiBankcardFix" doesn't do very much besides forcing the apps which are using the OpenMobile API to always use "SIM1" as SmartcardReader. This was necessary because at the time of writing the Bankcard apps in Austria from PSA (Payment Services Austria) didn't correctly check for multiple SIM slots. So in fact this was a bug in the PSA apps, not in the phone.
Back then I reported this back to the developers (of the banking app) and today it seems to be fixed (I didn't check in detail but the Bank Austria app now is working for me on Android 7 without Xposed installed - with the SIM inserted in slot 1).
Another point I realized: By looking into the build.props of the miau_destroyer_v12 ROM it seemed to me that this ROM is configured for single SIM use. This means that the SmartcardService also only sees one cardreader (SIM slot). Maybe this also interferes with the Xposed module?
For clarification:
Before I wrote my Xposed module, the Bank Austria banking app worked already perfectly (no errors displayed, recognized the NFC SIM card, personalization of the bankcard worked ok) when I inserted the SIM card into slot 2. It just didn't work when the SIM card was inserted in slot 1. The problem is that it must be inserted in slot 1 if you want to use it over NFC. This is why I decided to work around this limitation with my Xposed module.
The second feature ("Fix EVT_TRANSACTION Intent") of my module was just a gimmick "on the way". I realized that the confirmation dialog after paying is not displayed, but this was just a "cosmetic" problem. Payments did still work, even if the confirmation dialog on the phone is not displayed.
Another sidenote:
As I have mentioned before I have switched already to an Android 7.1 based ROM on my personal phone (as a developer I want to use some of the new APIs) so I don't have Xposed anymore (as Xposed is not available for Android 7). So at the moment I cannot really test anything.
Which error exactly do you get? What do you see in logcat?
Kind regards,
john
androcheck said:
Hi!
Another point I realized: By looking into the build.props of the miau_destroyer_v12 ROM it seemed to me that this ROM is configured for single SIM use. This means that the SmartcardService also only sees one cardreader (SIM slot). Maybe this also interferes with the Xposed module?
Click to expand...
Click to collapse
Changed in build.prob to enable Dual SIM
Which error exactly do you get? What do you see in logcat?
Click to expand...
Click to collapse
Havent worked with before - which entry you are looking for ?
Lot Of Thanks for your great work!
Btw,Do you use AOSP 8.1(such as AICP8.1)
On these roms,after add SmartCardService.apk ,it still cann't work with these bank apps. Actually,it can read other nfc tags,but it's HCE (Host-based Card Emulation) can not work
Could you have a try to fix it?
My post:
https://forum.xda-developers.com/le...a-zl1-x727-x720-t3698058/page356#post76274677
Hi,
Google says that Pixel 7 series don't support SWP-SIM while Pixel 6 and others supported.
So I started googling that if there's any 'Magisk way' to solve this issue, then I find your xda posts.
If you happen to be a Pixel 7 user, are you interested in looking into this issue?
I'd like to buy you a $30 coffee or more if I can use the SWP-SIM for payment on my Pixel 7.
jasonlee0315 said:
Google says that Pixel 7 series don't support SWP-SIM while Pixel 6 and others supported.
So I started googling that if there's any 'Magisk way' to solve this issue, then I find your xda posts.
Click to expand...
Click to collapse
Hi!
I don't have Pixel 7 and currently I am not working in this field, but for clarification:
"SWP-SIM support" is (also) a hardware feature.
To be able to use SWP-SIMs there must be a physical connection between the SWP pin of the NFC controller (this is a separate chip on the mainboard of your phone, not the main application processor, where Android runs on) and the respective pin of the SIM card slot.
Google in the past tended to not connect these 2 pins. I don't know if the Pixel 7 has this connection. I just wanted to let you know, that if this connection does not exist, there is no way to solve this in software.
[edit]
(see also this old question on stackexchange, this was about the Nexus 5X and 6P: https://stackoverflow.com/questions...-to-the-uicc-on-the-nexus-5x-and-the-nexus-6p)
[/edit]
androcheck said:
Hi!
I don't have Pixel 7 and currently I am not working in this field, but for clarification:
"SWP-SIM support" is (also) a hardware feature.
To be able to use SWP-SIMs there must be a physical connection between the SWP pin of the NFC controller (this is a separate chip on the mainboard of your phone, not the main application processor, where Android runs on) and the respective pin of the SIM card slot.
Google in the past tended to not connect these 2 pins. I don't know if the Pixel 7 has this connection. I just wanted to let you know, that if this connection does not exist, there is no way to solve this in software.
[edit]
(see also this old question on stackexchange, this was about the Nexus 5X and 6P: https://stackoverflow.com/questions...-to-the-uicc-on-the-nexus-5x-and-the-nexus-6p)
[/edit]
Click to expand...
Click to collapse
Thanks for replying. I guess I might give up trying to get SWP-SIM working on Pixel 7.

Sweet! $50 wear watch with NFC needs DEV

As we all know there are few watches with NFC wear24 has it but its dormant in the watch with no access. All we need is a good developer to get this up and running. Come on XDA we can do this.
So I got Google Pay (android pay discontinued) on the watch sideloaded. It all works great but it is asking for NFC to be turned on.
I'm wondering if there is an oem settings menu
Dial code menu or some way to activate NFC...
So close yet so far away.
I found a couple of apps another XDA guy used to enable NFC in the sony watch 3
ones the NFC Enabler setting but I cant sideload it it errors out with this
Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE: Package couldn't be installed in /data/app/com.sibhtc.nfc-1: Package com.sibhtc.nfc has no signatures that match those in shared user android.uid.system; ignoring!]
I did mange to install the NFC watchface but without that setting I cant activate the chip
I will attach the apps here in hopes someone can test them and get it going
I tried the same thing (NFC Enabler) along with a bunch of other apps with no luck. I really hope that a developer will help us out and find a way to turn NFC on.
Deleted
Steeleio said:
I tried the same thing (NFC Enabler) along with a bunch of other apps with no luck. I really hope that a developer will help us out and find a way to turn NFC on.
Click to expand...
Click to collapse
Im wondering if there is an option for it in the build prop... If so all we need is root otherwise im thinking it may need to be implemented into the kernel then we need root and rom
I Just bought one too, I would love to have a Rom with NFC and all the VZW crap removed.
I have a Wear24 and I can do javascript very well. I have android studio and fastboot + adb.
If I can be of help let me know.

Best find my mobile software

Hi all,
I was wondering if anyone can recommend any apps that are good at find my phone, I have the samsung setup but wanted to ask if there was anything more effective etc ?
Thanks
I primarily use the Google one. By default Google tracks the locations of the device and such, and I believe you can ping your phone account side, but I have the actual app installed as well from Google play. If you're using the Samsung one as well, it won't hurt. Make sure in phone settings for the find my device, that you enable "send last location" before phone dies as an extra precaution.
I've lost my s7 edge once, tracked it with google one. Combined with samsung watch to measure10m range of bluetooth connection. Found it inside taxi.

Making NFC work on older devices with custom Android 7/8/9 for example SM-J500F

Someone really needs to fix NFC for newer custom Androids, I been trying to figure it out, on the older version of Custom and official Android 6 NFC worked
But on Android 8/9 I only got as far as managed to install NFC service from website and Apks are made by Google and LineageOS that done nothing, Flashing Random NFCEnabler.zip packages, done nothing as expected
Done some more test on my SM-J500FN phone which I knew will faile bc obviously it's not for my device but hey I had time to test
And The weird thing is that when I flashed the NFC_HTC_Desire_C_Enabler_v3.zip from https://forum.xda-developers.com/showthread.php?t=2160781
This time the NFC Enabled? APK showed is supported that means I triggered something Idk what bc I didn't look more into it like actually use one of the apps for NFC reading bc I was out and the phone just crashed before I could go see the setting and check NFC and I actually forgot to check NFC tool lol
But I remember it was on ViperOS (LINK)
God all Google searchers are special all about how to turn on or off NFC or people think that just slapping a NFC chip on the board of some HTC phone "Adds NFC to non-NFC enable versions Device" forgetting that system have to be changed too and i don't think HTC released HOW to ADD NFC to they devices since that person had no idea or another phone to get a software, schematics, numbers and names of the chip he needs to for this to work, so, unfortunately, I don't know what to do next since when I'm searching more and more I just get more trash about how to swipe right and I'm not gonna lie it drives me mad so maybe someone will take over from here and could use this information and maybe succeed or I will do more test and see If I could go further with this
+LINKS+
NFC Enabled? APK
https://play.google.com/store/apps/details?id=com.rexxars.nfcenabled&hl=en
Nfc Service - You can find all versions here and also they are made by Google as well as by LineageOS
https://www.apkmirror.com/?post_type=app_release&searchtype=apk&page=2&s=NFC
Other NFCEnabler.zip for Android JB
https://forum.xda-developers.com/galaxy-s2/development-derivatives/mod-nfc-enabler-t1822447
Hopefully, someday we will bring support for NFC supported Device that just needs newer and stabler Android :highfive:​

Categories

Resources