Ognian/sdmon

New signature of Western Digital Industrial SD

vladkozlov69 opened this issue · 3 comments

I received some Western Digital Industrial SD, looks like the Health Data is same as for Sandisk but signature is different:

[src/main.rs:31] command = MmcIocCmd {
    write_flag: 0,
    is_acmd: 0,
    opcode: 56,
    arg: 1,
    response: [
        2304,
        0,
        0,
        0,
    ],
    flags: 181,
    blksz: 512,
    blocks: 1,
    postsleep_min_us: 0,
    postsleep_max_us: 0,
    data_timeout_ns: 0,
    cmd_timeout_ms: 0,
    __pad: 0,
    data_ptr: 549265785800,
}
=== Begin buffer dump ===
44 57 32 30 30 37 31 30 01 01 01 1F 00 00 06 01
01 0C 44 4D 00 00 00 00 00 00 11 00 03 03 03 02
02 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 57 65 73 74 65 72 6E 20 44 69 67 69 74 61 6C
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 4C 31 69 33 30 79 20 20 20 20 20
20 03 53 44 57 43 32 35 36 80 54 85 19 10 01 47
65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=== End buffer dump ===
Card type: Sandisk
manufactureYYMMDD: 200710
healthStatusPercentUsed: 1
featureRevision: 31
generationIdentifier: 6
productString: Western Digital

Also there is one meaningful fragment which we don't decode:

00 00 00 00 00 4C 31 69 33 30 79 20 20 20 20 20
20 03 53 44 57 43 32 35 36 80 54 85 19 10 01 47
65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

it is

L1i30y      �SDWC256�T����Ge

As per some posts from Chinese forums:

  1. SanDisk Industrial, compared to the data manual, adds 26L-24H, data name: power-on times
  2. SanDisk Industrial, compared to the data manual, adds 405-424, 20 Bytes, data name: product code, ASCII format
  3. SanDisk Industrial, compared to the data manual, adds 426-431, 6 Bytes, data name: product serial number, HEX format
Ognian commented

@vladkozlov69 thanks a lot !
Ognian

@Ognian Thanks for creating sdmon! Here's the output for a Western Digital Purple QD101 in case you want to add it to the README:

sudo ./sdmon /dev/mmcblk0
{
"version": "v0.9.0 (4dff9b6) arm64",
"date": "2024-08-04T23:41:55.000",
"device":"/dev/mmcblk0",
"addTime": "false",
"signature":"0x44 0x57",
"SanDisk":"true",
"manufactureYYMMDD": "240403",
"healthStatusPercentUsed": 1,
"featureRevision": "0x1f",
"generationIdentifier": 7,
"productString": "Western Digital                 ",
"powerOnTimes": 14,
"success":true
}

@randy408 Thanks a lot! I have added it.