Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NFC compatibility with phones #209

Open
Zjemm opened this issue Jun 26, 2019 · 143 comments
Open

NFC compatibility with phones #209

Zjemm opened this issue Jun 26, 2019 · 143 comments

Comments

@Zjemm
Copy link

Zjemm commented Jun 26, 2019

Hi,

I finally received a solo USB A and a solo tab USB C

They both work when plugged in and pressing the key on my laptop. But now I want to test nfc on my Android phone but I can't seem to get it working.

Nfc works on the phone because I pay with nfc at shops.

How can I test nfc on my Android with for example GitHub or Gmail.

I also installed a nfc app that can read nfc chips. So when I scan my bank card it read the chip. But with to solo, nothing happens.

Any advise?

@gillesw
Copy link

gillesw commented Jun 27, 2019

I have the same trouble : NFC doesn't work on solo tap USB-C
OnePlus 6T A6013_41-190528 build (latest)

@Zjemm
Copy link
Author

Zjemm commented Jun 27, 2019

For me it's the OnePlus 3T Android 9.0.3

@martinpaljak
Copy link

I get 6f00 (generic exception) with tap version on the u2f coffe test site with android. It also is “looping” so seems to sort of crash the connection repeatedly.

@fmeum
Copy link
Contributor

fmeum commented Jun 27, 2019

Not working on the OnePlus 5, although it works with YubiKeys and my Solo Tap passes the FIDO test suite with an external NFC reader.

@Zjemm
Copy link
Author

Zjemm commented Jun 27, 2019

Alright so at least im not the only one. So this must be something. Or maybe a combination with OnePlus

@mrvantage
Copy link

Similar problems here on my OnePlus 3. I am able to read the solo tap using the NXP taginfo app, but only without the sleeve on.

I've tried using the keys with https://u2f.bin.coffee, but I was unable to register it via NFC

@martinpaljak
Copy link

@mrvantage what was the error on the test website?

@Tumeez
Copy link

Tumeez commented Jun 29, 2019

I also thought that my Solo Tap's are broken, because no react with Oneplus 3. They already know that problem, because I contact them to directly.

tl:dr Solo Tap NFC doesn't work with my Oneplus 3

@Zjemm
Copy link
Author

Zjemm commented Jun 30, 2019

Well now there is also a GitHub issue, so more people can see

@Mincka
Copy link

Mincka commented Jul 1, 2019

Same thing here, I contacted Solo on Twitter but no more answers...

Got response: { "errorCode": 1, "errorMessage": "Low level error 0x6f00" } on https://u2f.bin.coffee/
Not working on https://webauthn.io/ neither (with or without rubber protection).
Looks ok on NXP TagInfo.

Tested on Samsung Galaxy A8 (SM-A530F) with Android 9 / One UI 1.0 up-to-date.
Same issue with multiple keys (Type-A or Type-C).

Also tested on Samsung A5 2016 after NFC read, same error.
No NFC field activation at all on Honor 8 and Samsung Galaxy S9.
Powered by a USB-C port from a laptop: same error in the JavaScript response on the mobile.

The key is said to be "up-to-date" on update.solokeys.com but I also tried to force reflash it.
Tried multiple times, with multiple keys, everywhere on the back. 🙁

They work as expected when plugged to a USB port, but the NFC is not.

@manuel-domke
Copy link

So until now there were only reports regarding "OnePlus" branded smartphones.

If this affects more manufacturers (or Solo Tap's), I guess there is a bigger issue,Hopefully they can fix it it the firmware.

Are there any smartphones where it is confirmed working? I have a Tap, but no other NFC-capable device (yet). But maybe I can get hands on some colleague's phones...

@Mincka
Copy link

Mincka commented Jul 1, 2019

A colleague told me that he paired his Solo Tap USB-A, plugged on his laptop, to his Google account (nothing new at this stage).

Then, he told me that he managed to authenticate on Google, on his phone (A5 2017), using NFC (on the second try).

Still, he has the same error message (Low level error 0x6f00) on https://u2f.bin.coffee/.

@Mincka
Copy link

Mincka commented Jul 1, 2019

Oh, some progress here... I was unable to test the same scenario since I cannot pair my Solo Tap USB-C on my laptop because I have no USB-C or adapter.

However, it made me think that I did not try to combine a U2F registering through USB and an authentication through NFC on https://u2f.bin.coffee/... And it worked, on the third try... 🎉

I tried again and it never works on the first time, but still, the sign in is working at some point. However, the registering over NFC never work. Hope it helps...

I guess it could be related to the maximum delay authorized for the operations on Android. Conor was taking about that during the campaign.

Tap is particularly challenging to make because it needs to operate passively. This means it must harvest the power solely from the NFC field. [...] To be able to efficiently harvest enough power, using this external NFC chip isn’t enough. There also needs to be an antenna. [...]

But even with a good antenna, there were still some issues. The design couldn’t harvest enough power to run at 100% speed, so I had to run it at about 50% speed. Consequently the register and authenticate would take longer to compute (about 1.0s, and 0.5s). These seems fine but Android NFC FIDO requests timeout after about 0.5s. So register wouldn’t work and authenticate worked sometimes.

I was stuck at this for a while. I kept running through these steps.

  1. Try to improvement antenna to get more power.
  2. Make code faster.
  3. Experiment with different settings on microcontroller.

Eventually I improved it enough and now it works quite well :D.

@manuel-domke
Copy link

But only on the Galaxy A8?
The A5, G9 and "Honor 8" (whatever this is) don't react at all, like described for the OnePlus's ?

@Zjemm
Copy link
Author

Zjemm commented Jul 1, 2019

Don't think it's a OnePlus issue then

@dschuermann
Copy link

dschuermann commented Jul 1, 2019

I received my Solo Tap (+USB-C) and it works in Chrome with Pixel 2XL on https://u2f.hwsecurity.dev and https://webauthn.hwsecurity.dev .

We implemented workarounds for #214 and #213 and now it also works with our native SDK from https://hwsecurity.dev

@Mincka
Copy link

Mincka commented Jul 1, 2019

Exactly same behaviour on u2f.hwsecurity.dev and webauthn.hwsecurity.dev: registration only possible with USB (however error code 1 or NotReadableError) and authentication works about 1 time over 3...

I could accept (tolerate) the need to plug for registration but the authentication rate failure is too high.

At least, the NFC field is activated for my phone, on others, there is no detection at all (these phones work perfectly fine for other NFC devices or badges).

@dschuermann : Do you confirm that you can register and authenticate via NFC without failure? Can you tell which phone(s) you are using?

@conorpp
Copy link
Member

conorpp commented Jul 1, 2019

I've just done some testing on Pixel, Nexus, Samsung S9, and LG phones. I haven't tried OnePlus.

It seems that a lot of LG phones simply don't support ISO 14443A, which is the NFC protocol used by Tap. The LG phone I used wasn't able to read the NDEF data even while Tap was USB powered. I suspect some OnePlus models have a similar problem.

For Samsung S9, it took me a while to get it to work with a U2F test site via NFC, around 60-120s before a registration succeeded. I couldn't figure out a consistent method for improving that. I think the RF coupling is too poor. I suspect this issue extends to most Samsung devices. NFC-Registering while USB powered I found a firmware bug, but fixing that, it works fine; but no improvement in passive operation. Will push bug fix soon.

Pixel and Nexus 6 devices worked fine. I think recent Motorola and Google devices give the best performance.

I believe most issues stem are stemming from poor RF coupling with some phone models. Using only authentication instead of registering should help since it takes less time and power. If I can find any potential firmware improvements, I'll work on them. In any event, we/@solokeys/team-solokeys are planning a new HW revision, and one of the improvements will be significantly reducing power and timing for passive operation.

@Tumeez
Copy link

Tumeez commented Jul 1, 2019

Will new HW rev be free to us who have a problem at the moment?

@0x0ece
Copy link
Member

0x0ece commented Jul 2, 2019

Personally, I think we have opportunities to fix via firmware upgrade -- if not we'll certainly explore a hw rev. But I'm positive we can optimize the boot, or play with advanced uses of the AMS chip. It'll just require some time to test and explore options.

It's good to collect feedback about non-working devices.

@Zjemm
Copy link
Author

Zjemm commented Jul 2, 2019

I've just done some testing on Pixel, Nexus, Samsung S9, and LG phones. I haven't tried OnePlus.

It seems that a lot of LG phones simply don't support ISO 14443A, which is the NFC protocol used by Tap. The LG phone I used wasn't able to read the NDEF data even while Tap was USB powered. I suspect some OnePlus models have a similar problem.

For Samsung S9, it took me a while to get it to work with a U2F test site via NFC, around 60-120s before a registration succeeded. I couldn't figure out a consistent method for improving that. I think the RF coupling is too poor. I suspect this issue extends to most Samsung devices. NFC-Registering while USB powered I found a firmware bug, but fixing that, it works fine; but no improvement in passive operation. Will push bug fix soon.

Pixel and Nexus 6 devices worked fine. I think recent Motorola and Google devices give the best performance.

I believe most issues stem are stemming from poor RF coupling with some phone models. Using only authentication instead of registering should help since it takes less time and power. If I can find any potential firmware improvements, I'll work on them. In any event, we/@solokeys/team-solokeys are planning a new HW revision, and one of the improvements will be significantly reducing power and timing for passive operation.

i have registered the solo USB-C Tab via usb-c (laptop) on my github account, but still then authentication on the android via NFC (oneplus3t chrome) does not work.

when plugged in to a laptop for power and then trying NFC, it does read the key but auth fails.

seems indeed like a power issue. I hope you guys can fix it via firmware, otherwise NFC is completely useless in my situation

another thing i noticed that when plugging in the tab on my usb-c on my laptop, the led lights up. but when plugging in on my phone it does not.
I plugged it into an LG phone and there it did light up
and the USB settings popup from android showed as: Power supply (translated from dutch)

my oneplus3t asks me what to to when plugging in a usb-c cable connected to my laptop (charging only, or file transfer e.t.c.) but it does not ask me when plugging in the solokey in the phone.
also there is no "power supply" option. so the oneplus does not power the key

so it also seems that the tab via usb-c does not work on the oneplus

@dschuermann
Copy link

dschuermann commented Jul 3, 2019

So, some information how Android does FIDO: Chrome is using Google's proprietary FIDO implementation that is shipped in their Google Play Services. I think, we can do a lot better regarding UX and NFC/USB backend. That's why we implemented our own native FIDO stack on Android. Also, this allows us to support special use cases based on customer requirements (such as PDF signing).

Long story short, I just pushed an update to our FIDO Sample (now version 1.6) on Google Play (could take up to 4 hours until you get it): https://play.google.com/store/apps/details?id=de.cotech.hw.fido.example

You can try our implementation with your phone and report if it works better than Chrome. I would be interested in your results.

Also, for some devices, we show where the best NFC spot is located on the back of your device, this may help:
nfc2

@Zjemm
Copy link
Author

Zjemm commented Jul 3, 2019

Nice but first we need an nfc fix, because right now nfc does not work on several Android devices

Also can more people confirm when plugged the usbc in a OnePlus, that it does not receive power?

@Mincka
Copy link

Mincka commented Jul 3, 2019

@dschuermann:
After about 100 NFC registering attempts on Galaxy S9: 3 times: "INS_NOT_SUPPORTED", 96 times: vibration but nothing, 1 time: successful registration (really unexpected, first time happening with NFC).
Same results when powered from another phone with USB-C.

However, the authentication works better with your app than Chrome, I'd say authentication succeeds about 8 out of 10 attempts.

Side note regarding the app: the key has to be plugged BEFORE taping on buttons (register / authenticate). It does not work if the help message is displayed. It can be a bit confusing. I was expecting to be prompted to plug the key after taping the buttons, not before.

Is there a way to prevent the Android pop-up "Do you allow the app to access Solo 2.3.0?" each time we need to authenticate through USB?

@dschuermann
Copy link

dschuermann commented Jul 4, 2019

@Mincka thanks for your testing, very interesting. I tested the SoloKey Tap successfully on Pixel 2 XL over NFC. I will do a more detailed testing with our different devices next week.

Is there a way to prevent the Android pop-up "Do you allow the app to access Solo 2.3.0?" each time we need to authenticate through USB?

Unfortunately, there is no good way to prevent that pop up. If you would use a single FIDO app, we could register this app on USB Intents using the Intent Filter. Then you could choose "always" and it will no longer ask for permissions later. But already if you use two FIDO apps, the other will need to ask for permission again using the pop up. So we decided against registering on Intent filters to not pollute this list with each FIDO app.

@Mincka
Copy link

Mincka commented Jul 4, 2019

I notified the Solo team on Twitter on June 18th and still no official message about this specific issue. I bought 5 Solo Tap keys for my teammates and I. Nobody is able to use them with Chrome / Google and NFC, on different phone models. This is the most basic scenario that you expect to work smoothly. The comments on this thread and Twitter show that it's not an isolated issue.

We already waited a lot more than it was usually planned. I was expecting a final product properly tested on a few major phone models by the time. In the end, I would have prefer to wait even more than being sent a non-working product.

I am quite disappointed by the feedback at this stage: "we think that we can improve by flashing firmware" / "we may review the hardware". When? At which cost? Can we expect new hardware revision sent for free if it's not possible to make them work in standard scenarios, even after an hypothetical firmware update?

@merlokk
Copy link
Contributor

merlokk commented Jul 4, 2019

@Mincka test #217 please if you have hacker one

@Mincka
Copy link

Mincka commented Jul 4, 2019

Don't have one but I'll be happy to test if you can provide a signed release.

@merlokk
Copy link
Contributor

merlokk commented Jul 4, 2019

unfortunately i cant. but it will be available in several days

@simonedamico
Copy link

Damn, I chucked mine away after the usb-c connector bent. Is my kickstarter receipt good enough proof?

@hoos97
Copy link
Member

hoos97 commented Jan 26, 2021 via email

@simonedamico
Copy link

Replacements were for NFC that did not perform as expected.

On Jan 26, 2021, at 12:28 PM, simonedamico notifications@github.com wrote:

Damn, I chucked mine away after the usb-c connector bent. Is my kickstarter receipt good enough proof?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub #209 (comment), or unsubscribe https://github.com/notifications/unsubscribe-auth/AM5HBTEFNVIOFHTNM3LVQADS333UBANCNFSM4H3VTOCA.

It didn't. You can see my comment in this thread

@lodev
Copy link

lodev commented Jan 26, 2021

What will be the procedure for this? I bought 15 USB C Solos and 5 USB C Solo Taps as part of the original Kickstarter - never got NFC on the taps to work with iPhone 8 or 11.

We will give you a new v2 as a replacement.

On Jan 26, 2021, at 10:12 AM, Zjemm @.***> wrote: so will the replacements for the defective v1 hardware also be launched soon with the new v2 hardware? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#209 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM5HBTCX2BEYRMJJOFPUUDTS33LUFANCNFSM4H3VTOCA.

@hoos97
Copy link
Member

hoos97 commented Jan 26, 2021 via email

@msiqx9
Copy link

msiqx9 commented Feb 12, 2021

I bought the Solo Tap on 29 January 2021 from Amazon UK. The circuit board is marked v2.1 and I updated the firmware to 4.1.1. But Solo Tap NFC does not work on my OnePlus 6T, OnePlus 5, OnePlus 3, OnePlus One or the NFC reader built into my HP 1020-G1 laptop. I can make Solo Tap NFC work on all these devices if I plug the Solo Tap key into a battery bank during NFC use. I note that the Yubico NFC and Feitian NFC keys work with all these devices without needing the battery bank workaround. Any other solution?

@luckycreationsindia
Copy link

I got my solokey hacker version today. Tried using NFC tag but it failed 99% of time. Actually it worked only once for authentication and didn't work at all later on. Am I missing something? Also i have latest firmware installed via solo update command.

@luckycreationsindia
Copy link

For me it's working perfectly fine now.

I did reset and upgraded the firmware. Maybe it was timing issue or firmware issue I don't know but it's working perfectly now.

@IMPULSE-255
Copy link

Any timescale on the replacements? As I've still got a Solo Tap that I'm having to use only via USB for the time being.

@hoos97
Copy link
Member

hoos97 commented Jun 20, 2021 via email

@noseshimself
Copy link

tap, there were supporters that received product that did not work well with most phone models. As supporters made notice of the deficiencies, they were offered replacements.

I'm one f the users who got a replacement -- which actually worked as well (or not) as the one before: As soon as you supply power via USB NFC is working perfectly. Ok it is acceptable to me that the design does not work with most of the devices I wanted to use it with because measuring the fields the devices provide shows that they are masters at energy saving and don't live up to specs either. If I give my keys enough to eat they are working. Hardly a one-sided hardware failure.

But this is also the reason I'm waiting on the next version to become available at Amazon; I'm getting one for testing and if it is not working as promised... This is where the fun is ending. Amazon will throw it away even though it will be working properly connected to USB (just as the ones I have are). I guess you'll have to work on providing a way to test drive them this time.

@symbiotic
Copy link

My Situation
I want to start using hardware tokens. I was planning on buying a Solo Tap with DiceKeys:

  • to be able to make a backup
  • to use only NFC, to avoid wearing down the USB port

DiceKeys is what drew me to Solokeys. I am still deciding which phone I want to buy. I was thinking about getting a Fairphone. But, I've become put off, by all these NFC compatibility problems I'm reading about, that other hardware tokens don't have.

Questions

  • Why are there so many NFC compatibility issues?
  • If someone is is having compatibility problems, then what is the path to fixing these?
  • Do NFC fixes apply to Solokeys devices supporting DiceKeys? (I read that they have different firmware)

Suggestion
As an outsider, it looks to me like you don't have access to enough devices to test your firmware on. I naively suggest including functionality in your apps, so that users can run tests for you on their devices. The tests could be in the form of:

  • downloading a firmware and trying it
  • or maybe even producing a Model of a device's NFC interaction (tools like "LearnLib" come to mind)
  • etc.

I'm sure that many would be willing to cooperate, to have working NFC

(just throwing it out there)

@msiqx9
Copy link

msiqx9 commented Oct 23, 2021

The NFC issue relates to hardware where the key is not able to harvest sufficient power via NFC from some phones to energise the key circuitry. A workround for me is to plug the Solo key into a USB battery bank to power the key whilst using NFC mode. This issue is addressed in the hardware design of the new Solo V2 key but I have not yet received it.

@noseshimself
Copy link

Another workaround is using the key with devices with better designed phones. Now that I replaced my OnePlus 7 series devices by Google Pixels the Solokey started to work as intended (now, that I have a Titan on board...).

And to be fair: The OnePlus 7 designe is idiotic -- putting the NFC antenna around the cameras caused me to scratch the lense covering glass and is of course increasing the distance between NFC device and built-in antenna.

@nickray
Copy link
Member

nickray commented Nov 24, 2021

The Solo 1 NFC antenna was indeed optimized too much against Pixel devices. Besides the Solo 1 USB-C board instability, this was and is the main physical issue with Solo 1 devices. This is somewhat improvable but not really fixable in firmware (except by using a phone that is known to work). It was a priority in Solo 2 development to test against a wide variety of devices.

@guillaumedc
Copy link

Hi all,
Where are we with replacements?
I still have not got mine.

@Mincka
Copy link

Mincka commented Sep 15, 2022

Has anyone here received a replacement? We are now 3 years later. We were the first backers of this product, the team promised to provide replacements with Solo2, and it looks like we'll have to wait for all the Kickstarter and Indigogo backers to get their orders before we can expect to get any attention. At least we should get the latest hardware revision...

@msiqx9
Copy link

msiqx9 commented Sep 20, 2022

Has anyone here received a replacement? We are now 3 years later....

I emailed a reminder to Haden over the weekend and my replacement has been shipped.

@Mincka
Copy link

Mincka commented Sep 20, 2022

Has anyone here received a replacement? We are now 3 years later....

I emailed a reminder to Haden over the weekend and my replacement has been shipped.

Great! Let us know if it works properly in NFC when you get it. 😃 I will send another reminder per email.

@guillaumedc
Copy link

I emailed a reminder to Haden over the weekend and my replacement has been shipped.

Can you remind me the email address, please?

@Mincka
Copy link

Mincka commented Sep 20, 2022

I emailed a reminder to Haden over the weekend and my replacement has been shipped.

Can you remind me the email address, please?

hello@solokeys.com

@msiqx9
Copy link

msiqx9 commented Oct 4, 2022

Great! Let us know if it works properly in NFC when you get it.

I received the v2 key yesterday and it came with the latest firmware. NFC works with my OnePlus One, 3T, 5, 6T and 8T.

@Mincka
Copy link

Mincka commented Oct 5, 2022

Great to hear! Thanks for the feedback. Enjoy.

@noseshimself
Copy link

Please keep in mind that the phone's firmware has some influence on things, too. I replaced Android by GrapheneOS on my Pixel 6pro and positioning the key stopped being a problem. Maybe it will make my teeth glow in the dark when I hold the pone to my head but it seems that there is a difference in power delivery.

@Mincka
Copy link

Mincka commented Oct 26, 2022

I received my replacement keys today (Solo 2 USB-C) for previously non-working Solo 1 USB-C in NFC.
I updated one to the latest firmware version and tried the NFC registration and authentication on my Galaxy S20+.

Sadly, the results are barely better than it was with Solo1. The key is now detected in NFC, but I only managed to register and authenticate 3 times over 50 attempts on test sites such as token2.com or with my Google account.

I often get "NotReadableError: An unknown error occurred while talking to the credential manager".

When I use the Yubico NFC, the key is detected very much faster, and while I cannot say it works every single time in NFC, it's usable with a maximum of 2 attempts.

Otherwise, it's working with USB-C and I can now say that the founders keep their word for the replacement. Still, the new key, with the latest hardware version, continues to struggle in NFC with specific phones. I hope it will work better with my next phone and in the meantime, I will use it over USB-C.

@returntrip
Copy link

I received my replacement keys today (Solo 2 USB-C) for previously non-working Solo 1 USB-C in NFC.
I updated one to the latest firmware version and tried the NFC registration and authentication on my Galaxy S20+.

Sadly, the results are barely better than it was with Solo1. The key is now detected in NFC, but I only managed to register and authenticate 3 times over 50 attempts on test sites such as token2.com or with my Google account.

I often get "NotReadableError: An unknown error occurred while talking to the credential manager".

When I use the Yubico NFC, the key is detected very much faster, and while I cannot say it works every single time in NFC, it's usable with a maximum of 2 attempts.

Otherwise, it's working with USB-C and I can now say that the founders keep their word for the replacement. Still, the new key, with the latest hardware version, continues to struggle in NFC with specific phones. I hope it will work better with my next phone and in the meantime, I will use it over USB-C.

Really sad that the replacements are not working asnthey should.

I think you are lucky to have received your replacements. My personal experience is different. I have had to send at least three mails to get their attention, and after my last follow up email, there has been radio silence and no replacement keys.

Now, I have have zero confidence in their products and I would not promote them.

@returntrip
Copy link

I think you are lucky to have received your replacements. My personal experience is different. I have had to send at least
three mails to get their attention, and after my last follow up email, there has been radio silence and no replacement keys.

Maybe you did not meet the above stated criteria for replacement.

NFC not working with any of my phones. They are solo 1 from the kickstarter campaign... and the USB C solo has also super flimsy connector. They even asked me for my address and what product to replace.... Is there some other criteria that am missing?

@jibril-r6
Copy link

I am having similar problems like @returntrip. I have mailed them but I received no reply.

@returntrip
Copy link

I am having similar problems like @returntrip. I have mailed them but I received no reply.

I got this update after I posted my disappointment on this thread.

"You are in the queue for replacement, probably in next 2-3 weeks as next batch rolls in.
Haden
SoloKeys"

Maybe they will update you soon too.

@Tumeez
Copy link

Tumeez commented Dec 27, 2022

I also thought that my Solo Tap's are broken, because no react with Oneplus 3. They already know that problem, because I contact them to directly.

tl:dr Solo Tap NFC doesn't work with my Oneplus 3

Got my replacement. working fine with my Xiaomi 11T Pro, without any problem, while Solo v1 NFC functionality is still dead. I'm happy that they replacement my keys free.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests