Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 25 del 07/04/2018 19.02.06

Nascondi questo messaggio


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. Problemi comuni sono collegati ad hardware con problemi, errori nei driver o uso di impostazioni non supportate dal proprio sistema.

Abilitare il DMA

Per abilitare il DMA, è necessario usare il comando hdparm.

Le istruzioni che seguiranno, prendono come esempio l'abilitazione del DMA sul dispositivo /dev/hdc, nella maggior parte dei casi il lettore CD-ROM/DVD.

  1. Controllare le impostazioni di /dev/hdc:

    sudo hdparm /dev/hdc
  2. Se è presente una linea come questa:

    using_dma = 1 (on)
    significa che il DMA è già attivato. Passa direttamente al passo 4 per vedere se viene abilitato all'avvio del sistema.
  3. Abilitare il DMA per /dev/hdc

    sudo hdparm -d1 /dev/hdc
  4. Ora è stato abilitato il DMA. Comunque, per avere queste impostazioni abilitate automaticamente all'avvio del sistema, è necessario modificare il file /etc/hdparm.conf. Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/hdparm.conf, dunque aggiungere le seguenti righe alla fine del file:

    /dev/hdc  {
    dma = on
    }
    Salvare e riavviare il sistema.

Comandi avanzati

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

Opzione

Ouptut

-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

  • Quindi, il comando:

    sudo hdparm -d /dev/hda

    darà come output:

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

    sudo hdparm -c /dev/hda

    darà come output:

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

    sudo hdparm -m /dev/hda

    darà come output:

    /dev/hda:
     multcount    =  0 (off)

Test sui dischi

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

Per esempio:

sudo hdparm -tT /dev/hda

il cui risultato è un output di questo tipo:

/dev/hda:
 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 disco con questo comando:

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

Con il comando precedente è stato indicato di abilitare DMA (-d1), abilitare il supporto 32-bit del disco (-c1) e imostare 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/hda:
 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 3 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 riavviare e ripetere i passi 3 e 4 della procedura precedente.

Ulteriori risorse


CategoryHardware CategoryDaRevisionare