10

Can a USB card-reader ever appear as /dev/mmcblk0 and support the MMC ioctl commands?

I see there are some kernel driver modules such as:

rtsx_usb_sdmmc.ko  (rtsx-usb-sdmmc)
rtsx_usb.ko (rtsx-usb)

Can these make a realtek card reader, attached to the USB bus appear as a real MMC device? I notice that all the USB card readers I have access to appear as /dev/sdX. which appear to be an emulated SCSI device. These emulated SCSI devices do not support all the MMC operations (ioctl).

Are there certain USB-attached card-readers (chips) that appear as a /dev/mmcblkX instead of /dev/sdX?

This would allow the card to support blkdiscard, trim or fstrim.

Gregor
  • 1,219
  • 10
  • 16
  • There are card readers, that see the memory cards as `/dev/mmcblk0`, `/dev/mmcblk1` ... I think those readers are connected via PCI. Card readers connected via USB see the cards as `dev/sda`, `dev/sdb` ... I have not seen a USB adapter, that makes linux see it as an MMC device, but maybe there are such adapters. However, the discard (trim) function can be built into the drive itself (I have such a USB pendrive). -- It can also help to 'wipe the whole device' (overwrite with zeros) to make a card or USB pendrive fast again, if it was originally fast, but is slow after a lot of writes, – sudodus Jun 28 '20 at 18:41

1 Answers1

3

Yes, this is how devices based on RTS5129 or RTS5139 work. I do have RTS5129 in my Vostro laptop as a cardreader, and it provides me with /dev/mmcblkc0 device.

0x2207
  • 146
  • 2
  • A couple references https://unix.stackexchange.com/questions/257033/rts5129-card-reader-with-ubuntu-15-10. https://github.com/asymingt/rts5139 – Gregor Jun 30 '20 at 23:34
  • I guess the next question to ask (perhaps not here) is can I find an external USB Card-reader with this chip-set? – Gregor Jul 04 '20 at 13:12
  • I wish I knew some. – 0x2207 Jul 05 '20 at 14:16
  • The closest thing I could find are laptop replacement parts, like the [Lenovo 01AJ839](https://download.lenovo.com/Images/Parts/01AJ839/01AJ839_apperance.jpg). Should be easy to rewire the internal header cable to a external male or female usb connector, and maybe put it inside a 3D printed case. – Corubba Apr 30 '21 at 00:36