Re: Testing wanted for Linux NFC subsystem

From: Stephan Gerhold
Date: Thu May 13 2021 - 11:37:44 EST


On Thu, May 13, 2021 at 07:48:55AM -0700, Mark Greer wrote:
> On Thu, May 13, 2021 at 01:49:53PM +0200, Stephan Gerhold wrote:
> > I have a couple of "recycled" smartphones running mainline Linux
> > and some of them do have NFC chips. I have two with NXP PN547
> > (supported by nxp,nxp-nci-i2c), one with Samsung S3FWRN5
> > (samsung,s3fwrn5-i2c) and even one with Broadcom BCM2079x I think
> > (this one does not have a driver for the Linux NFC subsystem sadly).
> >
> > +Cc phone-devel@xxxxxxxxxxxxxxx, in case other people there are
> > interested in NFC :)
> >
> > The NXP/Samsung ones seems to work just fine. However, since there are
> > barely any userspace tools making use of Linux NFC all my testing so far
> > was limited to polling for devices with "nfctool" and being happy enough
> > when it realizes that I hold some NFC tag close to the device. :S
>
> There is a user-level daemon that is the counterpart for the in-kernel
> NFC subsystem. It is called neard and is available here:
>
> git://git.kernel.org/pub/scm/network/nfc/neard.git
>
> There are a few test script in it that will let you read and write NFC
> tags, and do some other things. We can add some more tests to that set
> as we go.
>

Yeah, I packaged that for Alpine Linux / postmarketOS.
"nfctool" also comes from "neard" as far as I can tell :)

I think I also played with the Neard test scripts a bit at some point,
and managed to read some NFC tag thing inside an old Yubikey NEO
that I found, but didn't really know what else to do.

> > I would be happy to do some more testing if someone has something useful
> > that can be tested. However, I guess ideally we would have someone who
> > actually uses Linux NFC actively for some real application. :)
>
> Ideally, you should have some NFC tags of various types. Types 2, 3,
> 4A, 4B, and 5 tags are supported. Peer-to-peer mode is supported too
> so you should be able to transfer data from one of your phones to the
> other over NFC (and do a BT hand-over, if you're interested).
>

I guess this is where I kind of lack hardware as well at the moment,
I don't have any programmable NFC tags at the moment (although I guess
those should be quite cheap). I might play with the peer-to-peer mode
a bit when I find time.

> Note that the specified range for NFC is only 4 cm and poor antenna
> design, etc. means that the actual range is usually much less (e.g.,
> they amost have to touch). Also note that there are timing constraints
> so you may need to make the scheduling priority of the interrupt thread
> of your NFC driver real-time.
>

Yeah I noticed, always need to search for a while to find the right spot
on the phone. :)

Stephan