O cartão não possui um registro mestre de inicialização (MBR). Se o seu hexdump tivesse dado a você pelo menos uma entrada de partição no offset 0x1C0
e 55aa
no final.
Nem todas as tabelas de partição distribuem dados nos primeiros 512 bytes. Os dados espúrios que você vê são o registro SID e CSD do (a / o) cartão SD. Mas, pelo que parece, não são os dados corretos para o cartão (a menos que seja um modelo antigo de 1 MiB 2001.)
Primeiros 16 bytes são:
CID Register:
----------------------------------------------------------------------------
Manufacturer ID (MID): 04 => (Transcend)
OEM/Application ID (OID): 16 41 = ?A
Product name (PNM): 53 4d 49 2d 53 = SMI-S
Product revision (PRV): 44 = 0100 0100 => 4.4
Product serial number (PSN): 03 00 00 00
reserved (-) : 00 >> 4 = 0000b
Manufacturing date (MDT): (00 & 0x0f)|0x16 = 0001b,0110b => 2000+1,6=> Jun 2001
CRC7 checksum (CRC): 1f >> 1 = 120
always 1 (1) : 1f & 1 = 1
Próximos 16 bytes (pelo menos parte dele):
CSD Register:
----------------------------------------------------------------------------
CSD Structure (CSD_STRUCTURE): 00 >> 6 = 00b => CSD Version 1.0
reserved (-): 00 & 3f = 00 0000b
Data read access time 1 (TAAC): 7f = 1111b => time val 8.0, 111b => 7=10ms
Data read access time 2 (NSAC): 00
Max. data transfer rate (TRAN_SPEED): 32 = 0110,010 time val 2.5, 2=10Mbit/s 25MHz
Card command classes (CCC): 1f << 4 | 5b >> 4 = 0x1f5
...
Device size (C_SIZE) : (0x80 & 0x03) << 0xa | 00h | 36 >> 6 : 0
Max. read current @VDD min (VDD_R_CURR_MIN) : 110 => 60mA
Max. read current @VDD max (VDD_R_CURR_MAX) : 110 => 80mA
Max. write current @VDD min (VDD_W_CURR_MIN) : 110 => 60mA
Max. write current @VDD max (VDD_W_CURR_MAX) : 110 => 80mA
Device size multiplier (C_SIZE_MULT) : 111 => 2^(7 + 2) = 512
Erase single block enable (ERASE_BLK_EN) : 0
Erase sector size (SECTOR_SIZE) : 1111111 => 127 + 1 = 128
Write protect group size (WP_GRP_SIZE) : 0111111 => 63 + 1 = 64
MULT = 2^(C_SIZE_MULT + 2) = 2^(7 + 2) = 512
BLOCKNR = (C_SIZE + 1) * MULT = 1 * 512 = 512
BLOCK_LEN = 2^READ_BL_LEN = 2^11 = 2048
memory capacity =
BLOCKNR * BLOCK_LEN = 512 * 2048 = 1048576 bytes = 1024 KiB = 1 MiB
Além disso, a verificação do CRC7 para o registro de CSD está errada. Pode ser dados antigos deixados de um tempo passado.
Esses registros e mais podem ser consultados diretamente do cartão por vários comandos. Isso é feito por drivers de módulo, hubs de cartão, etc.
Seria interessante ver o que você encontra pelos comandos dados por Stephane Chazelas, slm etc.