• Pagina non alterabile
  • Informazioni
  • Allegati


Guida verificata con Ubuntu: 14.04 16.04 18.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Se la riproduzione di un DVD non è scorrevole, potrebbe essere a causa del DMA non attivato. DMA, o «Direct Memory Access», permette ai dischi rigidi e ai lettori di CD/DVD di accedere direttamente alla memoria di sistema, senza caricare la CPU.

La maggior parte dei sistemi prodotti dal 1994 ha il supporto al DMA, mentre è pressoché certa la sua presenza (o sua evoluzione quale l'UDMA) dal 1997.

Abilitare il DMA può essere pericoloso in alcuni casi. I problemi più comuni sono collegati ad hardware con problemi, errori nei driver o uso di impostazioni non supportate dal proprio sistema.

Abilitare il DMA

Di seguito viene illustrato l'utilizzo di lsscsi, strumento semplice per identificare il dispositivo di masterizzazione.

  1. Installare il pacchetto lsscsi.

  2. Per identificare il nome del dispositivo digitare nel terminale il comando:

    lsscsi | grep -i dvd

Di seguito per abilitare il DMA viene illustrato l'utilizzo del programma hdparm.

Fare attenzione che il programma hdparm se usato in modo superficiale può arrecare gravi danni al dispositivo su cui è usato.

Nei seguenti comandi sostituire il dispositivo dev/srX con quello ottenuto col comando precedente.

Prestare molta attenzione nell'indicare il dispositivo corretto. Ad esempio, nei casi più comuni, indicare /dev/sda nel comando precedente può compromettere l'integrità del disco rigido cagionando l'inavviabilità del proprio sistema e l'accesso ai propri file personali.

  1. Installare il pacchetto hdparm.

  2. Controllare le impostazioni di /dev/srX:

    sudo hdparm /dev/srX
  3. Se è presente una riga come questa:

    using_dma = 1 (on)
    significa che il DMA è già attivato. Passare direttamente al punto 8 per vedere se viene abilitato all'avvio del sistema.
  4. Se è presente una riga come questa:

    SG_IO: bad/missing sense data, sb[]
    significa che il dispositivo non viene letto correttamente. Passare direttamente al punto 7 per attivare tramite modifica del file.
  5. Abilitare il DMA per /dev/srX

    sudo hdparm -d1 /dev/srX
  6. Ora è stato abilitato il DMA.
  7. Per avere queste impostazioni abilitate automaticamente all'avvio del sistema, è necessario modificare il file /etc/hdparm.conf.
    A tale scopo aprire con un editor di testo e con i privilegi di amministrazione il file /etc/hdparm.conf, e modificare i parametri nelle seguenti righe:

    #/dev/cdroms/cdrom0 {
    #       dma = on
    #       interrupt_unmask = on
    #       io32_support = 0
    #

    nel modo seguente:

    /dev/sr0  {
           dma = on
           interrupt_unmask = on
           io32_support = 
    }
  8. Salvare, quindi riavviare il sistema.

Comandi avanzati

È possibile ottenere specifiche informazioni sui tre principali parametri del masterizzatore:

Opzione

Output

-d

DMA del dispositivo in esame

-c

supporto IO del dispositivo in esame, 16 o 32 bit è la velocità di trasmissione dei dati (consultare questa pagina)

-m

multcount, (Ide Block Mode) trasmissione di settori multipli per I/O a 0, 8, 16 o 32 bit

  • Il comando:

    sudo hdparm -d /dev/srX

    darà come output:

    /dev/srX:
     using_dma    =  1 (on)
  • Il comando:

    sudo hdparm -c /dev/srX

    darà come output:

    /dev/srX:
     IO_support   =  1 (32-bit)
  • Il comando:

    sudo hdparm -m /dev/srX

    darà come output:

    /dev/srX:
     multcount    =  0 (off)

Test sul masterizzatore

Il comando hdparm consente, attraverso l'uso dell'opzione -tT, l'esecuzione di un test completo sui masterizzatori.

Ad esempio:

sudo hdparm -tT /dev/srX

il cui risultato è un output di questo tipo:

/dev/srX:
 Timing cached reads:   276 MB in  2.01 seconds = 136.99 MB/sec
 Timing buffered disk reads:   20 MB in  3.14 seconds =   6.37 MB/sec

Modifica della configurazione

L'esecuzione dei test mostrerà che Ubuntu ha già configurato al meglio il proprio hardware. Tuttavia può essere utile la verifica dei valori e la loro eventuale correzione.

Alcune opzioni utili per la modifica della configurazione da utilizzare con hdparm:

Opzione

Risultato

-c0

disabilita la funzione

-c1

abilita la modalità a 32bit

-c2

abilita la modalità a 16bit

-c3

abilita la modalità a 32bit con una funzione di sincronismo richiesta da molti chipset

È quindi possibile modificare le impostazioni del masterizzatore con questo comando:

sudo hdparm -d1 -c1 -m8 /dev/srX

Con il comando precedente è stato indicato di abilitare DMA (-d1), abilitare il supporto 32-bit del masterizzatore (-c1) e impostare l'«Ide Block Mode» su 8-bit (-m8). È possibile impostare l'«Ide Block Mode» su 16-bit (-m16) o 32-bit (-m32).

L'output del comando sarà:

/dev/srX:
 setting 32-bit IO_support flag to 1
 setting multcount to 8
 setting using_dma to 1 (on)
 multcount    =  8 (on)
 IO_support   =  1 (32-bit)
 using_dma    =  1 (on)

Problemi noti

Se i propri dispositivi sono configurati in modalità Cable Select ed eseguendo il comando hdparm si ricevono degli errori relativi a dei timeout o periferica non pronta, provare a cambiare la periferica in master o slave, a seconda della configurazione del sistema (far riferimento al manuale del dispositivo o della propria scheda madre).

A volte il passo 2 può fallire con un messaggio tipo operation not permitted/operazione non permessa. Per risolvere questo problema, è necessario modificare il file /etc/modules.

Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/modules.

  • Nel caso si possieda un CPU Intel, inserire:

    piix
    
    ide-core

    sopra la riga:

    ide-cd
  • Nel caso si possieda una CPU AMD, inserire:

    amd74xx

    sopra la riga:

    ide-cd
  • Nel caso si utilizzi un chipset VIA, inserire:

    via82cxxx

    sopra la riga:

    ide-cd

A questo punto salvare e riavviare il sistema, quindi ripetere i passi 3 e 4 della procedura precedente.

Ulteriori risorse


CategoryHardware