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


8

我有一个USB读卡器,一个Olympus MAUSB-10。它使用Linux alauda驱动程序提供对SmartMedia或xD卡的直接闪存访问。这与典型的读卡器不同,后者只是将其公开为标准USB大容量存储设备。

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

因此,该设备是由公认的lsusb,和司机aluadanand_ecc被加载。但是cat /proc/mtd没有透露其他可用的MTD设备,我也看不到任何其他设备/dev。如何创建新的mtd设备并将其连接到alauda驱动程序?

Answers:


2

如果我们查看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


谢谢您的回复。xD卡已成功识别(显示为/ dev / sde)。 mknod /dev/mtd0 c 90 0什么也不做,mtdinfo给我错误19(没有这样的设备)。 /proc/mtd没有显示任何MTD设备。一个lsmod | grep alauda显示,mtd并且mtdchar都已加载。有任何想法吗?
LawrenceC

1
  1. 删除(rmmod)ums-alauda驱动程序
  2. 插入设备后,通过dmesg检查模块alauda的探针打印是否可见
  3. 如果未显示设备/ dev / mtd0,则使用rmmod alauda,然后再次对其进行insmod
    • 应该没有必要。(请尝试关闭“盖”)。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.