Joshua Kwan wrote:



firesong:/home/joshk# hdparm /dev/hda

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 58140/16/63, sectors = 58605120, start = 0
firesong:/home/joshk# hdparm -d1 /dev/hda

/dev/hda:
 setting using_dma to 1 (on)
 using_dma    =  1 (on)

So we've established that your controller doesn't seem to want to do DMA. You seem to be using the piix driver, correct? I do, too...
Could you post a dmesg from 2.4.27-1-686, and also try some older kernels to see if this is a regression and not a bug that has always been there? (Hint: kernel-image-2.4.26-1-686)


Behold piix.c, 2.4.27:

        /* UDMA 33 capable */
        case PCI_DEVICE_ID_INTEL_82371AB: <--- this is you
        case PCI_DEVICE_ID_INTEL_82443MX_1:
        case PCI_DEVICE_ID_INTEL_82451NX:
        case PCI_DEVICE_ID_INTEL_82801AB_1:
            return 1;

So it SHOULD be working.

Also attach the output from cat /proc/ide/piix.
Note, if it doesn't exist, piix refused to handle your device, which sounds like the older problem (except that it's fixed now!)



I've not sent this to BTS. If you think it should be there, feel free.

I'm probably as puzzled about this as you. What's the difference between these?
Dolphin:~# lspci
0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
0000:00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
0000:00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
0000:00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
0000:00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
0000:00:0e.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro AGP 1X/2X (rev 5c)
Dolphin:~#


ns:~# lspci
0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
0000:00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
0000:00:0d.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 26)
0000:00:0f.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 05)
0000:00:12.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
0000:00:12.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:12.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
0000:00:12.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
0000:00:14.0 VGA compatible controller: Cirrus Logic GD 5480 (rev 23)
ns:~#



I used to run 2.4 kernels on Dolphin, never noticed a problem (except lack of RAM). It's now running 2.6.7-1-686, the same kernel that's not detecting the ATA drive on ns.



<takes a soup break>

ns:~# hdparm -t /dev/hda{,,}

/dev/hda:
 Timing buffered disk reads:   86 MB in  3.00 seconds =  28.67 MB/sec

/dev/hda:
 Timing buffered disk reads:   78 MB in  3.02 seconds =  25.83 MB/sec

/dev/hda:
 Timing buffered disk reads:   88 MB in  3.03 seconds =  29.04 MB/sec
ns:~# hdparm  /dev/hda

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 14593/255/63, sectors = 234441648, start = 0
ns:~#

_That_ is about what I expect, and I've changed my mind about not sending this to the bts.

Here's what I did:
lspci
find /lib/modules/$(uname -r) -name piix.o
ls /lib/modules/2.4.27-1-686/kernel/drivers/ide/pci/piix.o
lsmod
lsmod
rmmod ide-cd
rmmod ide-disk ide-detect ide-cd
lsmod
rmmod ide-core cdrom
modprobe piix
dmesg | tail
hdparm -t /dev/hda
modprobe ide-disk
hdparm -t /dev/hda
lsmod
modprobe ide-detect
dmesg | less
hdparm -t /dev/hda
hdparm -t /dev/hda{,,}
hdparm  /dev/hda


The drive didn't detect until I loaded ide-detect. I guess that's logical, but something should pull something in....


Here are the kernel messages:
Uniform CD-ROM driver unloaded
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 00:12.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0x1008-0x100f, BIOS settings: hdc:DMA, hdd:pio
hda: ST3120022A, ATA DISK drive
blk: queue d8a97c80, I/O limit 4095Mb (mask 0xffffffff)
hdc: Creative CD-ROM CD4832E, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: 234441648 sectors (120034 MB) w/2048KiB Cache, CHS=14593/255/63, UDMA(33)
/dev/ide/host0/bus0/target0/lun0: p1
ns:~#



For completeness I'd like to know what I did wrong. However, if I can get a working 2.6 kernel I'll be happier.








Reply via email to