Вопрос или проблема
Может ли USB кардридер когда-либо появиться как /dev/mmcblk0 и поддерживать команды ioctl MMC?
Я вижу, что есть некоторые модули драйверов ядра, такие как:
rtsx_usb_sdmmc.ko (rtsx-usb-sdmmc)
rtsx_usb.ko (rtsx-usb)
Могут ли они сделать так, чтобы кардридер Realtek, подключенный к USB-шине, отображался как настоящее устройство MMC? Я замечаю, что все USB-кардридеры, к которым у меня есть доступ, появляются как /dev/sdX, что, похоже, является эмулированным устройством SCSI. Эти эмулированные устройства SCSI не поддерживают все операции MMC (ioctl).
Существуют ли определенные подключаемые по USB кардридеры (чипы), которые отображаются как /dev/mmcblkX вместо /dev/sdX?
Это позволит карты поддерживать blkdiscard, trim или fstrim.
Да, именно так работают устройства на базе RTS5129 или RTS5139. У меня есть RTS5129 в моем ноутбуке Vostro как кардридер, и он предоставляет мне устройство /dev/mmcblkc0
.
Обновление:
Пожалуйста, посмотрите обновление к моему ответу
https://stackoverflow.com/a/62625224/1879547, которое также имеет отношение к этому вопросу.
Я могу подтвердить, что кардридер RTS5179 распознает MMC как /dev/mmcblk0
. Это была использованная деталь для ноутбука с рынка.
В этом режиме функция TRIM работает для MMC-карт.
Ответ или решение
Вопрос о поддержке USB-картридеров, отображающихся как /dev/mmcblk0
, и поддержки команд ioctl с использованием интерфейса MMC, относится к специфике работы с устройствами в операционных системах на базе ядра Linux. Давайте подробнее разберем эту тему.
Поддержка MMC через USB-картридеры
USB-картридеры могут иметь разные архитектуры и схемы подключения, в зависимости от производителя и модели. Основные моменты, которые следует учитывать:
-
Тип устройства: В большинстве случаев USB-картридеры ориентированы на эмуляцию SCSI-устройств, из-за чего задерживается доступ к некоторым функциям, предлагаемым MMC. Это видно по тому, что большинство ваших USB-картридеров отображаются как
/dev/sdX
. -
Управляющие модули ядра: Некоторые модули, такие как
rtsx_usb_sdmmc.ko
иrtsx_usb.ko
, предлагают поддержку специфических USB-картридеров, основывающихся на контроллерах из семейства Realtek, таких как RTS5129 и RTS5139. Эти устройства могут эффективно взаимодействовать с картами памяти через протокол MMC и предоставлять доступ к/dev/mmcblkX
. -
Поддержка ioctl: Устройства, которые отображаются как
/dev/mmcblkX
, могут поддерживать более широкий спектр операций, включаяblkdiscard
,trim
иfstrim
, что позволяет более эффективно управлять пространством на картах памяти.
Примеры из практики
Согласно информации, пользователь может подтвердить, что картридеры на базе RTS5129 и RTS5179 способны выявлять MMC-карты как /dev/mmcblk0
. Данные устройства действуют как полнофункциональные MMC-устройства, что позволяет им использовать команды управления памятью, такие как TRIM.
Выводы и рекомендации
Если вы ищете USB-картридер, который предоставит функциональность MMC и будет отображаться как /dev/mmcblkX
, рекомендуется обратить внимание на следующие моменты:
- Модель контроллера: Проверьте использование контроллеров RTS5129, RTS5139 или RTS5179, которые были подтверждены как поддерживающие MMC.
- Документация и спецификации: Изучите технические спецификации устройства, чтобы убедиться в его совместимости с требуемыми функциями и командами.
- Пользовательские отзывы: Просмотрите опыт пользователей по конкретной модели, чтобы получить представление об ее производительности и характеристиках работы с картами памяти.
Таким образом, выбор правильного USB-картридера может значительно улучшить работу с картами памяти, позволяя вам использовать преимущества, предлагаемые технологиями MMC. Если у вас возникли дополнительные вопросы, не стесняйтесь обращаться за помощью к экспертам в области IT.