0

I am trying to debug why my Pi 3 is not able to communicate with PN532 NFC breakout.

I have a couple of library used to test it (libnfc, nfcpy, and NPM PN532), I am able to test these libraries to be working in Raspberry Pi 1 A/B+ But, when I use the same SD card in my Raspberry Pi 3, it is not working. I'm pretty sure that all of the configurations are not changed when I switch the SD card back and forth.

Does anyone encounter this error in their new Raspberry Pi 3?

Note:

Error in libnfc:

pn53x_check_communication: Success
error   libnfc.driver.pn532_uart    Unable to transmit data. (TX)
lt-nfc-poll: ERROR: Unable to open NFC device.

nfcpy: Keeps idling in this message:

[nfc.clf] searching for reader on path tty:AMA0:pn532

NPM PN532: Keeps idling in this message:

debug: [frame-emitter] listening to data
debug: [hsu] Initializing serial port...
debug: [hsu] Serial port initialized.
info: [pn532] Configuring secure access module (SAM)...
debug: [pn532] Sending buffer: <Buffer xx xx xx xx xx xx xx xx xx xx>
debug: [hsu] Waking up PN532...
kelvien
  • 133
  • 1
  • 4

2 Answers2

2

I have solved this by this information: Reference: link

The Broadcom UART appears as /dev/ttyAMA0 under Linux. There are several minor things in the way if you want to have dedicated control of the serial port on a Raspberry Pi.

UPDATE: The raspberry pi 3 has changed things around a bit: ttyAMA0 now refers to the serial port that is connected to the bluetooth. The old serial port is now called ttyS0. So if you have an RPI3, everywhere you see "ttyAMA0" below, you should read "ttyS0".

Although this is solved, examples in libraries such as: libnfc, and nfcpy still does not work because they still reference ttyAMA0 the way it is.

kelvien
  • 133
  • 1
  • 4
2

As I just explained in this thread.

Set pn532_uart:/dev/ttyS0 instead /dev/ttyAMA0 in /etc/nfc/libnfc.conf. libnfc may not be updated to know and work with the new serial port ttyS0.

vaha
  • 1,240
  • 2
  • 11
  • 20