Topic: BBB Unable to wait for SPI Data

Hello All,

I am using a beaglebone black and the PN532 NFC/RFID controller breakout board - v1.6. I am trying to utilize PyBBIO libraries to allow me to read cards through libnfc over spi. I am running into issues running the nfc-poll example. Below I have the putty log from my session please let me know if you need anything else.

Here is the issue I am seeing:
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2016.07.25 21:04:19 =~=~=~=~=~=~=~=~=~=~=~=


Debian GNU/Linux 7 beaglebone ttyGS0

BeagleBoard.org Debian Image 2015-11-12

default username:password is [debian:temppwd]

The IP Address for usb0 is: 192.168.7.2
beaglebone login: root
Last login: Thu Nov 12 19:00:13 UTC 2015 on ttyGS0
Linux beaglebone 3.8.13-bone80 #1 SMP Wed Jun 15 17:03:55 UTC 2016 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@beaglebone:~# cd spi/
root@beaglebone:~/spi# cat enable_SPIO.py
#!/usr/bin/python
from bbio import *
SPI0.begin()
root@beaglebone:~/spi# python enable_SPIO.py
root@beaglebone:~/spi# ls -al /dev/spidev1.*
crw-rw---T 1 root spi 153, 1 Nov 12 19:00 /dev/spidev1.0
crw-rw---T 1 root spi 153, 0 Nov 12 19:00 /dev/spidev1.1
root@beaglebone:~/spi# cd
root@beaglebone:~# cd licat /dev/nfetc/dnfc/libnfc.conf
# Allow device auto-detection (default: true)
# Note: if this auto-detection is disabled, user has to set manually a device
# configuration using file or environment variable
#allow_autoscan = true

# Allow intrusive auto-detection (default: false)
# Warning: intrusive auto-detection can seriously disturb other devices
# This option is not recommended, user should prefer to add manually his device.
allow_intrusive_scan = true

# Set log level (default: error)
# Valid log levels are (in order of verbosity): 0 (none), 1 (error), 2 (info), 3 (debug)
# Note: if you compiled with --enable-debug option, the default log level is "debug"
#log_level = 1

# Manually set default device (no default)
# To set a default device, you must set both name and connstring for your device
# Note: if autoscan is enabled, default device will be the first device available in device list.
device.name = "PN532_via_SPI"
device.connstring = "pn532_spi:/dev/spidev1.0"
root@beaglebone:~# cd libnfc/
root@beaglebone:~/libnfc# cd examples/
root@beaglebone:~/libnfc/examples# ./nfc -poll
/root/libnfc/examples/.libs/lt-nfc-poll uses libnfc libnfc-1.7.1-91-g659f5f4
error    libnfc.driver.pn532_spi    Unable to wait for SPI data. (RX)
pn53x_check_communication: Timeout
error    libnfc.driver.pn532_spi    Unable to wait for SPI data. (RX)
lt-nfc-poll: ERROR: Unable to open NFC device.
root@beaglebone:~/libnfc/examples#

2 (edited by rhenigan 2016-09-02 12:06:11)

Re: BBB Unable to wait for SPI Data

I am running into this issue again,


Using the Adafruit pn532 breakout board I have the wiring set up as:

3.3v = 4
GND = 2
MOSI = 21
MISO = 18
SSEL = 17
SCK = 22

Here is the putty log for nfc-poll with log_level=3:
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2016.09.02 07:55:30 =~=~=~=~=~=~=~=~=~=~=~=

root@beaglebone:~/libnfc/examples# LIBNFC_LOG_LEVEL=3 nfc-poll
nfc-poll uses libnfc libnfc-1.7.1-91-g659f5f4
debug    libnfc.config    key: [allow_intrusive_scan], value: [true]
debug    libnfc.config    key: [device.name], value: [PN532_via_SPI]
debug    libnfc.config    key: [device.connstring], value: [pn532_spi:/dev/spidev1.0]
debug    libnfc.config    Unable to open directory: /etc/nfc/devices.d
debug    libnfc.general    log_level is set to 3
debug    libnfc.general    allow_autoscan is set to true
debug    libnfc.general    allow_intrusive_scan is set to true
debug    libnfc.general    1 device(s) defined by user
debug    libnfc.general      #0 name: "PN532_via_SPI", connstring: "pn532_spi:/dev/spidev1.0"
debug    libnfc.driver.pn532_spi    Attempt to open: /dev/spidev1.0 at 1000000 Hz.
debug    libnfc.bus.spi    SPI port speed requested to be set to 1000000 Hz.
debug    libnfc.bus.spi    ret 0
debug    libnfc.bus.spi    SPI port mode requested to be set to 0.
debug    libnfc.chip.pn53x    Diagnose
debug    libnfc.chip.pn53x    Timeout value: 500
debug    libnfc.bus.spi    RX: ff
debug    libnfc.driver.pn532_spi    Got ff byte from SPI line before wakeup
debug    libnfc.driver.pn532_spi    Wakeup is needed
debug    libnfc.bus.spi    SPI port speed requested to be set to 5000 Hz.
debug    libnfc.bus.spi    ret 0
debug    libnfc.chip.pn53x    SAMConfiguration
debug    libnfc.chip.pn53x    Timeout value: 1000
debug    libnfc.bus.spi    TX: 01 00 00 ff 03 fd d4 14 01 17
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
error    libnfc.driver.pn532_spi    Unable to wait for SPI data. (RX)
debug    libnfc.bus.spi    SPI port speed requested to be set to 1000000 Hz.
debug    libnfc.bus.spi    ret 0
pn53x_check_communication: Timeout
debug    libnfc.chip.pn53x    InRelease
debug    libnfc.bus.spi    TX: 01 00 00 ff 03 fd d4 52 00 da
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
debug    libnfc.bus.spi    TX: 02
debug    libnfc.bus.spi    RX: ff
error    libnfc.driver.pn532_spi    Unable to wait for SPI data. (RX)
debug    libnfc.general    Unable to open "pn532_spi:/dev/spidev1.0".
nfc-poll: ERROR: Unable to open NFC device.
root@beaglebone:~/libnfc/examples#

3 (edited by rhenigan 2016-09-02 12:25:02)

Re: BBB Unable to wait for SPI Data

This time I don't believe it is NOT mis-wiring