Page 1 of 1

[DVD] Problemi ad abilitare DMA

Posted: Mon Aug 29, 2005 3:44 pm
by emptyset_81
Ciao.

Quando provo a vedere un DVD sul mio laptop il filmato va avanti a scatti ed inoltre non posso più fare eject del DVD. Ho indagato ed ho scoperto che il problema è probabilmente legato alla DMA, però non riesco ad abilitare la DMA per il DVD.

Informazioni sul dispositivo DVD+RW: Ricoh RW8160

Ecco delle informazioni che potrebbero essere utili, tutti i comandi seguenti sono stato digitati da root:

Code: Select all

linux # hdparm -d 1 /dev/dvd

/dev/dvd:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)
Il kernel (linux-2.6.12-gentoo-r6) è configurato correttamente

Code: Select all

linux # less .config | grep -i dma
CONFIG_GENERIC_ISA_DMA=y
CONFIG_ISA_DMA_API=y
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_IVB is not set
CONFIG_IDEDMA_AUTO=y
Infatti la DMA funziona correttamente nel caso del disco fisso (hda), ecco cosa viene fatto al boot

Code: Select all

linux # dmesg | grep -i dma
  DMA zone: 4096 pages, LIFO batch:1
VP_IDE: VIA vt8235 (rev 00) IDE UDMA133 controller on pci0000:00:11.1
    ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio
hda: 78140160 sectors (40007 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100)
Forse il problema dipende dal lettore DVD, infatti adesso non riesco più a fare l'eject ed ecco quali informazioni riesco a ricavare usando hdparm

Code: Select all

hdparm -i /dev/dvd

/dev/dvd:
 HDIO_GET_IDENTITY failed: No message of desired type
Ringrazio già da adesso quelli che mi aiuteranno.
ciao
Marco

Posted: Mon Aug 29, 2005 6:58 pm
by Apetrini
Probabilmente non hai il cavo a 80 poli per il dvd...

Il dvd è, immagino, su /dev/hdc o /dev/hdd...
se invece è su /dev/hdb allora usa lo stesso cavo del hard-disk per cui è qualcos'altro...

Posted: Mon Aug 29, 2005 7:29 pm
by neryo
Apetrini wrote:Probabilmente non hai il cavo a 80 poli per il dvd...

Il dvd è, immagino, su /dev/hdc o /dev/hdd...
se invece è su /dev/hdb allora usa lo stesso cavo del hard-disk per cui è qualcos'altro...

e' un portatile... :roll:

Posted: Mon Aug 29, 2005 10:24 pm
by emptyset_81
si, è un portatile ed è su /dev/dvd che è un link simbolico per /dev/hdc.
con linux non ho mai provato il DVD, con windows invece si e funziona correttamente.
le altre funzioni del DVD-RW, ovvero masterizzatore, lettore cd audio, cd dati funzionano correttamente.

Posted: Mon Aug 29, 2005 11:02 pm
by Apetrini
ehm scusate, ma ultimamente dormo moolto poco(circa 4-5 ore a notte). Perdonatemi...

Alloa forse il tuo lettore dvd non è riconosciuto adeguatamente dal kernel (altrimenti non saprei cosa altro pensare), magari non è un lettore standard e ha bisogno di un modulo aggiuntivo....
Bo.

Posted: Tue Aug 30, 2005 10:35 am
by GNU/Duncan
io avevo il tuo solito problema ed ho provato a risolvere con questo hack del kernel
You can get the DMA to work on the DVD player if you're willing to hack the kernel a bit and rebuild it.
If you edit the include/linux/libata.h file and change the #undef ATA_ENABLE_ATAPI to #define ATA_ENABLE_ATAPI
and rebuild the kernel, you can get the DVD to be controlled by the ata_piix driver and appear as a scsi drive.
You may need to pass ide1=noprobe to the kernel at boot so the generic ide driver doesn't grab it. Anyway,
ata_piix will enable DMA for the DVD which makes it perform MUCH better.
Avevo risolto però ora sto provando un metodo alternativo perchè mi da grossi problemi di stabilità con il FS che uso io XFS

Posted: Wed Aug 31, 2005 9:45 am
by emptyset_81
mmm... preferirei non mettere le mani là... grazie comunque

Posted: Sat Sep 10, 2005 12:40 pm
by emptyset_81
le ho provate tutte, ma non ho ancora trovato la soluzione :(

Posted: Sat Sep 10, 2005 1:20 pm
by .:chrome:.
il DMA è indipendente dal cavo a 40 o 80 pin.
le uniche due possibilita, a questo punto, sono che il DMA sia disabilitato a livello di BIOS, oppure che il tuo lettore non lo supporti

Posted: Sat Sep 10, 2005 2:01 pm
by emptyset_81
Il DMA è abilitato a livello di BIOS (credo), perchè con l'hard disk funziona. Forse non è abilitato il mio lettore quindi? In Windows funziona correttamente, Windows utilizza il DMA per i DVD? scusate la mia ignoranza :oops:

Posted: Mon Sep 12, 2005 6:46 pm
by noname_ita
Avevo anche io questo problema ed ho risolto...

Mi succedeva quando usavo la scsi emulation sul lettore/masterizzatore DVD, non so perchè, probabilmente perchè le periferiche scsi nascono come priferiche veloci e non hanno bisogno del dma così com'è implementato su linux fatto sta che i film andavano a scatti.
Quando poi nel kernel 2.6 hanno messo bene il supporto per la masterizzazione anceh senza emulazione scsi ho tolto il modulo e caricavo invece quello "cdrom" e tutto andava alla perfezione.

Prova un po'... se non usi la scsi emulation allora non so cosa puo' essere