- insert a card
- prepare a random file of 8GB for a card >=8GB:
```
dd if=/dev/random of=/tmp/random0 bs=32768 count=262144
```
- test the I/O using the ping-pong buffer (cmd buffer):
```
dd if=/tmp/random0 of=/dev/mmcsd0 bs=512
dd if=/dev/mmcsd0 of=/tmp/random1 bs=512
md5 /tmp/random0 /tmp/random1
```
- test the I/O using the data buffer:
```
dd if=/tmp/random0 of=/dev/mmcsd0 bs=32768
dd if=/dev/mmcsd0 of=/tmp/random2 bs=8192
md5 /tmp/random0 /tmp/random2
```
- create a zpool:
```
gpart create -s GPT /dev/mmcsd0
gpart add -t freebsd-zfs /dev/mmcsd0
zpool create testpool /dev/mmcsd0p1
rsync -av /usr/src/ /testpool
zpool scrub testpool
zpool status testpool
zpool export testpool
```
- remove the card
[[ https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204521 |PR204521 ]] contains bulk of exchanges for completion of the code.