将 alauda 驱动程序连接到 mtd 设备

将 alauda 驱动程序连接到 mtd 设备

我有一个 USB 读卡器,奥林巴斯 MAUSB-10。它使用 Linuxalauda驱动程序提供对 SmartMedia 或 xD 卡的直接闪存访问。这与典型的读卡器不同,典型的读卡器只是将其暴露为标准 USB 大容量存储设备。

Linux 内核中的驱动程序可以执行 FTL 操作并将其公开为标准块设备,但我想要直接访问闪存。我想知道是否可以使用各种实用程序mtd-tools直接读取、写入和擦除它。

因此设备被 识别lsusb,并且驱动程序aluadanand_ecc被加载。但cat /proc/mtd没有透露另一个可用的 MTD 设备,而且我在/dev.如何创建新的 mtd 设备并将其连接到 alauda 驱动程序?

答案1

如果我们查看Linux内核中的驱动程序源代码(drivers/mtd/nand/alauda.c),我们会发现mtd设备应该被称为“alauda”。

例如,在 cmx270_nand.c 中 mtd 名称为 cmx270-0。在有关它的内核日志信息中,如下所示:

Creating 1 MTD partitions on "NAND 512MiB 3,3V 8-bit":
0x00000000-0x20000000 : "cmx270-0"

检查 dmesg (grep alauda, MTD),如果您的 xD 卡成功识别,最后为了访问 MTD 设备,您可以尝试创建/dev/mtdblockX/dev/mtdX使用mknod.

答案2

  1. 删除 (rmmod) ums-alauda 驱动程序
  2. 插入设备后,通过 dmesg 检查是否可以看到模块 alauda 的探针打印
  3. 如果没有看到设备 /dev/mtd0,则 rmmod alauda,然后再次 insmod
    • 不需要点头。 (尝试关闭“盖子”)。

相关内容