
USBカードリーダー Olympus MAUSB-10があります。 Linuxドライバを使用して、alauda
SmartMediaまたはxDカードへの直接フラッシュアクセスを提供します。これは、単に標準のUSB大容量記憶装置として表示される一般的なカードリーダーとは異なります。
LinuxカーネルのドライバはFTL操作を実行し、それを標準のブロックデバイスとして公開できますが、フラッシュメモリに直接アクセスしたいと思います。いろいろなユーティリティを使ってmtd-tools
自分で読んで書いて消去できるかどうかを知りたいです。
これによりデバイスが認識lsusb
され、ドライバがロードaluada
されますnand_ecc
。しかし、cat /proc/mtd
利用可能な他のMTDデバイスの開示はありませんし、私は/dev
。新しいmtdデバイスを作成し、aalaudaドライバに接続する方法は?
答え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
- (rmmod) ums-alauda ドライバーの削除
- デバイスを接続したら、alaudaモジュールのプローブプリントが表示されていることをdmesgで確認します。
- /dev/mtd0 デバイスが表示されない場合は、rmmod alauda を実行して insmod を再実行してください。
- 頭をうなずく必要はありません。 (「ふた」を閉じてみてください)。