cvend
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| cvend [2026-03-03 21:02 UTC (4 weeks ago)] – more reader->host msg types doof | cvend [2026-03-17 20:08 UTC (2 weeks ago)] (current) – [Card reader flow] penguinowl | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== cVEND NFC Reader ====== | ====== cVEND NFC Reader ====== | ||
| - | |||
| cVEND is the NFC reader on the bottom half of the PM3 | cVEND is the NFC reader on the bottom half of the PM3 | ||
| Line 7: | Line 6: | ||
| The associated serial device appears to be at '' | The associated serial device appears to be at '' | ||
| - | |||
| ===== cVEND protocol notes ===== | ===== cVEND protocol notes ===== | ||
| Line 67: | Line 65: | ||
| | 0xba | -> | | //unknown, registered in ProxCardDesfire:: | | 0xba | -> | | //unknown, registered in ProxCardDesfire:: | ||
| | 0xbb | <- | DESFireCardRemoved | sent by reader when DESFire card removed from field | | | 0xbb | <- | DESFireCardRemoved | sent by reader when DESFire card removed from field | | ||
| - | | 0xbc | -> | | //unknown, registered | + | | 0xbc | -> | DESFireCommand |
| + | | 0xbd | <- | DESFireCommandReply | response to command, documented above | | ||
| | 0xbe | <- | UnhandledCard | sent by reader when a card is presented that is not supported by any enabled ProxCardFunction, | | 0xbe | <- | UnhandledCard | sent by reader when a card is presented that is not supported by any enabled ProxCardFunction, | ||
| | 0xce | -> | | //unknown, registered in IppHandling:: | | 0xce | -> | | //unknown, registered in IppHandling:: | ||
| Line 83: | Line 82: | ||
| -> - Host to Reader\\ | -> - Host to Reader\\ | ||
| <- - Reader to Host | <- - Reader to Host | ||
| + | |||
| + | ==== Sample reader flow ==== | ||
| + | |||
| + | - Host enables desired card type with '' | ||
| + | - Reader acknowledges with '' | ||
| + | - Reader waits for card, seems like it eventually goes to sleep without any stimuli. Might have to keep it awake by sending packets occasionally (e.g. '' | ||
| + | - When card is scanned, reader sends the corresponding read packet if the card type is enabled (e.g. '' | ||
| + | - Card data can then be queried by sending the equivalent command packets. DESFire commands are documented in {{ 0: | ||
| + | - Host sets DESFire application (e.g. packet type '' | ||
| + | - Reader responds with a status code in accordance with the documentation. This comes in the form of a '' | ||
| + | - Host sends read command. To read the full contents of file 0x00, the body is '' | ||
| + | - Reader responds with the status code and file data. | ||
| ==== Reader -> Host ==== | ==== Reader -> Host ==== | ||
cvend.1772571770.txt.gz · Last modified: by doof
