Forum: Mikrocontroller und Digitale Elektronik CF Card in PCMCIA Adapter: Read geht, Write nicht..


von rk (Gast)


Lesenswert?

Ich experimentiere mit verschiedenen CF-Cards in einem 16-Bit 
PCMCIA-Adapter.
Das Board ist ein alter Zyxel-WLAN-Router mit MIPS CPU und PCMCIA Slot.

Modus ist nicht TRUE-IDE sondern eine der drei PCMCIA IO-Configurations.
Bei allen das gleiche Problem.

IDENTIFY Cmd funktioniert.

ATA Read-Befehle (0x20) funktionieren. Nach dem READ Cmd kommt im
Status-REG DRQ und die Daten sind ok. Es kommen auch Interrupts.

Bei ATA Write-Befehlen (0x30) kommt bei einigen Karten 0x00, bei anderen
0x50 (Ready und Service), kein DRQ, kein Interrupt und kein vernünftiger 
Error, auch nicht nach REQUEST SENSE. Status hat auch nicht ATA_ERR 
gesetzt.

Resets über das entsprechende ATA-Register bringen auch nix.

Ich vermute dass es irgendwie am Adapter liegt, aber warum geht READ
und nicht WRITE?

Hat jemand sowas schon mal erlebt?

Ich werde mir erstmal andere Adapter besorgen..

von Guido L. (guidol1970)


Lesenswert?

war denn der Slot nicht eher fuer eine WLAN-Karte?
Evtl. braucht eine CF-Karte im PCMCIA-Adapter eine Leitung im 
PCMCIA-Slot, der nicht verbunden ist, weil die WLAN-Karte ihn nicht 
gebraucht haette?

Und die unterschiedlichen "Fehlermeldungen" kommen nur von der 
Spezifikation der CF-Karte...

Nur mal so ins blaue geraten....

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

rk schrieb:
> Modus ist nicht TRUE-IDE sondern eine der drei PCMCIA IO-Configurations.

Und dann benutzt Du ATA-Befehle? Ist das so vorgesehen?

von rk (Gast)


Angehängte Dateien:

Lesenswert?

Gleiches Problem mit anderem PCMCIA Adapter..

Muss wohl doch irgendein Signal geben das nicht ok ist.
Habe bisher nix in den Specs gefunden was das sein könnte.

Write-Protect gibt es bei CF-Cards ja nicht.

An dem Slot zu messen ist leider auch schwierig.

von rk (Gast)


Lesenswert?

Beim WriteBuffer Command 0xE8 kommt DRQ und
die Daten werden mit ReadBuffer auch richtig
zurückgelesen.

WRITE BUFFER 1
write cmd block
head:   E0
nsects: 01
sect:   01
clo:    00
chi:    00
cmd:    E8
AUX:50
STAT:50
WD:D0
WD:D0
WD:58   <--- DRQ

READ BUFFER 8
write cmd block
head:   E0
nsects: 01
sect:   09
clo:    00
chi:    00
cmd:    E4
AUX:50
STAT:50
WD:D0
WD:D0
WD:58

Addr: 80058B90
Len:  00000200

54 65 73 74 20 53 65 63  74 6F 72 00 00 00 00 00  Test Sector.....

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.