cercando di far funzionare la regolazione della luminosità
del mio portatile Samsung RV520 ho visto che dal kernel 2.6.39
c'è un modulo dal nome samsung-laptop.
Ho compilato il 3.0.8 e ho visto che il modulo non veniva
caricato perché mi diceva che non c'era un device di quel tipo
ovvero il mio portatile non era incluso nel driver.
Ho provato quindi ad osservare il sorgente
linux-3.0.8/drivers/platform/x86/samsung-laptop.c
e ho visto come erano indicati i modelli dei vari samsung.
Mancando il mio ho provato ad aggiungere delle righe identiche alle altre
con la stringa con cui viene identificato il modello, ricavandola
da questo comando:
Codice: Seleziona tutto
dmidecode -s system-product-name
RV420/RV520/RV720/E3530/S3530/E3420/E3520
Ho compilato il modulo modificato (ho preso il makefile
presente nella directory commentando le righe degli altri moduli)
e ho sostituito il file samsung-laptop.ko in
/lib/modules/3.0.8/kernel/drivers/platform/x86/
dopo aver dato
Codice: Seleziona tutto
# depmod -a
# modprobe samsung-laptop
Seguendo varie guide in rete avevo già in precedenza
tentato di far funzionare la regolazione della luminosità
e quindi le modifiche che avevo già fatto sono:
- l'aggiunta dell'opzione acpi_backlight=vendor in lilo.conf da passare
al kernel
- usando il driver proprietario nvidia (nouveau non mi supportava la
GeForce GT520M), l'aggiunta di
Option "RegistryDwords" "EnableBrightnessControl=1"
in xorg.conf nelle righe di configurazione della scheda.
Non ho ancora controllato se queste modifiche sono ancora necessarie
ma credo di sì.
Ora sicuramente posso regolare da tastiera la luminosità.
La patch da provare è la seguente:
Codice: Seleziona tutto
--- linux-3.0.8/drivers/platform/x86/samsung-laptop.c.orig 2011-11-08 14:42:27.569274081 +0100
+++ linux-3.0.8/drivers/platform/x86/samsung-laptop.c 2011-11-08 20:28:46.283532854 +0100
@@ -676,6 +676,15 @@ static struct dmi_system_id __initdata s
},
.callback = dmi_check_cb,
},
+ {
+ .ident = "RV420/RV520/RV720/E3530/S3530/E3420/E3520",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "RV420/RV520/RV720/E3530/S3530/E3420/E3520"),
+ DMI_MATCH(DMI_BOARD_NAME, "RV420/RV520/RV720/E3530/S3530/E3420/E3520"),
+ },
+ .callback = dmi_check_cb,
+ },
{ },
};
MODULE_DEVICE_TABLE(dmi, samsung_dmi_table);
Quindi se volete fare la modifica da voi
(che è una stupidaggine perché ci sono riuscito io
che non sono esperto) inserite le righe qui sopra
al file samsung-laptop.c e compilatelo,
altrimenti prossimamente potrebbe essere aggiunta
la modifica ufficilamente.
Dovrebbe funzionare anche con le versioni successive
al 3.0.8 (e credo anche con il 2.6.39).
Se avete modelli di samsung non presenti nel file
samsung-laptop.c
provate a verificare come viene riconosciuto il vostro
portatile, modificate il sorgente, compilatelo e se funziona
potete inviare la patch (seguendo alcune regole).
Sono contento ora di aver speso 449 euro per il portatile in offerta