Say you wanted to migrate from vortex86sx to vortex86dx. And there's a good reason to do so, you get floating point coprocessor and triple your cpu frequency. So you get yourself an eBox-3300 to replace your old eBox-2300SX. However it was not as easy as that.
First, compactflash is now secondary ide controller, thus /dev/hdc1 instead of /dev/hda1. Furthermore even through the peripherals appear exactly the same, you suddenly get DMA timeouts. Apparently it812x driver for the embedded IT8212 controller is rather buggy and wants to select some DMA mode even if BIOS recommends PIO and even with the kernel patch from DM&P that worked just fine on vortex86sx.
Thus here's a solution for all the hungry embedded linuxers out there.
Go to BIOS, find IDE settings and set DMA to lowest (and slowest) possible value. It sounds like enabling DMA when you mean to disable it, however linux is smarter than you are and it will figure out that lowest level of DMA is worse than auto (and thus highest) level of PIO and happily choose PIO for you.
That's all!
Links:
Vortex86SX and vortex86dx can be found here: DM&P (Taiwan)
EBox-3300 and eBox-2300SX can be found here: CompactPC (related to DM&P)
Friday, 30 January 2009
Subscribe to:
Post Comments (Atom)

1 comments:
An other way to turn off DMA and to get rid of eventual system halts on Vortex86DX, is to use "ide_core.nodma=1.0" Linux kernel parameter.
Note, that older Linux kernels required an other parameter format to disable DMA: "ide=nodma".
Post a Comment