Problems with DOC 2000 on 2.4.21
Dear all,
I wish to use kernel 2.4.21 with DOC 2000. In menuconfig, I selected the followings in the MTD submenu (other options not mentioned here were all left blank):
* Memory Technology Device (MTD) support
* Debugging
0 Debugging verbosity
M Direct char device access to MTD devices
M Caching block device access to MTD devices
M FTL (Flash Translation Layer) support
M NFTL (NAND Flash Translation Layer) support
* Write support for NFTL (BETA)
In "Self-contained MTD device drivers", I chose:
M M-Systems Disk-On-Chip 2000 and Millennium
And in "NAND Flash Device Drivers", I chose:
M NAND Device Support
* Verify NAND page writes
I successfully compiled the bzImage and modules, installed them and rebooted. Then I run:
modprobe -a doc2000 nftl mtdchar mtdblock
But there was no message shown about anything loading. Anyway, I tried "modprobe -a docprobe" also, but I got no message at all and modprobe only return to the shell prompt after a long time. I wonder why I got no message about detecting my DOC 2000.
I also tried compiling all the above features as built-in (all *) in the kernel. Then I noticed that the kernel was probably detecting for DOC on my computer during the reboot, with something like:
DiskOnChip 2000 found at address 0xD4000
Flash chip found: Manufacturer ID: 98, Chip ID: 73 (Toshiba:NAND 16MB
3,3V)
1 flash chips found. Total DiskOnChip size: 16 MiB
mtd: Giving out device 0 to DiskOnChip 2000
The address D4000 is exactly the address of my DOC 2000. But after the reboot, I don't know how to access the device given out. I cat /proc/mtd and got:
dev: size erasesize name
mtd0: 01000000 00004000 "DiskOnChip 2000"
But in /dev I can't find mtd or mtd0.
Do anyone know how to resolve these problems? Thanks in advance!!
Yours,
Selwyn Tang
Quoted 4 lines · Selwyn Tang
But in /dev I can't find mtd or mtd0.
Do anyone know how to resolve these problems? Thanks in advance!!
I usually find after loading the mtd doc200x modules, doing:
# modprobe mtdchar
will usually produce the /dev/mtd* devices.
(correct me if i'm wrong)
Signature · 2 lines
Roger http://www.eskimo.com/~roger/index.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
On both of my 440BX boards, Intel incorporated a shadow feature which shadows the mtd devices (bios chip/DIP socket) from the normal mtd drivers/modules.
I have to utilize the openbios/devbios module/code to unshadow the 440BX DIP socket.
There are many other chipsets supported for unshadowing in that code. I believe the code only needs to be implemented into mtd somehow.
But basically, I get nothing found in dmesg when loading the DOC modules and nothing showing in /proc/mtd* -- but mtdchar does show some info in the /proc/mtd* files.
After unshadowing the 440BX DIP socket (using openbios/devbios -- i hacked module to leave the DIP socket unshadowed after unloading;-), and then loading the mtd/doc modules, I get 'found DOC ...' in dmesg and I get good info in the /proc/mtd* files.
Quoted 14 lines · Selwyn Tang
Dear Roger,
Quoted 3 lines · Roger
I usually find after loading the mtd doc200x modules, doing:
# modprobe mtdchar will usually produce the /dev/mtd* devices.When I compiled those MTD stuffs as modules, and after modprobe, I still didn't get any
/dev/mtd*devices. But when I compiled those as builtin, I can cat/proc/mtdand get "mtd0:..." but still no/dev/mtd*Do you know why?
Selwyn
Signature · 2 lines
Roger http://www.eskimo.com/~roger/index.html
I used the MAKEDEV script provided by the mtd from cvs to create the various device files (/dev/mtd*, /dev/nftl*, etc.) and now I can access my DOC2000.
But concerning the unshadowing of the DIP socket, I do have a problem. My Intel D845BG borad seems to be unable to detect my DOC development board (M-Sys' PCI EVB), and even dinfo.exe in DOS cannot detect it. But in Linux, I can still access it using M-Sys's Linux driver. I wonder if it is the shadowing problem you are talking about. Right now, I am using a ASUS board smoothly with DOC.
Selwyn
Quoted 18 lines · Roger
On both of my 440BX boards, Intel incorporated a shadow feature which shadows the mtd devices (bios chip/DIP socket) from the normal mtd
drivers/modules.I have to utilize the openbios/devbios module/code to unshadow the 440BX DIP socket.
There are many other chipsets supported for unshadowing in that code. I believe the code only needs to be implemented into mtd somehow.
But basically, I get nothing found in dmesg when loading the DOC modules and nothing showing in
/proc/mtd*-- but mtdchar does show some info in the/proc/mtd*files.After unshadowing the 440BX DIP socket (using openbios/devbios -- i hacked module to leave the DIP socket unshadowed after unloading;-), and then loading the mtd/doc modules, I get 'found DOC ...' in dmesg and I get good info in the
/proc/mtd*files.
Quoted 10 lines · Selwyn Tang
I used the MAKEDEV script provided by the mtd from cvs to create the various device files (
/dev/mtd*,/dev/nftl*, etc.) and now I can access my DOC2000.But concerning the unshadowing of the DIP socket, I do have a problem. My Intel D845BG borad seems to be unable to detect my DOC development board (M-Sys' PCI EVB), and even dinfo.exe in DOS cannot detect it. But in Linux, I can still access it using M-Sys's Linux driver. I wonder if it is the shadowing problem you are talking about. Right now, I am using a ASUS board smoothly with DOC.
yup. the mtd device will remain invisible until unshadowed. even the dos utilites fail to see the mtd device (or bios DIP socket with DOC inserted).
funny. i never tried the msys binary drivers that they provide -- i believe that i was concerned i was using something out-dated and/or wouldn't work with my kernel versioning. maybe i should try it since you've said you have had success with it. odd.
Quoted 27 lines
Selwyn
Quoted 10 lines · Roger
On both of my 440BX boards, Intel incorporated a shadow feature which shadows the mtd devices (bios chip/DIP socket) from the normal mtd
drivers/modules.I have to utilize the openbios/devbios module/code to unshadow the 440BX DIP socket.
There are many other chipsets supported for unshadowing in that code. I believe the code only needs to be implemented into mtd somehow.
Quoted 8 lines
But basically, I get nothing found in dmesg when loading the DOC modules and nothing showing in
/proc/mtd*-- but mtdchar does show some info in the/proc/mtd*files.After unshadowing the 440BX DIP socket (using openbios/devbios -- i hacked module to leave the DIP socket unshadowed after unloading;-), and then loading the mtd/doc modules, I get 'found DOC ...' in dmesg and I get good info in the
/proc/mtd*files.______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Signature · 2 lines
Roger http://www.eskimo.com/~roger/index.html