I'm getting much faster read speeds from an SD card when mounting the card and reading files (~50MB/s) than when reading the raw device rsd1c (~25MB/s). If anything, shouldn't it be the other way round, given that the file system has some overhead?
Here are the measurements when mounting and reading files: $ doas mount /dev/sd1i /card $ mount | grep card /dev/sd1i on /card type msdos (local) $ cat /card/DCIM/100MSDCF/* | pv -bra -Ss500m | sha1 500MiB [49.2MiB/s] [49.2MiB/s] e823304263649ee4aff5c4563878cd9111cffebf For the raw device (rsd1c): $ doas cat /dev/rsd1c | pv -bra -Ss500m | sha1 500MiB [25.5MiB/s] [25.5MiB/s] ca17bdb9a657bbcf654a60057861be8fe02df0b1 For what it's worth, the block device (sd1c): $ doas cat /dev/sd1c | pv -bra -Ss500m | sha1 500MiB [8.53MiB/s] [8.53MiB/s] ca17bdb9a657bbcf654a60057861be8fe02df0b1 The card was previously formatted with "newfs_msdos -s 8000000 sd1c" and then files were written on it by a camera. Here is the card reader's dmesg bit: umass0 at uhub0 port 13 configuration 1 interface 0 "Generic USB3.0 Card Reader" rev 3.00/15.32 addr 5 umass0: using SCSI over Bulk-Only scsibus2 at umass0: 2 targets, initiator 0 sd1 at scsibus2 targ 1 lun 0: <Generic, STORAGE DEVICE, 1532> SCSI4 0/direct removable sd1: 488154MB, 512 bytes/sector, 999740416 sectors sd2 at scsibus2 targ 1 lun 1: <Generic, STORAGE DEVICE, 1532> SCSI4 0/direct removable

