2026-10-21 17:27 (UTC+7) · Author: Wilber Zheng · Verdict: PASS
An SD card was inserted into the Shenzhen PVT board because the EVT board's SD card had problems. The card is detected at full speed (SDR104), auto-mounts read-write, and a 64 MB random-data write and read-back matches byte for byte. The kernel log shows no MMC, I/O or filesystem errors before or after the test.
| Board | OptiSigns ProPlayer RK3576, PVT unit (vendor-flashed), located in Shenzhen |
|---|---|
| Portal screen | rk_pvt_shenzhen (team testing10, production) |
| Device ID / UUID | 6ad8311bf16f6753eb64516a / 6ebb86096de8a20ba982d3ac78091817f789 |
| MAC | 84:fc:14:24:d1:08 |
| Image | dbg455, BUILD_ID 20261019T035857Z-243057817-b66382a24 |
| Kernel / player | 6.1.99-dbg455 / 5.7.1-P31-RK |
| State during test | Uptime 2 h 06 m, player playing its playlist; no reboot, no network or pairing change |
| Internal storage | eMMC mmcblk0, 58.3 GB |
| Card | SDXC, product name SD64G, manufacturer ID 0x03, OEM ID 0x5344 ("SD"), manufactured 12/2024 |
|---|---|
| Capacity | 59.5 GiB (124,735,488 sectors), not read-only |
| Bus mode | Ultra high speed SDR104, 198 MHz (requested 200 MHz), tuning phase 0 succeeded |
| Controller | dwmmc_rockchip 2a310000.mmc (mmc1) |
| Partition / filesystem | mmcblk1p1, ext4 |
| Mount | Auto-mounted read-write at /run/media/mmcblk1p1 |
| Usage before test | 1.1 GB used, 55 GB free (pre-existing media: a 4K JPEG and two 4K MP4 files, left untouched) |
| Board network | Mobile hotspot (likely mobile data), about 110 ms RTT, jittery |
|---|---|
| Remote access | SSH over OptiSigns SecureLink (APAC), SecureLink IP 100.65.179.160 |
| Test host | Bench host in the test lab, driving the board through the device-harness Device SSH client (root via su) |
| Rig | proplayer-rk-wilber-pvt-01 (no capture card, smart plug or serial console) |
| 1. Status check (read-only) | lsblk, /proc/mounts, card sysfs, kernel log: card detected, mounted rw, no errors |
|---|---|
| 2. Write | 64 MB from /dev/urandom written to the card with dd conv=fsync: 2.8 s, 22.9 MB/s |
| 3. Cache drop | sync; echo 3 > /proc/sys/vm/drop_caches, so the read comes from the card |
| 4. Read back | 64 MB in 0.8 s, 84.3 MB/s |
| 5. Verify | MD5 source = MD5 read-back = 1c5d0744348beb6c86523fedff391d78 — match |
| 6. Kernel log after | No new MMC, I/O or ext4 messages; the last MMC event is the card insertion |
| 7. Cleanup | Test file removed; existing card content unchanged |
| Result | PASS with the case fix below, 26 s (run twice: temporary patch, then the committed fix) |
|---|---|
| What it checks | Portal "Use External Storage" set to the SD mount /run/media/mmcblk1p1: the device record stores externalStorage=true and the path, and the player logs External storage... true within 30 s. The USB/SD path-change phase was skipped (only an SD card present). |
| Unmodified case | SKIPPED: "no removable USB/SD mounted". The RK kernel reports the SD card as RM=0 / HOTPLUG=0, so the case's removable-media detection does not see it. |
| Root cause | The board and the kernel are fine: the SD slot is enabled, and the card was detected the moment it was inserted. The problem was in the test. It looked for external storage by checking a "removable" label, and Linux never puts that label on SD cards, on any device. So the test never found the card. |
| Case fix | The case also accepts partitions of an mmc disk whose card type is SD (/sys/block/mmcblkN/device/type = SD; the eMMC reads MMC and stays excluded). USB detection unchanged. Branch fix/wilber/dev-ctl-013-sd-detect, commit 98f96e82 (local, not yet merged). |
| History | The case passed on the EVT board on 2026-10-20 and 2026-10-21 (9-11 s), which can only have been through a USB stick. This is the first time it exercised an SD card on RK. |
| Limit | Configuration only: it does not prove the player writes its cache to the card. |
| State restore | Portal state saved before the run (screen name, folder, external-storage setting, content, video player type). The case's setup renamed the screen to the bench convention; the name was written back and every saved field was verified equal afterwards. The external-storage setting was restored by the case itself. |
The speeds are a single 64 MB pass, not a benchmark. Not covered: long-duration or full-capacity writes, and player cache writes to the card.