Toon posts:

[mdk8.2] dma wil niet / dvd playback stottert

Pagina: 1
Acties:

Verwijderd

Topicstarter
Even uitleggen:
onder linux werkt Xine niet naar behoren, ik mis frames (skipped: 0; discarded: 14 oid,) en systematisch, dus niet naar te kijken.
Waarom weet ik niet, maar onder Windows kan ik geen ge-encrypte dvd's kijken, heb hier maar 1 softplayer die het overigens op een andere compu prima deed.
Ik heb ook niet-geencrypte dvd's, en daarmee werkt het wel, onder windows98se...dus aan de hardware ligt het niet. (ge-encrypte doen het met xine wel, maar alle dvd's zijn schokkerig)

Dan misschien de instellingen :?

Mijn systeem:
asus k7v333 mobo/bios 1005, duron1GHz, 512MB pc2700 DDR SDRam, gf2mx, Wintv-fm, realtek nic, sblive5.1, maxtor 60GB (740DX oid), pioneer 105s dvdrom (RPC1)
Software/OS:
Mandrake 8.2 (kernel 2.4.18 als ik me niet vergis)
Win98se+varodvd

Ik kwam erachter dat mijn dma niet aanstaat,
na wat gezoek hier,...

in het bios heb ik de volgende instellingen:
dma=2, pio=4 voor de dvd
hd: dma=6 (? dacht ik), pio=4
verder heb ik gespeeld met pci2.1 legacy setting, en plug 'n play OS (aan en uitgezet)

Ok, met hdparm kom ik tot het volgende (als root):
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
/sbin/hdparm /dev/hda

/dev/hda:
 multcount    = 16 (on)
 I/O support  =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 nowerr  =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 7299/255/63, sectors = 117266688, start = 0
 busstate     =  1 (on)

/sbin/hdparm /dev/hdc

/dev/hdc:
 HDIO_GET_MULTCOUNT failed: Invalid argument
 I/O support  =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 HDIO_GET_NOWERR failed: Invalid argument
 readonly     =  1 (on)
 readahead    =  8 (on)
 HDIO_GETGEO failed: Invalid argument
 busstate     =  1 (on)

Toen heb ik dit geprobeerd:
code:
1
2
3
4
5
6
 /sbin/hdparm -d1 /dev/hdc

/dev/hdc:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)

Mag niet!!??!? :?

Nog even:
code:
1
2
3
4
5
6
7
 /sbin/hdparm -X34 -d1 /dev/hdc

/dev/hdc:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 setting xfermode to 34 (multiword DMA mode2)
Segmentation fault

Segfault, oi...

Deze ook geprobeerd:
code:
1
2
3
4
5
6
7
8
9
10
/sbin/hdparm -A 1 -c 3 -d 1 /dev/hdc

/dev/hdc:
 setting 32-bit I/O support flag to 3
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 setting drive read-lookahead to 1 (on)
 HDIO_DRIVE_CMD(setreadahead) failed: Input/output error
 I/O support  =  3 (32-bit w/sync)
 using_dma    =  0 (off)

En nu zegt hij dus:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
/sbin/hdparm /dev/hdc

/dev/hdc:
 HDIO_GET_MULTCOUNT failed: Invalid argument
 I/O support  =  3 (32-bit w/sync)
 unmaskirq    =  1 (on)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 HDIO_GET_NOWERR failed: Invalid argument
 readonly     =  1 (on)
 readahead    =  8 (on)
 HDIO_GETGEO failed: Invalid argument
 busstate     =  1 (on)

Dus ik kan alleen sommige instellingen veranderen,...

Voor hda geldt hetzelfde overigens, en die zou ik ook sneller willen hebben,...
code:
1
2
3
4
5
/sbin/hdparm -tT /dev/hda

/dev/hda:
 Timing buffer-cache reads:   128 MB in  0.56 seconds =228.57 MB/sec
 Timing buffered disk reads:  64 MB in 10.68 seconds =  5.99 MB/sec

Niet zo gaaf voor een ATA133 ide met bijbehorende disk...

Dan maar:
code:
1
2
3
4
5
6
 /sbin/hdparm -d1 /dev/hda

/dev/hda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)

Wat nu? :?

Dit is niet gaaf in elk geval...

Wie helpt?

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 14-06 09:12
Misschien een ontzettend overbodige vraag, maar doe je de hdparm commando's wel als root?
Probeer trouwens voor je DVD playback eens videolan of ogle
Veel succes!

Rookworst zonder R is ook worst.


Verwijderd

Topicstarter
Om mezelf te quoten:
Ok, met hdparm kom ik tot het volgende (als root):
Dus ja, als root.... :(

Ik heb om te proberen ff ogle geinstalled, net zo brak.
Die videolan client kan geen 5.1 geluid (voor mij 4.0) weergeven, bovendien lijkt het me niet dat hij het beter zal doen..

Wie heeft er nog tips?

Verwijderd

heb je CONFIG_BLK_DEV_IDEDMA_PCI wel aan staan in je kernel?

Verwijderd

Topicstarter
Hmm, als halve newbie weet ik zo even niet of
CONFIG_BLK_DEV_IDEDMA_PCI
aanstaat, maar aangezien dat in oudere Mandrake versies ook zo was, kan ik me niet voorstellen dat ze dat nu uitgezet hebben,...

Hoe kom ik daar achter, of dat wel of niet in mijn kernel zit?
Is daar een simpel commando voor?
Het is dus het standaard kernel van Mandrake 8.2,
ik zie in /usr/src/linux-2.4.18-6mdk/kernel
wel een filetje dma.c erbij staan, wat me te denken geeft dat ze het niet zijn vergeten....

Verwijderd

ik weet niet of de config van je kernel erbij wordt geleverd, maar als dat wel wordt gedaan dan moet je even:

grep CONFIG_BLK_DEV_IDEDMA_PCI /usr/src/linux-2.4.18-6mdk/.config

doen..

als dat

CONFIG_BLK_DEV_IDEDMA_PCI=y

oplevert dan zit dat in je kernel.

Verwijderd

Topicstarter
Aha, bedankt voor de opzoektip.
Ik heb dus ff het volgende gedaan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
$ cd /usr/src/linux-2.4.18-6mdk/
$ cat .config | grep IDEDMA
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_IDEDMA=y
CONFIG_IDEDMA_PCI_WIP=y
# CONFIG_BLK_DEV_IDEDMA_TIMEOUT is not set
CONFIG_IDEDMA_NEW_DRIVE_LISTINGS=y
CONFIG_IDEDMA_AUTO=y
CONFIG_IDEDMA_IVB=y

Dus het zit wel in het kernel.
Wat kan ik nog meer proberen/bekijken om het te fiksen?

Kan het bv zijn dat mijn mobo/chipset te nieuw is, en dus niet ondersteund zou worden?
Kan ik me nauwelijks voorstellen, de kt333 chipset is erg gelijk aan de kt266a, afgezien van misschien de ATA133 functionaliteit... :?

Meer help is dus welkom..

Verwijderd

Topicstarter
Nog ff wat dingetjes geprobeerd en bekeken:

met een extra toevoeging in lilo (waarna ik 'lilo' ook run)
code:
1
2
3
4
5
6
7
image=/boot/vmlinuz
      label=linux-dma
      root=/dev/hda7
      initrd=/boot/initrd.img
      append="quiet ide2=dma devfs=mount"
      vga=788
      read-only

schiet het nog niets op, en ook "hdc=dma" ipv "ide2" helpt niet.

De kernel config heb ik bekeken, relevante dingen hieronder:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set
# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
# CONFIG_BLK_DEV_IDEDISK_IBM is not set
# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
# CONFIG_BLK_DEV_IDEDISK_WD is not set
# CONFIG_BLK_DEV_COMMERIAL is not set
# CONFIG_BLK_DEV_TIVO is not set
CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDETAPE=m
CONFIG_BLK_DEV_IDEFLOPPY=y
CONFIG_BLK_DEV_IDESCSI=m

#
# IDE chipset support/bugfixes
#
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
CONFIG_BLK_DEV_ISAPNP=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_OFFBOARD=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_PCI_WIP=y
# CONFIG_BLK_DEV_IDEDMA_TIMEOUT is not set
CONFIG_IDEDMA_NEW_DRIVE_LISTINGS=y
CONFIG_BLK_DEV_ADMA=y
CONFIG_BLK_DEV_AEC62XX=y
CONFIG_AEC62XX_TUNING=y
CONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
# CONFIG_AMD74XX_OVERRIDE is not set
CONFIG_BLK_DEV_CMD64X=y
CONFIG_BLK_DEV_CMD680=y
CONFIG_BLK_DEV_CY82C693=y
CONFIG_BLK_DEV_CS5530=y
CONFIG_BLK_DEV_HPT34X=y
# CONFIG_HPT34X_AUTODMA is not set
CONFIG_BLK_DEV_HPT366=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_PIIX_TUNING=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_PDC_ADMA=y
CONFIG_BLK_DEV_PDC202XX=y
# CONFIG_PDC202XX_BURST is not set
# CONFIG_PDC202XX_FORCE is not set
CONFIG_BLK_DEV_SVWKS=y
CONFIG_BLK_DEV_SIS5513=y
CONFIG_BLK_DEV_SLC90E66=y
CONFIG_BLK_DEV_TRM290=y
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_IDE_CHIPSETS=y

Dus DMA support staat aan, de enige VIA chipset staat in de voorlaatste regel hierboven,...

Wat nu nog?? :?

Verwijderd

Topicstarter
ik vermoed dat mijn probleem is dat mijn chipset te nieuw is, nl in
/usr/src/linux/drivers/ide/via82cxxx.c
vind ik:
* VIA IDE driver for Linux. Supports
*
* vt82c576, vt82c586, vt82c586a, vt82c586b, vt82c596a, vt82c596b,
* vt82c686, vt82c686a, vt82c686b, vt8231, vt8233
en mijn southbridge is de vt8233a, en ik vermoed dat de string dan
niet herkend wordt, en er gewoon allerlei defaults worden ingesteld...

Kan dat, of is dat onzin??
Commentaar graag!
En hoe lost ik het op als dat echt zo is?

Verwijderd

Als dat het geval is zou je moeten kijken naar een nieuwere versie van de Linux-kernel. In de changelogs van de kernel zie je vanzelf dan wel verschijnen wanneer je chipset wel wordt gesupport. Daarna is het een kwestie van een kernel bakken, installeren, bootable maken en gaan met die banaan :) De laatste 2.4 versie is overigens 2.4.19-pre5

  • LollieStick
  • Registratie: Juni 2001
  • Laatst online: 20-05 23:59
staat VIA chipset support en DMA in je kernel wel aan. Misschien is het handig om local APIC aan te zetten, dan gebruikt ie altijd het maximale van je schijf en hoef je ook niet met HDParm lopen kloten.

Ik kan me herinneren dat DMA voor VIA chipsets standaard uit staat wegens incompatibiliteits problemen op sommige chipsets (kan leiden tot beschadigde HDD's) Probeer je kernel eens zelf te compilen en de benodigde dingen aan te zetten (staat hierboven dus). Overigens, support de VIA driver je chipset wel.

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Dat je DVD playback stottert met de meegeleverde Xine 0.9.8 van MDK 8.2 klopt wel.. ik had (ja, had) een goed lopende 97 die met de upgrade van mdk8.0 naar 8.2 helaas ook naar 0.98 ging, ik had dat probleem dus ook..

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Verwijderd

Topicstarter
janjanjansen,
thanks voor de tip, ik was er ook al bang voor dat dat de oplossing zou zijn,.... vervelend, want dan moet ik veel doen (bv ook de nvidia driver zelf compilen etc). Maar ja, al doende leert men.

LinuxUser,
als je nog zin en tijd hebt, lees dan de codes door die ik hierboven gepost heb, dan zul je zien dat de via drivers en dma etc in de kernel aanstaan/gecompiled zijn ed.
Dat is het dus niet,....... helaas...

Local APIC,..?
Geloof dat ik zoiets in het bios tegenkwam, zal zo nog ff kijken.
edit:
in /var/log/dmesg kom ik het volgende tegen:
[code]Kernel command line: auto BOOT_IMAGE=linux ro root=307 quiet devfs=mount
Found and enabled local APIC!
Initializing CPU#0
Detected 1009.017 MHz processor.[/code]
Dus dat is het ook al niet...


Op de bak van mijn vriendin met kt133 (zonder a, dus 100MHz fsb) heb ik nooit wat met hdparm gedaan (kende dat nog helemaal niet), heb gisteren om te controleren ff hdparm -tT /dev/hda gedaan en kwam met disk reads op 26MB/s dus erg aardig. Het staat dus niet default uit of zo...
Het laatste wat je zegt is wat ik ook denk, nl dat de kernel mijn chipset niet support...

BackSlash32 (+),
Hoe heb jij het opgelost? Ik bedoel, dat je dvd met xine0.9.8 stotterde,... gewoon de oude weer geinstalleerd?
Ik heb overigens ook ogle geprobeerd, met hetzelfde resultaat.
En bovendien, dma moet toch aankunnen? Beetje arielekst, dat als ik over het netwerk iets kopieer, en mijn snelste systeem de bottleneck is, ipv het netwerk of mijn ouwe p200..... :(

Allemaal bedankt voor jullie commentaar, als iemand nog meer ideeen heeft zijn die altijd welkom, verder ga ik met bovenstaande tips op zoek naar een oplossing, die ik wel post (of de doodlopende sporen, waarvan ik er voorlopig meer heb gezien..)

Verwijderd

Topicstarter
En het gaat weer (wat) beter,....

ha:
code:
1
2
3
4
5
# hdparm -tT /dev/hda

/dev/hda:
 Timing buffer-cache reads:   128 MB in  0.55 seconds =232.73 MB/sec
 Timing buffered disk reads:  64 MB in  1.61 seconds = 39.75 MB/sec

That's more like it!!!

Ok, even 'hoe het gegaan is'....

-in /var/log/dmesg vond ik de vermelding dat mijn south-bridge niet herkend werd (unknown southbridge), met een email adres.
Nou was het paasmaandag rond 14u, dus gemaild en lekker de hele dag de deur uit met dat stralende weer (weet niet hoe het in Holland was, hier in Zurich was het picobello.. ;) ).
's Avonds pas laat gekeken of er hier nog iemand opmerkingen of tips had, en mail gechecked. Jawel hoor, antwoord:
there's a patch!
plus de patchfiles, of liever gezegd, file verschillen tussen de standaard 2.4.18 kernel en de nieuwe met via kt333 chipset herkenning (incl ATA133 etc). Zal ik dat hier onder bijvoegen voor wie het nodig mocht hebben?

Dus ik de files veranderen (met de hand, leek me niet zoveel, had achteraf graag een progje gehad om het erin te zetten, maar goed...), kernel gebakken, blijft mijn scherm zwart. Het was al laat, vooral de kernel opties uitzoeken (had ik nog nooit gedaan, vandaar) duurde lang, dus nachtje over geslapen.
Nu de oude kernel gebruikt om te starten, gekeken of ik iets van vga oid gemist had bij de config, niets lijkt te ontbreken, dus in lilo.conf maar vga=normal (ipv vga=788 oid) gekozen.
En jawel hoor, hij boot.

X start, hdparm vertelt me dat hij automatisch op DMA=1 staat, en ik heb een hoge throughput.

Maar Xine doet het ff niet, mijn cd en floppy icoontjes zijn van mijn desktop af, kan wel de dvd mounten, maar xine klaagt dat hij geen /dev/dvd mag lezen..... :(

Nog meer gepruts dus, maar het gaat de goede kant op...

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 12-08 21:37

odysseus

Debian GNU/Linux Sid

Op woensdag 03 april 2002 19:07 schreef aRTee het volgende:
Dus ik de files veranderen (met de hand, leek me niet zoveel, had achteraf graag een progje gehad om het erin te zetten, maar goed...)
Aangenomen dat hij je een patch-file heeft gestuurd: daarvoor is het programma 'patch'. Dan is het een kwestie van een enkel commando om alle bestanden aan te passen :).

offtopic:
Prettig om te zien dat iemand echt moeite doet om zijn probleem op te lossen en zelf actief aan de slag gaat in plaats van het aan de NOS'ers over te laten :)!

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

Topicstarter
Aargh, dus met een commando had ik het ook kunnen doen??? :(
Wel fijn als iemand de zaken zelf uitzoekt, maar minder als ik het zelf ben, en het kost me veel tijd... :'(
:)

Naja, ben nu kernel aan het compilen met standaardinstellingen van MDK8.2,
als daar niks misgaat zal ik er nog eens eentje doen die is aangepast,.. eerst maar zorgen dat mijn setup precies zo wordt als de standaard distro maar met DMA, en als alles dan verder werkt, gaan we eens optimaliseren.

En ja, natuurlijk moet ik alles zelf uitzoeken, ben hier de enige sukkel die te nieuwe hardware koopt... :D
(dwz de enige die zulke nieuwe hardware niet aankan en het toch koopt, vandaar: sukkel...)

Verwijderd

Topicstarter
Okee, het werkt!!!!

Maar ik heb nogal geprutst....
De kernelcompile wilde absoluut niet, ik wilde het netjes met een kernel.tar.gz van kernel.org doen,...
Compile-errors, etcetc.

Begreep na een tijdje dat het waarschijnlijk beter zou zijn de mandrake kernel.source.rpm te gebruiken.
Dan kon ik meteen ook precies de instellingen van MDK overnemen.

Het wordt aangeraden om bij Mandrake voordat je 'make x|menuconfig' doet
make mrproper
te doen.
Daarna ging de compile beter (goed dus), maar ik had wel wat problemen met het compileren van de modules.
(heb ook nog andere versie van gcc gedownd, ipv de 2.96 die meegeleverd is, maar daarmee gingen alle dependencies de mist in van een hele zooi geinstalleerde dingen..)

De errors waren aangeduid bij iets van isdn dus ik dacht, maaktnietuit.
Hij wilde ook wel booten, maar GEEN modules laden.
Dus geen internet, geen sound, (zeker geen dvd) etcetc.
:( :'(

Toen ging het allemaal mis, ik kon niet meer normaal booten, wel met diskette, dus opnieuw lilo.conf aangepast..

Wilde nog niet, dus toen maar opnieuw de install cd erdoor.

Werkte het nog niet, behalve die nieuwe die zonder modules ging.

Toen heb ik in /boot gevonden dat de link van vmlinuz naar de verkeerde file ging.
Gecorrigeerd,
en toen dacht ik: de modules moeten eigenlijk hetzelfde zijn. (heb voordien nog een keertje 'make modules_install' gedaan, je moet wat, maar dat hielp ook niet)
Dus toen uiteindelijk:
cd /lib/modules
ln -s 2.4.18-6mdk 2.4.18-aRTee
(naja, zo heetienietecht, maargoed)
en toen wilde het wel!!!!

Dus nu nog een module waarbij ik een hele zooi weglaat, dan start de boel misschien wat sneller,... maar voor nu,
DVD's kijken!!!
:D

/me is eindelijk blij, en eigenlijk ook wel trots dat ik het zover heb weten te schoppen,.. ben ik nou geen newbie meer.. :P
Pagina: 1