[Debian] Krijg DMA niet aan de praat

Pagina: 1
Acties:

  • Kluus
  • Registratie: Oktober 2003
  • Laatst online: 23:36

Kluus

Gang is alles

Topicstarter
Ik gebruik op mijn desktop sinds kort Debian Sarge met kernel 2.6.8, en ik ben er (toen ik een DVD wou afspelen) achter gekomen dat DMA niet werkt. Wanneer ik hdparm -d1 /dev/hdx doe krijg ik de volgende output:

gkDesktop:/usr/src/linux# hdparm -d1 /dev/hda
code:
1
2
3
4
/dev/hda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)


Na flink op zoek te zijn geweest blijkt dit erg vaak voor te komen. Maar meestal wordt dit echter opgelost doordat diegenen vergeten zijn support voor hun chipset mee te nemen in hun kernel. Mijn betreffende kernel config is echter:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
# CONFIG_IDEPCI_SHARE_IRQ is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
CONFIG_BLK_DEV_HPT366=m
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
CONFIG_BLK_DEV_VIA82CXXX=m
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

Voor mijn Abit AT7-MAX2 zijn dus zowel de HPT drivers als de VIA drivers (als module) geinstalleerd. Ik heb dit ook al als "y" geprobeert, en dat werkte evenmin, dus dat moet denk ik niets uitmaken (en ja, de modules zijn geladen ;)).

Mijn laptop heeft overigens hetzelfde probleem. Is er misschien een kernel optie die ik misschien aan heb staan die het gebruik van dma dwarsboomt, of zou er iets anders aan de hand zijn? :/

  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

wordt die driver ook gebruikt door je kernel? (zie dmesg)

It sounds like it could be either bad hardware or software


  • Kluus
  • Registratie: Oktober 2003
  • Laatst online: 23:36

Kluus

Gang is alles

Topicstarter
Hij gebruikt voor dma volgens mij de Highpoint Technology driver, ik krijg namelijk o.a. deze output met dmesg:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
VP_IDE: IDE controller at PCI slot 0000:00:11.1
ACPI: PCI interrupt 0000:00:11.1[A] -> GSI 20 (level, low) -> IRQ 20
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt8235 (rev 00) IDE UDMA133 controller on pci0000:00:11.1
VP_IDE: port 0x01f0 already claimed by ide0
VP_IDE: port 0x0170 already claimed by ide1
VP_IDE: neither IDE port enabled (BIOS)
HPT374: IDE controller at PCI slot 0000:00:13.0
ACPI: PCI interrupt 0000:00:13.0[A] -> GSI 18 (level, low) -> IRQ 18
HPT374: chipset revision 7
HPT37X: using 33MHz PCI clock
HPT374: 100% native mode on irq 18
    ide2: BM-DMA at 0xd000-0xd007, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0xd008-0xd00f, BIOS settings: hdg:pio, hdh:pio
ACPI: PCI interrupt 0000:00:13.1[A] -> GSI 18 (level, low) -> IRQ 18
HPT37X: using 33MHz PCI clock
    ide4: BM-DMA at 0xe400-0xe407, BIOS settings: hdi:pio, hdj:pio
    ide5: BM-DMA at 0xe408-0xe40f, BIOS settings: hdk:pio, hdl:pio

Mij zelf zegt het eerlijk gezegt niet zo heel veel... Heeft t misschien met UDMA 133 te maken dat het niet werkt? Ik zal nog eens proberen de VIA of de HPT driver te disabelen, misschien dat deze een conflict veroorzaken ofzo?

  • Kluus
  • Registratie: Oktober 2003
  • Laatst online: 23:36

Kluus

Gang is alles

Topicstarter
Ik heb even een boot met de standaard debian 2.6.8 kernel, en hier merk ik nu het volgende (belangrijke) verschillen op:

Dit is hoe de default kernel van debian het doet, netjes, duidelijk, en bovenal, het werkt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 0000:00:11.1
ACPI: PCI interrupt 0000:00:11.1[A] -> GSI 20 (level, low) -> IRQ 209
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt8235 (rev 00) IDE UDMA133 controller on pci0000:00:11.1
    ide0: BM-DMA at 0xb400-0xb407, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xb408-0xb40f, BIOS settings: hdc:DMA, hdd:DMA
hda: Maxtor 6Y120L0, ATA DISK drive
hdb: MAXTOR 4K040H2, ATA DISK drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 128KiB
hda: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(133)
 /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4
hdb: max request size: 128KiB
hdb: 78198750 sectors (40037 MB) w/2000KiB Cache, CHS=65535/16/63, UDMA(100)
 /dev/ide/host0/bus0/target1/lun0: p1
hdc: PLEXTOR CD-R PX-W4824A, ATAPI CD/DVD-ROM drive
hdd: _NEC DV-5700A, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15


Mijn eigen kernel slaat hier echter een paar stapjes over, namelijk het VP_IDE gebeuren, de rest doet ie wel maar met een heleboel nutteloze zooi er tussen door met betrekking tot de muis en dergelijken:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
hda: Maxtor 6Y120L0, ATA DISK drive
hdb: MAXTOR 4K040H2, ATA DISK drive
hdc: PLEXTOR CD-R PX-W4824A, ATAPI CD/DVD-ROM drive
hdd: _NEC DV-5700A, ATAPI CD/DVD-ROM drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=65535/16/63
 /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4
hdb: max request size: 128KiB
hdb: 78198750 sectors (40037 MB) w/2000KiB Cache, CHS=65535/16/63
 /dev/ide/host0/bus0/target1/lun0: p1


DAN komt er een helehoop zooi, met muizen enzo, en tussendoor ook wat dingen die nu van belang zijn als hdd enzo:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
mice: PS/2 mouse device common for all mice
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
input: AT Translated Set 2 keyboard on isa0060/serio0
NET: Registered protocol family 2
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 65536)
NET: Registered protocol family 1
NET: Registered protocol family 15
NET: Registered protocol family 8
ACPI: (supports S0 S1 S4 S5)
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 152k freed
Adding 976744k swap on /dev/hda2.  Priority:-1 extents:1
EXT3 FS on hda3, internal journal
hdc: ATAPI 40X CD-ROM CD-R/RW drive, 4096kB Cache
Uniform CD-ROM driver Revision: 3.20
hdd: ATAPI 40X DVD-ROM drive, 256kB Cache
nvidia: module license 'NVIDIA' taints kernel.
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module  1.0-6629  Wed Nov  3 13:12$kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda4, internal journal
EXT3-fs: mounted filesystem with ordered data mode.


En dan lijkt het of ie ineens denkt van OJA! Ik moest mn VP_IDE gebeuren nog opknappen!!

code:
1
2
3
4
5
6
7
8
VP_IDE: IDE controller at PCI slot 0000:00:11.1
ACPI: PCI interrupt 0000:00:11.1[A] -> GSI 20 (level, low) -> IRQ 20
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt8235 (rev 00) IDE UDMA133 controller on pci0000:00:11.1
VP_IDE: port 0x01f0 already claimed by ide0
VP_IDE: port 0x0170 already claimed by ide1
VP_IDE: neither IDE port enabled (BIOS)


Wat natuurlijk mis gaat. :/

Mijn DMA probleem lijkt dus niet iets te maken te hebben met drivers die er niet zijn ofzo, maar het lijkt wel of mijn kernel alles in een verkeerde volgorde doet. Weet iemand hoe het kan dat mijn kernel zon gigantische puinhoop is? Ik begin langzamerhand een beetje wanhopig te worden. :/

Hetzelfde gaat overigens mis op mijn laptop (op dezelfde manier) overeenkomst is dat ik de kernel-source van debian heb gebruikt, die met de nodige standaard instellingen kwam. Deze standaard kernel gaat verder uit van een initrd, en de mijne niet. Heb ik ergens een optie laten staan, die ik in mijn custom kernel uit zou moeten zetten ofzo?

[ Voor 90% gewijzigd door Kluus op 25-01-2005 01:29 ]