Dinesh Nair schrieb am 25. Juli 2004:
>> set hw.ata.atapi_dma="0"
>> set hw.ata.ata_dma="0"
>well done. it obviously fixes the problem you had.
Hm, when I searched the mailing-list archives, I saw several mails
with exactly the same problem using a CF-card on a Soekris net4801.
The only "solution" was trying different cards and/or brands.
But the cause is the ATA driver in FreeBSD, which does not always
correctly identify the hardware capabilities. Every Soekris related
CF-card problem had the boot-messages included and those clearly
stated, the CF card was (wrongly) addressed/recognized as WDMA2.
This at least gave me a clue and when I compared the boot-messages to
those of the working IBM microdrive and those of the users in the
mailing-list, I saw that my microdrive and their working cards were
addressed as PIO (PIO3, sometimes PIO4). So I "just" needed to google
around in order to find parameters that prohibited the kernel from
ever using DMA.
Since DMA or PIO is quite irrelevant on a 6 MB OS, I thought it might
be a good idea to disable DMA in upcoming m0n0wall releases (or at
least the releases intended for CF-card usage).
>sometimes, it is difficult to debug a problem when it can't be reproduced.
I was simply amazed by the fact, that a clueless *BSD newbie like me
could come up with a work-around. And that everybody obviously
overlooked the "WDMA2" in the CF-card issues.
Please don't get me wrong: I am amazed by m0n0wall and certainly do
not intend any pun and/or bashing. As a long-term linux-user I had to
admit, that the "ready-to-use" m0n0wall out-classed my heavily
customized linux-router by far. I'm really wondering, why I put all
that work into my linux-router, when I could have had all this and
much more, if I only had discovered m0n0wall earlier :-/
Kind regards from Aachen (Germany)