public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Problem accessing Sandisk CompactFlash Cards (Connected to the IDE bus)
@ 2004-08-29  8:01 Marc Strämke
  2004-08-29 13:38 ` Neil Horman
  0 siblings, 1 reply; 13+ messages in thread
From: Marc Strämke @ 2004-08-29  8:01 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1167 bytes --]

Hello all,

Iam running an embedded system out of Compactflash. Kernel version is 
2.4.27 (happens with all version i tried, 2.4.21-2.4.27).
The system is in use for a few month already, but i started to 
experience problems with a newer revision of the Compactflash Cards from 
Sandisk, when reading or writing to the device data gets corrupted and 
the following message is written to the logfiles:

hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }

hdb: drive not ready for command
hdb: irq timeout: status=0xd0 { Busy }

ide0: reset: master: error (0x0a?)


I tried setting a longer WAIT_DRQ timeout in ide.h, but that doesnt 
solve the problem (even with really large values, about 10 times the 
default).
One thing which is interesting about the new card is that it isnt 
detected by the kernel as a CFA device, but just a regular ATA device.

I attached the output of hdparm -I for both cards if that helps.
The IDE controller is a VIA VT82C586A/B/VT82C686/A/B/VT823x/A/C 
(according to /proc/pci).
lspci -vv output is attached too.

Thanks in Advance for any suggestions to this problem.

Marc Strämke



[-- Attachment #2: CF_CARD_IDS --]
[-- Type: text/plain, Size: 2057 bytes --]

Works: 
CompactFlash ATA device, with removable media
        Model Number:       SanDisk SDCFB-128
        Serial Number:      101913J0803Q3424
        Firmware Revision:  Vdi 1.24
Standards:
        Likely used: 4
Configuration:
        Logical         max     current
        cylinders       980     497
        heads           8       8
        sectors/track   32      63
        --
        bytes/track: 0  bytes/sector: 576
        CHS current addressable sectors:     250488
        LBA    user addressable sectors:     250880
        device size with M = 1024*1024:         122 MBytes
        device size with M = 1000*1000:         128 MBytes
Capabilities:
        LBA, IORDY(may be)(cannot be disabled)
        Buffer size: 1.0kB      bytes avail on r/w long: 4      Queue depth: 1
        Standby timer values: spec'd by Vendor
        R/W multiple sector transfer: Max = 1   Current = 1
        DMA: not supported
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=120ns  IORDY flow control=120ns


does not works:

ATA device, with non-removable media
        Model Number:       SanDisk SDCFB-128
        Serial Number:      109909E2004C5801
        Firmware Revision:  HDX 2.15
Standards:
        Supported: 10
        Likely used: 10
Configuration:
        Logical         max     current
        cylinders       980     980
        heads           8       8
        sectors/track   32      32
        --
        CHS current addressable sectors:     250880
        LBA    user addressable sectors:     250880
        device size with M = 1024*1024:         122 MBytes
        device size with M = 1000*1000:         128 MBytes
Capabilities:
        LBA, IORDY(may be)(cannot be disabled)
        Queue depth: 1
        Standby timer values: spec'd by Vendor
        R/W multiple sector transfer: Max = 1   Current = 1
        DMA: mdma0 mdma1 *mdma2
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=120ns  IORDY flow control=120ns

[-- Attachment #3: lspci --]
[-- Type: text/plain, Size: 5288 bytes --]

00:00.0 Class 0600: 1106:0691 (rev c4)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 8
	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M]
	Capabilities: [a0] AGP version 2.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:01.0 Class 0604: 1106:8598
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	Memory behind bridge: e4000000-e5ffffff
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.0 Class 0601: 1106:0686 (rev 40)
	Subsystem: 1106:0000
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.1 Class 0101: 1106:0571 (rev 06) (prog-if 8a [Master SecP PriP])
	Subsystem: 1106:0571
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Region 4: I/O ports at d000 [size=16]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.2 Class 0c03: 1106:3038 (rev 1a)
	Subsystem: 0925:1234
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, cache line size 08
	Interrupt: pin D routed to IRQ 12
	Region 4: I/O ports at d400 [size=32]
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.4 Class 0680: 1106:3057 (rev 40)
	Subsystem: 1106:3057
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Capabilities: [68] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0b.0 Class 0200: 10ec:8139 (rev 10)
	Subsystem: 10ec:8139
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (8000ns min, 16000ns max)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at d800 [size=256]
	Region 1: Memory at e7042000 (32-bit, non-prefetchable) [size=256]
	Expansion ROM at <unassigned> [disabled] [size=16K]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0c.0 Class 0200: 10ec:8139 (rev 10)
	Subsystem: 10ec:8139
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (8000ns min, 16000ns max)
	Interrupt: pin A routed to IRQ 11
	Region 0: I/O ports at dc00 [size=256]
	Region 1: Memory at e7040000 (32-bit, non-prefetchable) [size=256]
	Expansion ROM at <unassigned> [disabled] [size=16K]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:13.0 Class ff00: 10b5:9050 (rev 02)
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Region 0: Memory at e7041000 (32-bit, non-prefetchable) [size=128]
	Region 1: I/O ports at e000 [size=128]
	Region 2: Memory at e7000000 (32-bit, non-prefetchable) [size=256K]

01:00.0 Class 0300: 102c:00c0 (rev 64)
	Subsystem: 102c:00c0
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at e4000000 (32-bit, non-prefetchable) [size=16M]
	Expansion ROM at <unassigned> [disabled] [size=256K]


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2004-08-30 17:31 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-29  8:01 Problem accessing Sandisk CompactFlash Cards (Connected to the IDE bus) Marc Strämke
2004-08-29 13:38 ` Neil Horman
2004-08-29 16:06   ` Marc Strämke
2004-08-30  0:08     ` Neil Horman
2004-08-30  1:07       ` Marcelo Tosatti
2004-08-30  7:01         ` Marc Strämke
2004-08-30 14:23           ` Neil Horman
2004-08-30 15:49             ` Marc Strämke
2004-08-30 15:23               ` Alan Cox
2004-08-30 17:10               ` Neil Horman
2004-08-30 17:31                 ` Marc Strämke
2004-08-30 13:04         ` Alan Cox
2004-08-30  7:12       ` Meelis Roos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox