9

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.

1
  • 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
2

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.

4
  • 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 4 '20 at 13:12
  • I wish I knew some.
    – 0x2207
    Jul 5 '20 at 14:16
  • The closest thing I could find are laptop replacement parts, like the Lenovo 01AJ839. 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 0:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.