Initial commit.
This commit is contained in:
47
README.md
Normal file
47
README.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# desk-reminder
|
||||
|
||||
Simple C program that listens for events from the Alcor Micro AU9540 USB smartcard reader.
|
||||
|
||||
- USB device: `058f:9540` (Alcor Micro Corp. AU9540 Smartcard Reader)
|
||||
- Implementation: raw USB using `libusb-1.0`
|
||||
|
||||
The program opens the reader by VID/PID, locates the first interrupt IN endpoint, and prints any data received (typically slot change / card insertion or removal notifications). It does **not** implement full CCID or smartcard protocols, but is useful for observing low-level traffic.
|
||||
|
||||
## Build
|
||||
|
||||
On Debian/Ubuntu and similar, install the development package:
|
||||
|
||||
```sh
|
||||
sudo apt-get update
|
||||
sudo apt-get install libusb-1.0-0-dev
|
||||
```
|
||||
|
||||
Then build the program:
|
||||
|
||||
```sh
|
||||
cd desk-reminder
|
||||
make
|
||||
```
|
||||
|
||||
This produces a `desk_reminder` binary.
|
||||
|
||||
## Run
|
||||
|
||||
You may need root or appropriate udev rules to access USB devices directly:
|
||||
|
||||
```sh
|
||||
cd desk-reminder
|
||||
sudo ./desk_reminder
|
||||
```
|
||||
|
||||
Expected behavior:
|
||||
|
||||
- The program prints which bus/device it opened.
|
||||
- It reports which interrupt IN endpoint it is listening on.
|
||||
- When the AU9540 reports an event (for example, card insertion/removal), the program prints the raw bytes received.
|
||||
|
||||
Press `Ctrl+C` to stop the program.
|
||||
|
||||
## Notes
|
||||
|
||||
For higher-level smartcard operations (APDU exchange, PIN verification, etc.), you would typically use PC/SC (`pcscd`, `libpcsclite`) instead of talking to the reader via raw USB. This example focuses on listening to the USB interrupt endpoint.
|
||||
Reference in New Issue
Block a user