-
Notifications
You must be signed in to change notification settings - Fork 102
HydraFW binary SDIO mode guide
This guide is updated towards firmware release HydraFW v0.11 and later
This mode allows to control SDIO interface, used for raw access to SD Cards or eMMC chips.
- SDIO pins: CLK=PC12, CMD=PD2, D0=PC8, D1=PC9, D2=PC10, D3=PC11
Once the SDIO mode has been selected, the following commands are available :
-
0b00000000Return to main mode. Returns BBIO1 -
0b00000001Mode identification. ReturnsSDI1 -
0b000001xxSend SDIO command -
0b000010xxSend SDIO command and write data block -
0b000011xxSend SDIO command and read data block -
0b1000000xConfigure SDIO interface
This command reads one byte as the command ID, and 4 bytes as the command argument.
Format :
Byte 1 2 3 4 5 6
|----------|----------|----------|----------|----------|----------|
[command] [ID] [ Argument ]
Depending on the two last bits, the SDIO driver will wait for different response :
-
0b00: No response from card -
0b01: Short response -
0b10: Long response
This command returns 0x01 if successful, 0x00 in case of error.
This command is used to send a SDIO command followed by a data block. The block size is 512 bytes.
This command first reads one byte as the command ID, and 4 bytes as the command argument. 512 data bytes need to be sent afterwards
Format :
Byte 1 2 3 4 5 6 ...
|----------|----------|----------|----------|----------|----------|------...
[command] [ID] [ Argument ] [ Data
Depending on the two last bits, the SDIO driver will wait for a different command response :
-
0b00: No response from card -
0b01: Short response -
0b10: Long response
This command returns 0x01 if successful, 0x00 in case of error.
This command is used to send a SDIO command, then read a data block. The block size is 512 bytes.
This command first reads one byte as the command ID, and 4 bytes as the command argument.
Format :
Byte 1 2 3 4 5 6
|----------|----------|----------|----------|----------|----------|
[command] [ID] [ Argument ]
Depending on the two last bits, the SDIO driver will wait for a different command response :
-
0b00: No response from card -
0b01: Short response -
0b10: Long response
This command returns 0x01 if successful followed by 512 bytes, 0x00 in case of error.
The x value is used to set the SDIO bus width :
-
0is 1-bit mode -
1is 4-bit mode
The y value is used to set the clock speed :
-
0is the slow (init) value (~400kHz, pullup) -
0is the fast value (42MHz push-pull)
- CHANGELOG
- Console commands
- Binary mode guide
-
NFC/HydraNFC v1 guide
- Read UID of an ISO/IEC_14443 Tag
- Read UID and data of a MIFARE Ultralight Tag
- Read UID of an ISO/IEC 15693 Tag
- Emul ISO14443a Tag
- Emul MIFARE Ultralight Tag
- Emul Mifare Classic Tag
- Unique NFC sniffer design
- Launch NFC sniffer from console
- Sniffer ISO14443A wireshark pcap
- Autonomous/stand-alone sniffer mode
- Sniffer ISO14443A real-time infinite trace mode
- HydraFW-HydraNFC-v1.x-TRF7970A-Tutorial