lkml.org 
[lkml]   [2004]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Problem accessing Sandisk CompactFlash Cards (Connected to the IDE bus)
On Sun, Aug 29, 2004 at 08:08:01PM -0400, Neil Horman wrote:
> Marc Strämke wrote:
>
> >Neil Horman wrote:
> >
> >>Its been awhile, but the last time that I looked at the relevant
> >>code, there was a table of drive vendor/device strings that were used
> >>to identify CFA devices and differentiate them from regular ide
> >>devices. If this particular device isn't a match in that table, it
> >>would be mis-identified, and that could be leading to your above
> >>problem.
> >>Neil
> >>
> >
> >Thx for the suggestion. The only table i could find is in
> >drive_is_flashcard, which is only checked if drive->removable is set,
> >which is not the case with the newer card (but is with the old one).
> >Another thing which is weird is that the old card returns an
> >id->config value of 0x848a which according to manuals from SanDisk is
> >for a Compactflash card NOT running in True Ide mode, but instead in
> >memory mapped IO mode (iam no expert for Compactflash, so i dont even
> >know the exact difference), but as far as i can tell are both cards
> >wired by the IDE adapter so that they should run in True IDE mode, and
> >if i understand the Compactflash specification correctly, this is the
> >only mode of operation which is electrically compatible with the
> >IDE/ATA bus, isnt it?
> >I tried forcing both the drive->removable and drive->is_flash flags to
> >the true, my dmesg output then shows me the card as a CFA DISK drive,
> >but i still get the same errors when reading or writing from/to the
> >device.
> >
> >TIA for any further hints,
> >Marc
> >
> >-
> >To unsubscribe from this list: send the line "unsubscribe
> >linux-kernel" in
> >the body of a message to majordomo@vger.kernel.org
> >More majordomo info at http://vger.kernel.org/majordomo-info.html
> >Please read the FAQ at http://www.tux.org/lkml/
>
> What kernel are you looking at? I'm looking at 2.4.21, and it seems to
> get checked more-or-less universally. Also, I noticed this:
> || !strncmp(id->model, "SunDisk SDCFB", 13) /* SunDisk */
> I've not heard of SunDisk. SunDisk->SanDisk == Typo?
> Are you using a SanDisk CFA card? Could this perhaps be part of your issue?

Indeed this is a typo but has been fixed on 2.4.26:

if (drive->removable && id != NULL) {
if (id->config == 0x848a) return 1; /* CompactFlash */
if (!strncmp(id->model, "KODAK ATA_FLASH", 15) /* Kodak */
|| !strncmp(id->model, "Hitachi CV", 10) /* Hitachi */
|| !strncmp(id->model, "SunDisk SDCFB", 13) /* old SanDisk */
|| !strncmp(id->model, "SanDisk SDCFB", 13) /* SanDisk */
|| !strncmp(id->model, "HAGIWARA HPC", 12) /* Hagiwara */
|| !strncmp(id->model, "LEXAR ATA_FLASH", 15) /* Lexar */
|| !strncmp(id->model, "ATA_FLASH", 9)) /* Simple Tech */
{

I haven't got much of a clue about IDE, but I can see the newer card supports
DMA, and the older doesnt, but you are probably not using DMA on that? whats
the output of "hdparm /dev/hda".

Also can you show us dmesg from both old and new cards.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:05    [W:0.079 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site