Hello,
"could you confirm that there is no password or anything to access the memory in raw mode after address 255?"
-> by default, there is not, but you may have set-up on. If it is read protected you would receive and error (0x01, 0x0F). So I think this is not your case.
"If I send this sequence 0x02, 0x30, 0x07, 0xFF, the result is reading block 255, it doesn't read addresses more than 255."
-> Please read carefully my first post (you can also read the datasheet, it is explained there): the block address is transmitted LSB Byte first. So to read block 0x07FF, your command must be 0x02, 0x30, 0xFF, 0x07. With command 0x02, 0x30, 0x07, 0xFF your are trying to read block 0xFF07, which does not exist.
"in my case {0x22, 0x33,0x7C, 0x4A, 0x52, 0x04, 0x00, 0x27, 0x02, 0xE0, 0xFF, 0x07} (keep in mind that as NCI specification PN7120 appends the appropriate CRC, SOF and EOF)"
-> You miss 2 bytes in this command: you must have
- 1 byte Request flags: 0x22 -> OK
- 1 byte Command code: 0x33 -> OK
- 8 byte UID: 0x7C, 0x4A, 0x52, 0x04, 0x00, 0x27, 0x02, 0xE0 -> OK
- 2 byte block number: 0xFF, 0x07 -> OK (this will read the whole memory, I'm pretty sure your reader will not support the length of the answer)
- 2 bytes block address: missing -> KO
Best regards.