This is the single most common first-hour problem, and it is not a driver fault. A USB reader can be claimed by exactly one process. On most systems a PC/SC daemon starts automatically and claims any reader it recognises, so by the time you run a libnfc tool the device is already taken. The error talks about USB because that is where the refusal surfaces, which sends people to reinstall drivers that were never broken.
So the question to answer first is not "is my reader working" but "who is holding it". Decide which stack you want for the task in front of you, and make sure only that one is running. PC/SC is the right choice when you want to send APDUs through a standard interface, which is most EMV work. libnfc is the right choice when you want the radio layer underneath.
| Symptom | What it usually means |
|---|---|
| PC/SC lists the reader, libnfc cannot open it | Working as designed. Stop the PC/SC daemon, or use PC/SC instead. |
| Neither sees it, and no new device appears on plug-in | Cable or power. Try another cable before another driver — charge-only USB cables are a real and maddening cause. |
| It works as root and not as your user | Device permissions. On Linux this is a udev rule, not something to solve by running everything as root. |
| It enumerates, then drops mid-transaction | Power, or a USB hub. Contactless readers draw hard when the field is up. |