public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Marc Strämke" <marcstraemke.work@gmx.net>
To: linux-kernel@vger.kernel.org
Subject: Re: Problem accessing Sandisk CompactFlash Cards (Connected to the IDE bus)
Date: Mon, 30 Aug 2004 17:49:40 +0200	[thread overview]
Message-ID: <cgvi5l$t0d$1@sea.gmane.org> (raw)
In-Reply-To: <41333879.2040902@redhat.com>

> Tracing back through the code it looks to me like we get the ATA disk 
> print in the event that this test in do_identify:
> /*
>  * Check for an ATAPI device
>  */
>  if (cmd == WIN_PIDENTIFY) {
> 
> that would explain why the drive_is_flashcard test is getting skipped, 
> why setting removable is making no difference, and why your card is 
> being identified as an ATA device.  It looks as though the WIN_PIDENTIFY 
> command is sent down to this routine from ide_probe_for_drive in this 
> snip of code:
> 
> /* if !(success||timed-out) */
>                 if (do_probe(drive, WIN_IDENTIFY) >= 2) {
>                         /* look for ATAPI device */
>                         (void) do_probe(drive, WIN_PIDENTIFY);
>                 }
Both Cards, the old and the new on dont get to the ATAPI probing (which 
seems correct to me, or is compactflash an ATAPI device???)


> 
> So it would seem that WIN_PIDENTIFY is issued only if a WIN_IDENTIFY 
> command fails with an rc greater than 2.  I would suggest instrumenting 
WIN_IDENTIFY returns a rc of 0 (for success) with both the old and the 
new card. Still the old ones gets detected as CFA!


One thing i did notice when tracing these functions, is that the new 
card returns 0x44a in drive->id->config, while the old one returns 
0x848a, according to the manual from 
SanDisk(http://www.sandisk.com/pdf/industrial/ProdManualIndustrialGradeATAv2.6.pdf) 
Should only be returned in memory mapped(cardbus/pc-card) mode, and not 
in True IDE mode, which the card is appearently running, otherwise the 
bios couldnt not boot from it, nor would the electrical interface be 
compatible (if i get the manual right). That is imo why hdparm -I doesnt 
detect the card as beein removable and Compactflash too, i looked as the 
sourcode of hdparm, and it seems to read the ATA configuration registers 
trough a proc file, and interpret it directly (without intervention of 
the kernel).
So the data the does return indeed marks it as an ATA harddisk, and not 
as a compactflash card, the real question then is why doesnt it work as 
a harddisk, which according to the specifications it should? Iam not 
really experienced in the ide stuff, so iam not sure what the 
CompactFlash detection in linux changes in behaviour.
I can get the kernel to report it as a "CFA DISK Drive" in dmesg by 
forcing the flags i mentioned before, but the error is exactly the same.

Thx for your help,
Marc


  reply	other threads:[~2004-08-30 15:48 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='cgvi5l$t0d$1@sea.gmane.org' \
    --to=marcstraemke.work@gmx.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox