Installare Linux su un Dell M4800

Il Dell M4800 è un portatile “carrozzato”, adatto ad un uso gravoso. Viene venduto, volendo, con Ubuntu preinstallato. Questo mi faceva sperare che non ci fossero problemi con Linux, ma ho dovuto ricredermi.

Ho installato Linux Mint 17.1 con Cinnamon. (Ottimo desktop manager, secondo me, molto più usabile di Gnome 3 e di Unity)

Ma vediamo cosa non va e come risolverlo:

Ho incontrato problemi con l’ SSD, per iniziare. Se abilito la funzione “discard” (ovvero il TRIM) nel mount del file system, appena provo a cancellare qualcosa il canale SATA muore completamente. Ho scoperto che il problema riguarda alcuni chipset e l’uso contemporaneo di NCQ e TRIM.  La soluzione semplice, che non porta praticamente ad alcuna perdita di prestazioni, è stata disattivare l’ NCQ al boot, passando al kernel il parametro

libata.force=noncq

Già che ci sono, scelgo anche di aggiungere il parametro

elevator=deadline

visto che su un SSD è inutile usare lo scheduler di default CFQ.

Aggiornamento sull’ SSD: Il problema pare essere peggiore di quello che pensassi. Stando a questo blog infatti diversi modelli di SSD Samsung, fra i quali il mio (850 PRO 512 GB) rischiano di perdere dati quando viene dato un comando di TRIM e l’ NCQ è attivo. Ho subito fatto un test sul mio file system, che lavora con NCQ disattivato e TRIM attivato, e non ho trovato errori. Questo non significa che non ci siano (un errore nei dati e non nei metadati non viene intercettato da fsck) o che non potranno svilupparsi in futuro. Il vero problema è che con un file system che non controlla la coerenza dei dati ma solo dei metadati (come più o meno tutti tranne, credo, ZFS) non si viene immediatamente allertati di eventuali problemi di questo tipo.

Il secondo problema l’ho incontrato con la scheda wireless Intel 7260, che mostrava prestazioni decisamente scadenti. Pare che la soluzione sia quella di disabilitare la sua funzione per gestire l’uso contemporaneo di Bluetooth e Wifi. Per farlo, occorre aggiungere al file /etc/modprobe.d/iwlwifi.conf questa riga:

options iwlwifi bt_coex_active=no

AGGIORNAMENTO: La wireless ha comportamenti strani. Se usata su una rete 802.11n (access point Mikrotik) l’uso del parametro indicato in precedenza (bt_coex_active=no) causa danni enormi, la rete non riesce a stabilire la connessione. Se usata su una rete 802.11g (Linksys) invece sembra che funzioni meglio con bt_coex_active=no. Un ulteriore esperimento (assolutamente controintuitivo) è quello di impostare power_save=y (e non impostare bt_coex_active). Così facendo funziona bene sulla rete 802.11g, proverò lunedì su quella 802.11n.

 

Il terzo problema riguarda lo switch fra il monitor interno e quello esterno quando si usa la docking station. La mia soluzione, che ho già usato con altri portatili Dell dotati di docking station, è quella di mettere nel file xorg.conf queste righe:

Section “Device”
Identifier “Default Device”
Option “UseDisplayDevice” “DFP-1”
Option “NoLogo” “True”
EndSection

Così facendo, il display esterno viene usato come primo display, quando c’è. Quando non c’è, viene usato quello interno. Con questa configurazione è anche possibile passare da connesso a disconnesso dalla docking station senza dover spegnere e riaccendere il PC.

Il quarto problema riguarda i tasti che variano la luminosità del display, che vengono riconosciuti da Linux senza problemi, mostrano a video l’icona della “variazione della luminosità”, ma di fatto non variano nulla. Questo problema si risolve con un ulteriore parametro del kernel, nello specifico questo:

acpi_osi=\”!Windows 2012\” acpi_backlight=vendor

Il quinto e ultimo problema è il più assurdo: ogni tanto un tasto della tastiera viene “sentito” due volte, portando al raddoppio della lettera premuta. Il problema si presenta sia in Linux che nel BIOS, quindi ho escluso un problema del software. Ho chiamato Dell che ha provveduto senza esitazione a sostituirmi la tastiera, purtroppo però il problema è rimasto. Googolando la frase “linux keybaord debounce” e “Dell keyboard debounce” ho scoperto che questo problema non è solo mio. Il problema c’è e non dipende da Linux, ma con Linux possiamo risolverlo. In attesa che una patch al kernel venga accettata e quindi sia disponibile per tutti, ho trovato una soluzione semplice che però funziona. Esiste nella configurazione di Cinnamon una funzione che nasce per aiutare gli utenti disabili che per fortuna risolve anche il problema della tastiera disabile. Questa funzione è Bounce Keys, che ha proprio lo scopo di fare in modo che una doppia pressione di uno stesso tasto in rapida sequenza produca un solo carattere e non due. Regolandola ad un tempo molto basso si riesce ad eliminare il problema della doppia battuta generata dalla tastiera, senza però impedire  in alcun modo anche al più veloce degli umani di battere una lettera doppia. Il metodo per impostare il valore giusto consiste nel mettere il cursore quasi tutto a sinistra, e poi spostarlo a destra un poco allo volta fino a che non si vede che battendo rapidamente due volte lo stesso tasto il PC ne mostra solo uno. A questo punto tornare indietro di pochissimo fino a che la doppia battuta su un tasto mostra sempre due battute. Fatto.

Per un computer che è venduto ufficialmente con Linux è una bella fatica, non credete?

Resta purtroppo non funzionante l’uso delle due VGA (Intel e Nvidia) con autocommutazione fra le due allo scopo di risparmiare energia. Ho dovuto disabilitare la funzione dal BIOS e lavorare sempre con la Nvidia.

 

Autore: Kurgan

Sistemista Linux con la fissa della sicurezza

9 pensieri riguardo “Installare Linux su un Dell M4800”

    1. Grazie dell’informazione, ma ho deciso che e` troppo sbattimento, lo lascio cosi`. Tanto lo uso a corrente per il 95% del tempo.

  1. Kurgan, sei sicuro di aver risolto tutti i problemi? Ogni volta che dovrebbe esserci una accentata si apre o chiude un tag ...

      1. ho visto. E` colpa del fatto che uso una tastiera americana, e quindi le lettere accentate le faccio con un accento (backtick) che questo cavolo di markup language evidentemente riconosce come tag code… che strazio. Vediamo di sistemare, grazie della segnalazione.

        1. Tastiera fisica: USA
          Layout: International English

          E si scrivono tutte le lettere del mondo nel modo giusto con un layout che non fa imbufalisre sistemisti e sviluppatori.

          Vale sia per Linux sia per Windows.

          1. Ho adottato il layout che si chiama “Italian (US keyboard with italian letters) che in pratica mette le accentate sulle lettere relative premendo ALT destro. Pero` siccome sono abituato a fare altrimenti le uso solo quando mi devo impegnare per fare bene, altrimenti continuo a usare il backtick come accento.

Spazio per un commento