Toon posts:

[Mdk 8.2] cd-brander: dma wil niet aan met hdparm

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Bij het branden viel me op dat m'n cpu load erg hoog is (>50%).
Ik heb zo het vermoeden dat dma dus niet aan staat, maar hdparm wil niet,...

Sys: Asus a7v333, duron1GHz, ide0: 60GB maxtor, ide1 master: Philips 12x8x32x burner, ide1 slave: pioneer dvd
OS: Mandrake 8.2 (gepatched kernel voor dma ondersteuning, deed mdk8.2 niet 'out of the box', mobo te nieuw).

Ik ben via de search alleen dit tegengekomen:
X-cd-roast slokt alle resources op
en [rml][ Gentoo]DVD stottert na SCSI-Emulatie[/rml]
maar daar kan ik alleen uit opmaken dat je hdparm gewoon moet gebruiken; dat wil alleen niet:

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
[root@zurich robert]# hdparm /dev/hda

/dev/hda:
 multcount    = 16 (on)
 I/O support  =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 7299/255/63, sectors = 117266688, start = 0
 busstate     =  1 (on)
[[root@zurich robert]# hdparm /dev/hdc
/dev/hdc: No such file or directory
[root@zurich robert]# hdparm /dev/hdd

/dev/hdd:
 HDIO_GET_MULTCOUNT failed: Invalid argument
 I/O support  =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 HDIO_GET_NOWERR failed: Invalid argument
 readonly     =  1 (on)
 readahead    =  8 (on)
 HDIO_GETGEO failed: Invalid argument
 busstate     =  1 (on)
[root@zurich robert]# hdparm /dev/scd0 
/dev/scd0 not supported by hdparm
[root@zurich robert]# hdparm /dev/scsi/host0/bus0/target0/lun0/cd
/dev/scsi/host0/bus0/target0/lun0/cd not supported by hdparm


en in
/dev/ide/host0/bus1/target0/lun0
vindt hij geen device...

Wat doe ik fout?

Verwijderd

udma werkt natuurlijk niet op scsi devices, ookal zijn ze virtueel. Misschien kan dma niet aan omdat er op hetzelfde kanaal nog een device zit die geen dma kan? Even zien; /dev/hdc is je brander toch? Wel een beetje raar dat je die faileds krijgt op je dvd speler. Maargoed.

Als je 'always use dma' in je kernel aanzet dan zou het volgens mij gewoon moeten werken. Ik zou verder ook even geen manier weten hoe je dma aankrijgt op de brander als je het ding als scsi schijf gebruikt.

  • QuarK
  • Registratie: Maart 2000
  • Laatst online: 15:46
Heeft die Philips 12x brander wel support voor DMA?
Mijn oude Acer 6x had dat namelijk niet.

Verwijderd

Waarschijnlijk gebruik je ook devfs, en is dat de reden dat je met hdparm geen dma aan kunt zetten. In Mandrake kan dat wel via /proc ingesteld worden, daar bestaat een script voor. Je kunt het dan instellen in /etc/sysconfig/harddisks. Daar staat ook beschreven hoe je dat voor individuele devices kunt doen. Op die manier kun je wel /dev/hdc aanspreken.

Verwijderd

Topicstarter
In mijn lilo.conf staat oa. dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
image=/boot/vmlinuz-lean
        label=linux-lean
        root=/dev/hda7
        append="quiet devfs=mount hdc=ide-scsi"
        vga=788
        read-only
image=/boot/vmlinuz-2.4.18-mdkrt
    label=linux-dma
    root=/dev/hda7
    initrd=/boot/initrd-2.4.18-6mdkrt.img
    append="quiet devfs=mount"
    vga=788
    read-only

Nou heb ik net ff die linux-dma versie geboot, en daar kan ik dus wel hdc op dma zetten; de drive ondersteunt dit ook, doet 'ie nl in windows ook.
Alleen, daar staat scsi simulatie niet aan, dus kan ik niet burnen...

Maar het heeft er dus inderdaad mee te maken dat ik devfs gebruik lijkt me...

Overigens, dwerg, die faileds zijn (denk ik) normaal, omdat die parameters alleen voor hd's gelden en niet voor cd/dvd-rom drives.

MarcelP, ik ga nu ff rebooten om te kijken of het lukt (heb /etc/sysconfig/harddisks aangepast)..

[edit]
En jahoor: ik heb het " # " voor " USE_DMA=1 " weggehaald, en ben met een load tussen de 4 en 10% aan het branden (gaat over het netwerk, maakt denk ik ook uit voor de load?), waar het eergisteren ~50% was, thanks! :)

[ Voor 0% gewijzigd door Verwijderd op 19-09-2002 22:44 . Reden: Toevoeging ]


Verwijderd

Verwijderd schreef op 19 september 2002 @ 22:28:
Nou heb ik net ff die linux-dma versie geboot, en daar kan ik dus wel hdc op dma zetten; de drive ondersteunt dit ook, doet 'ie nl in windows ook.
Alleen, daar staat scsi simulatie niet aan, dus kan ik niet burnen...
Omdat je hdc=ide-scsi niet meegeeft met die kernel wat je bij de eerste wel doet.
MarcelP, ik ga nu ff rebooten om te kijken of het lukt (heb /etc/sysconfig/harddisks aangepast)..

En jahoor: ik heb het " # " voor " USE_DMA=1 " weggehaald, en ben met een load tussen de 4 en 10% aan het branden (gaat over het netwerk, maakt denk ik ook uit voor de load?), waar het eergisteren ~50% was, thanks! :)
Mooi. Je kunt het ook per schijf instellen als je dat zou willen (mijn ide-controller crasht juist met dma tijdens branden).
Branden over het netwerk kan hoogstens een buffer-underrun geven, dus pas op hoe snel je brandt. Op 1x branden is dacht ik 150 of 300 kbytes/sec.

  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 22:03
misschien klinkt dit dom, maar in het verleden heb ik gemerkt dat hdparm alleen op verwisselbare media werkte als er ook daadwerkelijk iets in de drive zat.

1x is 150k/s trouwens

VVD. Maakt crises erger 🏚️ .
Zucmantaks, nu 💰 !
De mythe van de zelfredzame burger 🦄 .


Verwijderd

Topicstarter
ucchan:
Nee, want op mijn dvd-drive kan ik het wel gewoon wijzigen, ook al zit er niets in.
Ik heb het ook nog ff geprobeerd met een disc in de brander:
code:
1
2
3
4
5
[root@zurich robert]# hdparm /dev/hdc
/dev/hdc: No such file or directory
[root@zurich robert]# hdparm /dev/scd0 
/dev/scd0 not supported by hdparm
[root@zurich robert]#


Over buffer underruns: gisteren was het resultaat (bij benadering):
buffer was 5678 times empty and 0 times full.
Kwam omdat de server nog meer doet met die schijf, en hij haalde dus maar ~1MB/s (had dus beter op 6x kunnen branden ofzo)

Maar hij deed het prima.. Met een audio cd had ik dat niet zo leuk gevonden (sommige audio players corrigeren niet zo best als er veel "buffer-underrun-protected" tussenruimtes tussen zitten), maar dit was toch een data cdtje.

Verwijderd

Verwijderd schreef op 20 september 2002 @ 21:56:
Over buffer underruns: gisteren was het resultaat (bij benadering):
buffer was 5678 times empty and 0 times full.
Kwam omdat de server nog meer doet met die schijf, en hij haalde dus maar ~1MB/s (had dus beter op 6x kunnen branden ofzo)
Hmm, dat is wel erg vaak leeg :-)
Ik heb geen flauw idee waarom het niet goed werkt over het netwerk. Als je de brandsnelheid net iets onder de netwerksnelheid instelt krijg je toch problemen. Misschien dat de tcpstack of het netwerkprotocol toch niet goed aansluiten op de brandsoftware en de hardwarebuffer.

Verwijderd

Topicstarter
Nee, het was de server (niet het netwerk) die niet meer dan zo'n 900kB per sec kon leveren, en als je dan op 12x brandt, is de buffer gauw leeg.
Lang leve burnproof/justlink... ;)
Als ik overigens die server (ouwe P 200) zo instel dat hij geen andere dingen (reads/writes) doet op die hd, gaat het zonder problemen. (Dan levert 'ie >5 MB/s, met dma aan enzo, is echt de max, het netwerk kan meer aan, zo'n 9MB/s)
Pagina: 1