Skip to content

Card works in IDE but fails in PCMCIA: repeated WORD size pattern #33

@pulchart

Description

@pulchart

Problem

Freddy sent me a CompactFlash card that Workbench shows as "Uninitialized", but there is no way to format or use it. The IDENTIFY DEVICE command returns the same word value (0x848A) on every read instead of valid data. This means the OS and driver cannot work with the device in any way.

Card Details

Field Value
Card Type STECF2GM1U
Manufacturer ID (CIS) 0x014D
Product Name (CIS) "STI" / "Flash 8.0.0"
CIS reported speed 250ns

Image

Observed Behavior

  • Control registers respond correctly
  • Data register returns the same value (0x848A) on every read

Environment Where Card Works

  • Amiga 1200 internal IDE slot with scsi.device
  • Linux via USB CF adapter

CIS Dump (raw attribute memory, for record)

01 03 D9 01 FF 1C 04 03 D9 01 FF 18 02 DF 01 20 
04 4D 01 00 01 15 13 04 01 53 54 49 00 46 6C 61 
73 68 20 38 2E 30 2E 30 00 FF 21 02 04 01 22 02 
01 01 22 03 02 0C 0F 1A 05 01 03 00 02 0F 1B 08 
C0 C0 A1 01 55 08 00 20 1B 06 00 01 21 B5 1E 4D 
1B 0A C1 41 99 01 55 64 F0 FF FF 20 1B 06 01 01 
21 B5 1E 4D 1B 0F C2 41 99 01 55 EA 61 F0 01 07 
F6 03 01 EE 20 1B 06 02 01 21 B5 1E 4D 1B 0F C3 
41 99 01 55 EA 61 70 01 07 76 03 01 EE 20 1B 06 
03 01 21 B5 1E 4D 14 00 FF ...

Serial Debug Output

Non working (Amiga 1200 + ACA1260/ACA1240 for example)

[CFD] Card inserted
[CFD] Identifying card...
[CFD] Reset
[CFD] Configuring HBA
[CFD] ..done
[CFD] Setting voltage
[CFD] Voltage: 5V
[CFD] Memory transfers: standard
[CFD] CIS gate
[CFD] ..DEVICE: type=0x0D speed=250ns size=0x00000800
[CFD] ..FUNCID: 0x04
[CFD] ..RESULT: accept
[CFD] ..CONFIG: addr=0x00000200
[CFD] RW test
[CFD] ..done
[CFD] Transfer: WORD
[CFD] Getting IDE ID
[CFD] ..done
[CFD] Model: ����������������������������������������
[CFD] Serial: ��������������������
[CFD] FW: ��������
[CFD] IDENTIFY:
  Max Multi (W47):      848A
  Capabilities (W49):   848A
  Multi Setting (W59):  848A
  LBA Sectors (W60-61): 848A848A
  DMA Modes (W63):      848A
  PIO Modes (W64):      848A
  UDMA Modes (W88):     848A
[CFD] IDENTIFY (raw):
W0: 848A 848A 848A 848A 848A 848A 848A 848A 
W8: 848A 848A 848A 848A 848A 848A 848A 848A 
W16: 848A 848A 848A 848A 848A 848A 848A 848A 
W24: 848A 848A 848A 848A 848A 848A 848A 848A 
W32: 848A 848A 848A 848A 848A 848A 848A 848A 
W40: 848A 848A 848A 848A 848A 848A 848A 848A 
W48: 848A 848A 848A 848A 848A 848A 848A 848A 
W56: 848A 848A 848A 848A 848A 848A 848A 848A 
W64: 848A 848A 848A 848A 848A 848A 848A 848A 
W72: 848A 848A 848A 848A 848A 848A 848A 848A 
W80: 848A 848A 848A 848A 848A 848A 848A 848A 
W88: 848A 848A 848A 848A 848A 848A 848A 848A 
W96: 848A 848A 848A 848A 848A 848A 848A 848A 
W104: 848A 848A 848A 848A 848A 848A 848A 848A 
W112: 848A 848A 848A 848A 848A 848A 848A 848A 
W120: 848A 848A 848A 848A 848A 848A 848A 848A 
W128: 848A 848A 848A 848A 848A 848A 848A 848A 
W136: 848A 848A 848A 848A 848A 848A 848A 848A 
W144: 848A 848A 848A 848A 848A 848A 848A 848A 
W152: 848A 848A 848A 848A 848A 848A 848A 848A 
W160: 848A 848A 848A 848A 848A 848A 848A 848A 
W168: 848A 848A 848A 848A 848A 848A 848A 848A 
W176: 848A 848A 848A 848A 848A 848A 848A 848A 
W184: 848A 848A 848A 848A 848A 848A 848A 848A 
W192: 848A 848A 848A 848A 848A 848A 848A 848A 
W200: 848A 848A 848A 848A 848A 848A 848A 848A 
W208: 848A 848A 848A 848A 848A 848A 848A 848A 
W216: 848A 848A 848A 848A 848A 848A 848A 848A 
W224: 848A 848A 848A 848A 848A 848A 848A 848A 
W232: 848A 848A 848A 848A 848A 848A 848A 848A 
W240: 848A 848A 848A 848A 848A 848A 848A 848A 
W248: 848A 848A 848A 848A 848A 848A 848A 848A 
[CFD] Init multi mode
[CFD] ..card supports max multi: 138
[CFD] ..setting multi mode to: 138
[CFD] IDE status=00000051
[CFD] IDE err=0000008A
[CFD] ..FAILED (using 1)
[CFD] ..testing multi-sector capability...
[CFD] ..DRQ issue detected, using firmware value
[CFD] ..multi-sector RW size: 1
[CFD] ..done
[CFD] ..SET FEATURES failed
[CFD] ..Card PIO: 4 -> Gayle: 100ns
[CFD] Card identified OK
[CFD] Notify clients
[CFD] Card removed

Partialy working with A1200 + ACA1234.

[CFD] Card inserted
[CFD] Identifying card...
[CFD] Reset
[CFD] Configuring HBA
[CFD] ..done
[CFD] Setting voltage
[CFD] Voltage: 5V
[CFD] Memory transfers: standard
[CFD] CIS gate
[CFD] ..DEVICE: type=0x0D speed=250ns size=0x00000800
[CFD] ..FUNCID: 0x04
[CFD] ..RESULT: accept
[CFD] ..CONFIG: addr=0x00000200
[CFD] RW test
[CFD] ..done
[CFD] Transfer: WORD
[CFD] Getting IDE ID
[CFD] ..done
[CFD] Model: STI.Flash.8.0.0.........................
[CFD] Serial: .STI1M9u609131102656
[CFD] FW: 01/17/p7
[CFD] IDENTIFY:
  Max Multi (W47):      2001
  Capabilities (W49):   0300
  Multi Setting (W59):  0100
  LBA Sectors (W60-61): 003D0FE0
  DMA Modes (W63):      0407
  PIO Modes (W64):      0003
  UDMA Modes (W88):     0000
[CFD] IDENTIFY (raw):
W0: 848A 0F82 0000 0010 0000 0000 003F 003D 
W8: 0FE0 0000 2053 5449 314D 3975 3630 3931 
W16: 3331 3130 3236 3536 0000 0000 0004 3031 
W24: 2F31 372F 7037 5354 4920 466C 6173 6820 
W32: 382E 302E 3020 2020 2020 2020 2020 2020 
W40: 2020 2020 2020 2020 2020 2020 2020 2001 
W48: 0000 0300 0000 0200 0000 0003 0F82 0010 
W56: 003F 0FE0 003D 0100 0FE0 003D 0000 0407 
W64: 0003 0078 0078 0078 0078 0000 0000 0000 
W72: 0000 0000 0000 0000 0000 0000 0000 0000 
W80: 0000 0000 7068 4004 4000 7068 0004 4000 
W88: 0000 0000 0000 0000 0000 0000 0000 0000 
W96: 0000 0000 0000 0000 0000 0000 0000 0000 
W104: 0000 0000 0000 0000 0000 0000 0000 0000 
W112: 0000 0000 0000 0000 0000 0000 0000 0000 
W120: 0000 0000 0000 0000 0000 0000 0000 0000 
W128: 0000 0000 0000 0000 0000 0000 0000 0000 
W136: 0000 0000 0000 0000 0000 0000 0000 0000 
W144: 0000 0000 0000 0000 0000 0000 0000 0000 
W152: 0000 0000 0000 0000 0000 0000 0000 0000 
W160: 0000 0000 0000 0000 0000 0000 0000 0000 
W168: 0000 0000 0000 0000 0000 0000 0000 0000 
W176: 0000 0000 0000 0000 0000 0000 0000 0000 
W184: 0000 0000 0000 0000 0000 0000 0000 0000 
W192: 0000 0000 0000 0000 0000 0000 0000 0000 
W200: 0000 0000 0000 0000 0000 0000 0000 0000 
W208: 0000 0000 0000 0000 0000 0000 0000 0000 
W216: 0000 0000 0000 0000 0000 0000 0000 0000 
W224: 0000 0000 0000 0000 0000 0000 0000 0000 
W232: 0000 0000 0000 0000 0000 0000 0000 0000 
W240: 0000 0000 0000 0000 0000 0000 0000 0000 
W248: 0000 0000 0000 0000 0000 0000 0000 0000 
[CFD] Init multi mode
[CFD] ..card supports max multi: 1
[CFD] ..setting multi mode to: 1
[CFD] ..OK
[CFD] ..testing multi-sector capability...
[CFD] ..DRQ issue not detected
[CFD] ..auto-enabling 256 sector mode
[CFD] ..multi-sector RW size: 256
[CFD] ..done
[CFD] Gayle timing: 
[CFD] ..current: 250ns
[CFD] Card identified OK
[CFD] Notify clients

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions