Discussion:
"block erase failed: Input/output error" with SMART PCMCIA linear flash
Miernik
2003-11-03 19:16:47 UTC
Permalink
I'm trying to get a "SMART Modular Technologies 4MB FAST FLASH CARD
SM9FA2043IP280" PCMCIA linear flash Intel Series 2+ card working.
I mean being able to write it on my Debian GNU/Linux machine.

The explanation of SM9FA2043IP280:

SM Smart Modular
9 Product Category: Memory Card
F Technology: Flash
A Attribute: With Attribute (2kB)
2 Nop. of banks: 2 Bank
04 Card Density: 4 MB
3 Component Data Width: x16
I Device Manufacturer: Intel
P Pinout: 68 Pin PC Card (Type I)
2 Interface: x16 only
80 Card Speed: 80ns


FLA16MPX16ICB REV.A

To know what I'm working with, I have opened the card, and found these
4 chips:

2 * chip:
---------
Intel

E28F016SA
70 5.0V
120 3.3V
U84433T1C
1993

Flash
---------

---------
ATMEL
AT28C16
15TC
9837
---------

---------
IDT 74FCT
108CTQ
KP84ST
---------

I have accidentally erased attribute memory of this card, so it is
detected only as anonymous memory. I fix it like this:

card "Anonymous Memory"
anonymous
cis "cis/smartm-4mb-flash.dat"
bind "memory_cs", "ftl_cs"


I am using 2.4.22-3 kernel from Debian, self-compiled, not compiling
pcmcia-modules from the kernel, but separately.
I compiled pcmcia-modules_3.2.2-1.4.

I have compiled pcmcia-modules with debug=8 and I have very detailed
debug logs. Can someone take a look at them? It's 5559 byes gziped,
but 149368 bytes ungizped. It's avialable at
http://www.miernik.ctnet.pl/mtd/6-with-debug/testlog
http://www.miernik.ctnet.pl/mtd/6-with-debug/testlog.gz

You can see the contents of my /etc/pcmcia at
http://www.miernik.ctnet.pl/mtd/6-with-debug/pcmcia/

My logs when the system boots with the card:
http://www.miernik.ctnet.pl/mtd/6-with-debug/log/

Output of 'cardctl *', 'cat /proc/*', 'lsmod' and 'ls -l /dev/mem0*' are
here: http://www.miernik.ctnet.pl/mtd/6-with-debug/

And the used kernel and modules:
http://www.miernik.ctnet.pl/debian/pool/kernel-image-2.4.22_tarnica.1.0_i386.deb
http://www.miernik.ctnet.pl/debian/pool/pcmcia-modules-2.4.22_3.2.2-1.4+tarnica+debug.1.0_i386.deb

In short words:

When trying to do 'ftl_format -i /dev/mem0c0c' I get:
block erase failed: Input/output error
format failed.

and in my /var/log/messages:

Nov 3 19:15:51 tarnica kernel: memory_erase(0, 0x0, 65536)
Nov 3 19:15:51 tarnica kernel: cs: CardServices(CheckEraseQueue, 0xcea7a700, 0x00000000)
Nov 3 19:15:51 tarnica kernel: cs: trying erase request 0xcdfee260...
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_event(0x020000)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_erase(0xced86a80, 0xcee81800, 0x0, 0x10000)
Nov 3 19:15:51 tarnica kernel: cs: CardServices(GetStatus, 0xced86880, 0xcd965de4)
Nov 3 19:15:51 tarnica kernel: i82365: GetStatus(0) = 0x01c0
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: raising Vpp...
Nov 3 19:15:51 tarnica kernel: i82365: SetSocket(0, flags 0x200, Vcc 50, Vpp 120, io_irq 0, csc_mask 0x80)
Nov 3 19:15:51 tarnica kernel: Status = 1, requeueing.
Nov 3 19:15:51 tarnica kernel: cs: erase timeout for entry 0xcdfee260
Nov 3 19:15:51 tarnica kernel: cs: trying erase request 0xcdfee260...
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_event(0x020000)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_erase(0xced86a80, 0xcee81800, 0x0, 0x10000)
Nov 3 19:15:51 tarnica kernel: i82365: SetMemMap(0, 1, 0x03, 80 ns, 0xe1000-0xe1fff, 0x00000)
Nov 3 19:15:51 tarnica kernel: i82365: SetMemMap(0, 2, 0x23, 250 ns, 0xe2000-0xe2fff, 0x04000)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: set_rdy_mode(0404)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: set_rdy_mode failed!
Nov 3 19:15:51 tarnica kernel: CSR = 0xffff, BSR = 0xffff, GSR = 0xffff
Nov 3 19:15:51 tarnica kernel: Status = 1, requeueing.
Nov 3 19:15:51 tarnica kernel: cs: erase timeout for entry 0xcdfee260
Nov 3 19:15:51 tarnica kernel: cs: trying erase request 0xcdfee260...
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_event(0x020000)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_erase(0xced86a80, 0xcee81800, 0x0, 0x10000)
Nov 3 19:15:51 tarnica kernel: i82365: SetMemMap(0, 1, 0x03, 80 ns, 0xe1000-0xe1fff, 0x00000)
Nov 3 19:15:51 tarnica kernel: erase error: CSR = 0xffff, BSR = 0xffff, GSR = 0xffff
Nov 3 19:15:51 tarnica kernel: Status = 1, requeueing.


And while trying to do 'wrflash -ef test1 /dev/mem0c0c' (where test1
is a sample 8kByte file) I get:

Partition size = 4 mb, erase unit size = 64 kb, start address 0x0


erasing block 1 of 64 (0x0-0xFFFF)
This will destroy data on the target device. Confirm (y/n): y
block erase failed: Input/output error
---> failure.

And more or less the same thing as above in /var/log/messages.

Reading from the card with dd looks OK, at least it doesn't say
"error" anywhere :)

While reading I get about 60 kB/s from the block device and 200 kB/s
from the character device. I get a file with all bits set to 1
(FFFFFFFF etc), but maybe it is just what is on the card.

One more thing: I do it all through a Intel i82365sl B step rev 00
ISA-to-PCMCIA card. It has a big chip "OMEGA MICRO 82C365G".

While I try to write to the card, I get Vpp 12.0V in cardctl config.
--
Miernik ________________________ jabber:***@amessage.info
___________________/__ tel: +48608233394 __/ mailto:***@ctnet.pl
Save Europe from Software Patents
http://www.gnu.org/philosophy/savingeurope.html
Scott Serr
2003-11-03 21:21:01 UTC
Permalink
You have been very thorough. (way beyond me, and I got my card
working) If I remember right I was using 2.4.20 on SuSE 7.3. I didn't
do anything with the PCMCIA stuff, just allowing it to detect as generic
memory worked fine. One thing that I remember reading is you need 5V to
write and only 3.3V to read. Also, of course you want your write
protect off on the card.

It's pretty obvious to me that you know more about this stuff than I
do. I have roughly the same card in a 8MB unit, and it works. It could
be that your card is bad, but do check the voltage and the write protect.

Good luck,
-Scott
Post by Miernik
I'm trying to get a "SMART Modular Technologies 4MB FAST FLASH CARD
SM9FA2043IP280" PCMCIA linear flash Intel Series 2+ card working.
I mean being able to write it on my Debian GNU/Linux machine.
SM Smart Modular
9 Product Category: Memory Card
F Technology: Flash
A Attribute: With Attribute (2kB)
2 Nop. of banks: 2 Bank
04 Card Density: 4 MB
3 Component Data Width: x16
I Device Manufacturer: Intel
P Pinout: 68 Pin PC Card (Type I)
2 Interface: x16 only
80 Card Speed: 80ns
FLA16MPX16ICB REV.A
To know what I'm working with, I have opened the card, and found these
---------
Intel
E28F016SA
70 5.0V
120 3.3V
U84433T1C
1993
Flash
---------
---------
ATMEL
AT28C16
15TC
9837
---------
---------
IDT 74FCT
108CTQ
KP84ST
---------
I have accidentally erased attribute memory of this card, so it is
card "Anonymous Memory"
anonymous
cis "cis/smartm-4mb-flash.dat"
bind "memory_cs", "ftl_cs"
I am using 2.4.22-3 kernel from Debian, self-compiled, not compiling
pcmcia-modules from the kernel, but separately.
I compiled pcmcia-modules_3.2.2-1.4.
I have compiled pcmcia-modules with debug=8 and I have very detailed
debug logs. Can someone take a look at them? It's 5559 byes gziped,
but 149368 bytes ungizped. It's avialable at
http://www.miernik.ctnet.pl/mtd/6-with-debug/testlog
http://www.miernik.ctnet.pl/mtd/6-with-debug/testlog.gz
You can see the contents of my /etc/pcmcia at
http://www.miernik.ctnet.pl/mtd/6-with-debug/pcmcia/
http://www.miernik.ctnet.pl/mtd/6-with-debug/log/
Output of 'cardctl *', 'cat /proc/*', 'lsmod' and 'ls -l /dev/mem0*' are
here: http://www.miernik.ctnet.pl/mtd/6-with-debug/
http://www.miernik.ctnet.pl/debian/pool/kernel-image-2.4.22_tarnica.1.0_i386.deb
http://www.miernik.ctnet.pl/debian/pool/pcmcia-modules-2.4.22_3.2.2-1.4+tarnica+debug.1.0_i386.deb
block erase failed: Input/output error
format failed.
Nov 3 19:15:51 tarnica kernel: memory_erase(0, 0x0, 65536)
Nov 3 19:15:51 tarnica kernel: cs: CardServices(CheckEraseQueue, 0xcea7a700, 0x00000000)
Nov 3 19:15:51 tarnica kernel: cs: trying erase request 0xcdfee260...
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_event(0x020000)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_erase(0xced86a80, 0xcee81800, 0x0, 0x10000)
Nov 3 19:15:51 tarnica kernel: cs: CardServices(GetStatus, 0xced86880, 0xcd965de4)
Nov 3 19:15:51 tarnica kernel: i82365: GetStatus(0) = 0x01c0
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: raising Vpp...
Nov 3 19:15:51 tarnica kernel: i82365: SetSocket(0, flags 0x200, Vcc 50, Vpp 120, io_irq 0, csc_mask 0x80)
Nov 3 19:15:51 tarnica kernel: Status = 1, requeueing.
Nov 3 19:15:51 tarnica kernel: cs: erase timeout for entry 0xcdfee260
Nov 3 19:15:51 tarnica kernel: cs: trying erase request 0xcdfee260...
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_event(0x020000)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_erase(0xced86a80, 0xcee81800, 0x0, 0x10000)
Nov 3 19:15:51 tarnica kernel: i82365: SetMemMap(0, 1, 0x03, 80 ns, 0xe1000-0xe1fff, 0x00000)
Nov 3 19:15:51 tarnica kernel: i82365: SetMemMap(0, 2, 0x23, 250 ns, 0xe2000-0xe2fff, 0x04000)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: set_rdy_mode(0404)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: set_rdy_mode failed!
Nov 3 19:15:51 tarnica kernel: CSR = 0xffff, BSR = 0xffff, GSR = 0xffff
Nov 3 19:15:51 tarnica kernel: Status = 1, requeueing.
Nov 3 19:15:51 tarnica kernel: cs: erase timeout for entry 0xcdfee260
Nov 3 19:15:51 tarnica kernel: cs: trying erase request 0xcdfee260...
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_event(0x020000)
Nov 3 19:15:51 tarnica kernel: iflash2+_mtd: flash_erase(0xced86a80, 0xcee81800, 0x0, 0x10000)
Nov 3 19:15:51 tarnica kernel: i82365: SetMemMap(0, 1, 0x03, 80 ns, 0xe1000-0xe1fff, 0x00000)
Nov 3 19:15:51 tarnica kernel: erase error: CSR = 0xffff, BSR = 0xffff, GSR = 0xffff
Nov 3 19:15:51 tarnica kernel: Status = 1, requeueing.
And while trying to do 'wrflash -ef test1 /dev/mem0c0c' (where test1
Partition size = 4 mb, erase unit size = 64 kb, start address 0x0
erasing block 1 of 64 (0x0-0xFFFF)
This will destroy data on the target device. Confirm (y/n): y
block erase failed: Input/output error
---> failure.
And more or less the same thing as above in /var/log/messages.
Reading from the card with dd looks OK, at least it doesn't say
"error" anywhere :)
While reading I get about 60 kB/s from the block device and 200 kB/s
from the character device. I get a file with all bits set to 1
(FFFFFFFF etc), but maybe it is just what is on the card.
One more thing: I do it all through a Intel i82365sl B step rev 00
ISA-to-PCMCIA card. It has a big chip "OMEGA MICRO 82C365G".
While I try to write to the card, I get Vpp 12.0V in cardctl config.
Miernik
2003-11-03 22:14:10 UTC
Permalink
Post by Scott Serr
You have been very thorough. (way beyond me, and I got my card
working) If I remember right I was using 2.4.20 on SuSE 7.3. I didn't
Could you put somewhere on the net the compiled kernel and all modules
and kernel .config file that works with your card?
Also all contents from /etc/pcmcia/ directory, and /sbin/cardmgr
binary / your pcmcia-cs package (RPM probably).

You can also send it by e-mail to me (any mail size is OK).
Post by Scott Serr
do anything with the PCMCIA stuff, just allowing it to detect as generic
memory worked fine. One thing that I remember reading is you need 5V to
write and only 3.3V to read. Also, of course you want your write
protect off on the card.
Write protect? How do I set that? You mean you have some mechanical
switch on the card, like on 1.4M floppies? I don't have any switch
like that.
Or is it something in software?

I bought my card here: http://www.memoryx.net/pc7-2767.html
Where did you buy your card?
Post by Scott Serr
It's pretty obvious to me that you know more about this stuff than I
do. I have roughly the same card in a 8MB unit, and it works. It could
Could you post the exact part number of your card?
Any text you can read off the card.

What kind of PCMCIA slot did you use?
Was it a laptop? What model?

I would really appreciate as much info about your system.
A /var/log/messages file of the bootup of the system with the card,
and a wrflash of the image to it would be really nice. With debug in
PCMCIA modules (that needs to be compiled in the module) enabled would
be great.

Also anyone else who had a working Linear Flash card, could post their
detailed system info.

thank you,
--
Miernik ________________________ jabber:***@amessage.info
___________________/__ tel: +48608233394 __/ mailto:***@ctnet.pl
Loading...