PDA

Visualizza la versione completa : kernel 2.6 e dma


Andre00
05-07-2006, 20:59
Da quando sono passato al kernel 2.6.X da un vecchio 2.4.26 (che tuttavia funzionava benissimo) non sono mai più riuscito a far funzionare il dma sul mio computer..

Risultato per nessun block device attualmente presente: hda hdb (2 hard disk) e hdc e hdd (dvd e cd)
riesco ad attivare il dma con conseguente lettura e scrittura estremamente lenti..
Tipo ci metto il triplo di tempo a copiarmi i file, il masterizzatore dvd non supero l'1x in masterizzazione, il cd in masterizzazione non va oltre il 4x..... insomma ...non so più che fare...

So solo che: nel kernel ho attivato tutto ciò che riguarda il dma, nonchè la voce using when available ecc... e anche il driver per la mia scheda madre che è una via apollo..
ho provato a settare il dma con hdparm ma mi viene detto che l'operazione non è consentita
con hdparm -d 1 /dev/hdx
ottengo


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

secondo voi un kernel 2.6.X non dovrebbe essere superiore ad un kernel 2.4.X e avere al suo interno tutto il necessario per far funzionare il dma, visto che un kernel 2.4.X riesce nell'intento?
il modulo via82cxxx che dovrebbe essere quello per i miei ide devices... viene caricato dall'hotplug... ma non si vede alcun beneficio.....

Qualche consiglio?

GRazie in anticipo!

andy caps
05-07-2006, 21:20
devi provare a metterlo statico nel kernel

a me ad esempio dava problemi se non mettevo anche
<*> AEC62XX chipset support con il chipset via della vecchia mobo

aggiungi staticamente anche altro se non va comunque
al limite poi togli
non da molti problemi al kernel

Caleb
05-07-2006, 21:26
innanzitutto hai bisogno di tre cose:

- Generic PCI IDE Chipset Support (CONFIG_BLK_DEV_GENERIC)
- Generic PCI bus-master DMA support (CONFIG_BLK_DEV_IDEDMA_PCI)
- Use PCI DMA by default when available (CONFIG_IDEDMA_PCI_AUTO)

e poi ci vuole quello specifico per il chipset della mainboard, anche se un singolo modulo può supportare più chipset; questo per la mia asus p4p800:

- Intel PIIXn chipsets support (CONFIG_BLK_DEV_PIIX)

come ben dice andy andrebbe messo tutto statico

hdparm -i /dev/hdx ti dice un po' di informazioni sulle modalità dma supportate

Loading