Miernik
2003-11-03 19:16:47 UTC
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.
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
Miernik ________________________ jabber:***@amessage.info
___________________/__ tel: +48608233394 __/ mailto:***@ctnet.pl
Save Europe from Software Patents
http://www.gnu.org/philosophy/savingeurope.html