In the comments of Marcus Müller's answer, you said the reader is an Elatec TWN4 Multitech 2.
According to the documentation in the Elatec DevKit, it has different firmware packages to support different interfaces, and your reader seem to be currently programmed with a USB keyboard interface firmware, which only provides very limited functionality compared to the other firmware packages.
You would have to install a different firmware into your reader (using Elatec AppBlaster, which is unfortunately a Windows application) to enable a different type of interface.
If I understood correctly, your reader's current firmware is either TWN4_CK*.bix
or TWN4_NK*.bix
, where the K denotes a USB keyboard interface.
Instead, you might want a TWN4_CC*.bix
or TWN4_NC*.bix
version of the firmware, which provides a virtual COM port interface, which would appear as /dev/ttyACMx
in Linux, or a TWN4_CP*.bix
or TWN4_NP*.bix
version of the firmware, which would provide a USB CCID-compatible smart card reader interface, which would be supported by Linux PCSClite + libccid like most USB smart card readers (libccid version 1.4.28 or newer required).
You might want to choose the firmware according to which type of programming interface you are more comfortable with. The virtual COM port interface might be easiest for testing, but the CCID-compatible interface might be a wise choice if you are planning to develop more extensive applications.
The DevKit includes a number of firmware variants, for different readers and different applications. The Elatec reader has even some space for application code in its firmware, so it can have application-specific firmware if used as part of an embedded system.
Dumping the memory of a NFC card... it depends on what type of a NFC card it is.
If it is a simple memory card, dumping the card memory should be easy. But if it is a smart card designed to hold encryption keys or other secrets, the card would most likely be designed to not allow reading the encryption key - instead you would just send a command to the card together with the data to encrypt/decrypt, and the card's processor would do the job for you, without ever disclosing the actual key.
The processors of such smart cards run a hardcoded program, which presents a carefully limited API via the card reader: there should be simply no way to get a properly designed and initialized smart card to dump any secrets from their internal memory.