Hi,
I've just upgraded to Ubuntu breezy on my old Athlon 1100 machine, and got to say, I'm impressed with the way this distro is developing.
But I've got a problem with DMA appearing to be disabled on the hard disk drives. Apologies in advance - this might be quite a long thread.
Basic spec of machine -
Athlon 1100 / UDMA66 / 256MB RAM / 2 x 20GB Seagate drives, using LVM / 2 x optical drives.
The correct VIA driver appears to be loaded:
Code:
kevin@boxroom:~$ sudo lsmod | grep via
via686a 17816 0
i2c_sensor 3456 1 via686a
i2c_core 19728 3 i2c_acpi_ec,via686a,i2c_sensor
via_agp 9472 1
agpgart 32328 2 nvidia,via_agp
via82cxxx 12188 1
ide_core 125268 4 ide_cd,ide_disk,ide_generic,via82cxxx
Here's a snippet from dmesg:
Code:
....
[4294704.722000] hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
[4294704.722000] hdb: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=39102336, sector=39102336
[4294704.722000] ide: failed opcode was: unknown
[4294704.722000] hda: DMA disabled
[4294704.722000] hdb: DMA disabled
[4294704.872000] ide0: reset: success
[4294705.045000] hdb: task_in_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
[4294705.045000] hdb: task_in_intr: error=0x10 { SectorIdNotFound }, LBAsect=39167615, sector=39102336
[4294705.045000] ide: failed opcode was: unknown
....
[
checking with hdparm:
Code:
kevin@boxroom:~$ sudo hdparm /dev/hda
/dev/hda:
multcount = 0 (off)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 38792/16/63, sectors = 39102336, start = 0
which seems to suggest DMA is OFF, but issuing hdparm with the -i extension:
Code:
kevin@boxroom:~$ sudo hdparm -i /dev/hda
/dev/hda:
Model=ST320014A, FwRev=3.07, SerialNo=5JZAY1H4
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=17475/15/63, CurSects=16513875, LBA=yes, LBAsects=39102336
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 *udma4 udma5
AdvancedPM=no WriteCache=disabled
Drive conforms to: device does not report version:
* signifies the current active mode
and it looks like DMA is actually ON.
But, testing drive throughput seems to give pathetic results:
Code:
kevin@boxroom:~$ sudo hdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 10 MB in 4.34 seconds = 2.30 MB/sec
I've tried setting DMA on in the /etc/hdparm.conf file, but seen no difference.
I'm a bit confused. Is DMA on or not, and is the disk throughput shown 'normal' for a c. 2001 UDMA66 machine? The machine itself isn't exactly quick, even compared to an old Pentium 450!
Sorry for the length of the post, but any thoughts would be welcome!