Hubungkan driver alauda ke perangkat mtd

8

Saya memiliki pembaca kartu USB, Olympus MAUSB-10. Ini memberikan akses flash langsung ke SmartMedia atau kartu xD, menggunakan alaudadriver Linux . Ini berbeda dari pembaca kartu biasa yang hanya mengeksposnya sebagai perangkat penyimpanan massal USB standar.

Ada driver di kernel Linux yang akan melakukan hal FTL dan mengekspos ini sebagai perangkat blok standar, tetapi saya ingin akses flash langsung. Saya bertanya-tanya apakah mungkin menggunakan berbagai utilitas mtd-toolsuntuk membaca, menulis, dan menghapusnya secara langsung.

Jadi perangkat diakui oleh lsusb, dan driver aluadadan nand_eccdimuat. Tetapi cat /proc/mtdtidak mengungkapkan perangkat MTD lain yang tersedia, dan saya tidak melihat ada perangkat tambahan di /dev. Bagaimana cara membuat perangkat mtd baru dan menghubungkannya ke driver alauda?

LawrenceC
sumber

Jawaban:

2

Jika kita melihat kode sumber driver di kernel Linux ( drivers/mtd/nand/alauda.c), kita melihat bahwa perangkat mtd harus disebut "alauda".

Misalnya, dalam cmx270_nand.c nama mtd adalah cmx270-0. Dalam informasi log kernel tentang itu, terlihat seperti:

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

Periksa dmesg (grep alauda, ​​MTD), dan jika kartu xD Anda berhasil dikenali, akhirnya untuk mengakses perangkat MTD Anda dapat mencoba membuat /dev/mtdblockXdan /dev/mtdXdengan mknod.

Renat Zaripov
sumber
Terimakasih atas balasan anda. Kartu xD berhasil dikenali (ditampilkan sebagai / dev / sde). mknod /dev/mtd0 c 90 0tidak melakukan apa-apa, mtdinfomemberi saya kesalahan 19 (tidak ada perangkat seperti itu). /proc/mtdtidak mengungkapkan perangkat MTD. An lsmod | grep alaudamengungkapkan itu mtddan mtdcharkeduanya dimuat. Ada ide?
LawrenceC
1
  1. menghapus (rmmod) driver ums-alauda
  2. setelah mencolokkan perangkat, periksa apakah cetakan probe modul alauda terlihat melalui dmesg
  3. jika perangkat / dev / mtd0 tidak terlihat, rmmod alauda, ​​dan insmod lagi
    • seharusnya tidak ada kebutuhan untuk mknod. (coba dengan tutupnya 'tutup).
pengguna34879
sumber