Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Lid del mio portatile [solved]
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Fri Sep 28, 2007 3:54 pm    Post subject: Lid del mio portatile [solved] Reply with quote

Ho deciso di dare un altro try a gentoo e, come sempre, mi trovo a dover litigare con il lid del mio notebook.
Infatti se chiudo il coperchio e poi lo riapro, il monitor resta spento.

Sfogliando su google ho trovato questo link:
http://gentoo-wiki.com/HARDWARE_Dell_Inspiron_640m#ACPI:_LCD_ON.2FOFF

Questa operazione l'avevo già provata e successivamente ho dovuto editare lo script perché sul mio note non funzionava.
Ora, però, noto che la wiki è stata modificata ed hanno aggiunto un ulteriore metodo che sembrare sistemare il problema.

Ve lo riporto qui:

As an alternative to the process above, experienced users may wish to patch their DSDT with http://www.reactivated.net/systems/dell-640m/dsdt/01_lid-power-lcd.patch - after this modification, lid open/closing works as expected with no requirement for acpid or similar.


La mia scarsa conoscenza di gentoo mi impedisce di comprendere come utilizzare questa patch (probabilmente è una patch del kernel, perdonate se ho detto una bestemmia).

Qualcuno saprebbe indicarmi la via migliore per raggiungere lo scopo?
Nel caso la via migliore sia la seconda, come applico la patch?
Se è una patch del kernel devo ogni volta riapplicarla manualmente nel caso io ricompili il kernel?

Grazie ^^


Last edited by Elbryan on Sun Sep 30, 2007 4:13 pm; edited 1 time in total
Back to top
View user's profile Send private message
Dottout
l33t
l33t


Joined: 07 Mar 2006
Posts: 882

PostPosted: Fri Sep 28, 2007 4:49 pm    Post subject: Reply with quote

non è una patch del kernel bensì del DSDT, che fa parte delle specifiche base di acpi. quella patch la applichi al dsdt con un patch -p0 <nomepatch, cmq la procedura per fixare il dsdt richiede qualche step aggiuntivo, che trovi spiegato in questa guida (sorry non mi ricordo tutti i passi)
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Fri Sep 28, 2007 5:31 pm    Post subject: Reply with quote

se ti dicessi che tutta quella roba da far da solo mi spaventa a morte, mi daresti una vaga indicazione? ^^'''
Back to top
View user's profile Send private message
Dottout
l33t
l33t


Joined: 07 Mar 2006
Posts: 882

PostPosted: Fri Sep 28, 2007 5:54 pm    Post subject: Reply with quote

ti serve il compilatore che trovi qui: http://developer.intel.com/technology/iapc/acpi/downloads.htm
poi:
Extract your current DSDT to a file as follows:
Code:
cat /proc/acpi/dsdt > dsdt.dat
Disassemble the DSDT
Code:
./iasl -d dsdt.dat

This will create a file called dsdt.dsl, which contains the disassembled DSDT. Have a look at it if you like. You can view its contents with any text editor. <-- così ottieni quello da patchare
# Recompile the DSDT.
Code:
./iasl -tc dsdt.dsl
This will create two files, dsdt.hex and DSDT.aml. <- questo step ti ricompila il dsdt patchato (è l'.hex)
per sostituirlo al tuo segui la guida al punto: 9. Incorporating the fixed DSDT into the kernel

(lo so che questo copia\incolla fa schifo ma almeno sintetizza un minimo ;) )
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Fri Sep 28, 2007 5:56 pm    Post subject: Reply with quote

perfect :) appena ho tempo (domani credo) ci provo ^^

Grazie mille per la disponibilità intanto!
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Fri Sep 28, 2007 7:25 pm    Post subject: Reply with quote

il compilatore è in portage (eix acpi) e mi pare sia pure stabile
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Sat Sep 29, 2007 12:51 pm    Post subject: Reply with quote

djinnZ wrote:
il compilatore è in portage (eix acpi) e mi pare sia pure stabile


mi pare si chiami iasl (emerge iasl).

Comunque in fase di compilazione mi da un errore su un qualcosa che dev'essere per forza alfanumerico..
Ora sto emergendo gnome, poi quando ho un supporto gui vi posto l'errore completo (però ho notato che nonostante l'errore il file .hex me l'ha generato..mboh).
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Sat Sep 29, 2007 11:36 pm    Post subject: Reply with quote

perdonatemi se uppo la conversazione, comunque questo è il problema che vi dicevo ieri:

Code:

dsdt.dsl  1066:             Name (_HID, "*pnp0c14")
Error    4001 -                                  ^ String must be entirely alphanumeric (*pnp0c14)


però nonostante l'errore:
Code:

blackbox dsdt # ls -la
total 492
drwxr-xr-x  2 root    root    4096 Sep 30 01:35 .
drwxr-xr-x 23 elbryan users   4096 Sep 30 01:35 ..
-rw-r--r--  1 root    root     887 May  6 22:33 01_lid-power-lcd.patch
-rw-r--r--  1 root    root   17292 Sep 30 01:31 dsdt.dat
-rw-r--r--  1 root    root  148834 Sep 30 01:31 dsdt.dsl
-rw-r--r--  1 root    root  148539 Sep 30 01:31 dsdt.dsl.orig
-rw-r--r--  1 root    root  149660 Sep 30 01:35 dsdt.hex

il file dsdt.hex è presente.. non mi fido a continuare però..

Qualcuno ha una vaga idea del motivo di tutto ciò?
Back to top
View user's profile Send private message
mrfree
Veteran
Veteran


Joined: 15 Mar 2003
Posts: 1303
Location: Europe.Italy.Sulmona

PostPosted: Sun Sep 30, 2007 10:40 am    Post subject: Reply with quote

http://gentoo-wiki.com/HOWTO_Fix_Common_ACPI_Problems credo sia un buon inizio se non hai mai avuto a che fare con i DSDT ;)
_________________
Please EU, pimp my country!

ICE: /etc/init.d/iptables panic
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Sun Sep 30, 2007 10:58 am    Post subject: Reply with quote

mrfree wrote:
http://gentoo-wiki.com/HOWTO_Fix_Common_ACPI_Problems credo sia un buon inizio se non hai mai avuto a che fare con i DSDT ;)


non ho trovato nulla di realmente utile a scoprire la causa dell'errore però :(
Back to top
View user's profile Send private message
Dottout
l33t
l33t


Joined: 07 Mar 2006
Posts: 882

PostPosted: Sun Sep 30, 2007 11:14 am    Post subject: Reply with quote

puoi usare un dsdt anche buggato (cosa che del resto hai fatto fino adesso). la patch dovrebbe migliorare la situazione, in merito a quell'errore non so, puoi provare a individuarlo tu oppure continuare a ignorarlo
Back to top
View user's profile Send private message
mrfree
Veteran
Veteran


Joined: 15 Mar 2003
Posts: 1303
Location: Europe.Italy.Sulmona

PostPosted: Sun Sep 30, 2007 12:15 pm    Post subject: Reply with quote

Elbryan wrote:
non ho trovato nulla di realmente utile a scoprire la causa dell'errore però :(
Dai un'occhiata a questo diff (l'ho trovato qui cercando su google) se l'autore dice il vero ti basterebbe eliminare l'* ;)
_________________
Please EU, pimp my country!

ICE: /etc/init.d/iptables panic
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Sun Sep 30, 2007 12:15 pm    Post subject: Reply with quote

vai su acpi.sf.net e chiedi aiuto.

a naso direi che può essere che sia una chiamata a funzione (o come diavolo si chiamano) che è stata scritta male. cerca se da qualche parte esiste qualcosa che assomiglia ad una funzione che si chiama "pnp0c14" se c'è prova a togliere l'asterisco e ricompilare.
Ovviamente è a tuo rischio e pericolo e non so quali danni puoi causare.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Sun Sep 30, 2007 4:12 pm    Post subject: Reply with quote

Questa cosa è più grande di me e un poco mi spaventa..

Quindi ho preferito passare allo script.. :) grazie comunque
Back to top
View user's profile Send private message
Dottout
l33t
l33t


Joined: 07 Mar 2006
Posts: 882

PostPosted: Sun Sep 30, 2007 4:16 pm    Post subject: Reply with quote

non per forzarti a far passi + lunghi della gamba ma: allo stato attuale il tuo dsdt è buggato, potresti accontentarti di applicare la patch e ignorare il precedente errore (che fino ad ora è risultato esser innocuo)
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Sun Sep 30, 2007 4:56 pm    Post subject: Reply with quote

Dottout wrote:
non per forzarti a far passi + lunghi della gamba ma: allo stato attuale il tuo dsdt è buggato, potresti accontentarti di applicare la patch e ignorare il precedente errore (che fino ad ora è risultato esser innocuo)


ma ho trovato un diff per fare l'override del mio dsdt (traltro per il kernel 2.6.21 e non per il .22 ma non dava errori) e l'ho applicata sistemando come suggeritomi da djinnz..
Ho riavviato e s'è bloccato all'avvio, subito dopo aver rilevato il cdrom e gli hard disk..

Non ho idea di come metterci mano, per cui...
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Mon Oct 01, 2007 11:57 am    Post subject: Reply with quote

8O aspetta un attimo e ricapiltoliamo.

per caricare il dsdt (con kernel gentoo/hardened/suspend2 gli altri non so) devi andare in device drivers -> generic driver options e mettere no a Select only drivers that do not need compile externa software (o giù di li, sarebbe STANDALONE=N) poi devi andare in power management -> acpi, abilitare custom dsdt (ACPI_CUSTOM_DSDT=Y) e valorizzare custom dstd table (ACPI_CUSTOM_DSDT_FILE=path) nel modo corretto (vecchio problema del kernel meglio usare un persorso assoluto e non avere spazi e caratteri strani nei path). Ti ritrovi in queste istruzioni?

la patch è per il kernel o per la dsdt?
se è per il kernel devi verificare che non ci siano dei .rej nell'albero dei sorgenti, il kernel gentoo è già pezzottato (termine italiano derivato dalla lingua napoletana per il barbarismo patchato) di suo e una parte della patch potrebbe non essere stata inclusa perchè non allineata (si apetta che l'istruzione x sia alla line 123 del file y.c mentre è nel file y.c ma alla linea 129, in tal caso la applichi manualmente e via);
se invece è per il dsdt devi controllare che la versione del bios corrisponda e del kernel non te frega nulla perchè l'unico legame è l'istruzione di dire al bios di caricare la nuova dsdt invece di quella di default, e sempre verificare che non ci siano dei rej e che non esista già in un'altra posizione
Code:
Method (LIDE, 0, NotSerialized)
.

hai provato a cercare su http://acpi.sourceforge.net/dsdt/view.php se c'è il tuo modello di portatile? prova ad usare quella dsdt se c'è. Mi sa che il tuo non è un dell 640m o lo è?

per fare il fix di una dsdt ti conviene prima cercare di risolvere gli errori sulla originale e poi applicare eventuali patch. Sistemando come? hai semplicemente cancellato l'asterisco o hai verificato come sono scritte le assegnazioni Name (_HID, "...")?
nella mia dsdt per esempio sono tutte "PNPxxxx" ma non è una certezza.
In più, deve esserci il method LIDE per rilevare il coperchio ma deve anche esserci in WAKE la chiamata a LIDE, altrimenti non funziona. Più o meno è come in normale programma c.

Ti ripeto il consiglio vai su http://acpi.sourceforge.net e chiedi aiuto non è una cosa da modificare alla buona e rischi di fare danni molto seri.

tanto per curiosità puoi mettere su pastebin o come diavolo si chiama la dsdt incriminata? Non prometto nulla ma se trovo un poco di tempo do uno sguardo.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Mon Oct 01, 2007 4:25 pm    Post subject: Reply with quote

Sei troppo gentile..
Allora. Sì, il mio è un dell 640m e, purtroppo, non è listato su acpi.sourceforge.net.

Questo è il dsdt.dsl decompilato ed originale: http://rafb.net/p/5hSgR451.html
Questo è il dsdt patchato con la patch che trovi al primo post di questo thread: http://rafb.net/p/J5ED9r33.html

Questo è l'output di iasl -tc dsdt.dsl:
Code:

blackbox dsdt # iasl -tc dsdt.dsl

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20060912 [Sep 29 2007]
Copyright (C) 2000 - 2006 Intel Corporation
Supports ACPI Specification Revision 3.0a

dsdt.dsl  1066:             Name (_HID, "*pnp0c14")
Error    4001 -                                  ^ String must be entirely alphanumeric (*pnp0c14)

dsdt.dsl  2840:                         And (Local0, 0x0F)
Warning  1104 -                                   ^ Result is not used, operator has no effect

dsdt.dsl  2898:                         And (Local0, 0x0F)
Warning  1104 -                                   ^ Result is not used, operator has no effect

dsdt.dsl  2956:                         And (Local0, 0x0F)
Warning  1104 -                                   ^ Result is not used, operator has no effect

dsdt.dsl  3014:                         And (Local0, 0x0F)
Warning  1104 -                                   ^ Result is not used, operator has no effect

dsdt.dsl  3072:                         And (Local0, 0x0F)
Warning  1104 -                                   ^ Result is not used, operator has no effect

dsdt.dsl  3130:                         And (Local0, 0x0F)
Warning  1104 -                                   ^ Result is not used, operator has no effect

dsdt.dsl  3188:                         And (Local0, 0x0F)
Warning  1104 -                                   ^ Result is not used, operator has no effect

dsdt.dsl  3246:                         And (Local0, 0x0F)
Warning  1104 -                                   ^ Result is not used, operator has no effect

dsdt.dsl  3715:                     Return (Package (0x00) {})
Remark   5070 -    Effective AML package length is zero ^

ASL Input:  dsdt.dsl - 4702 lines, 148834 bytes, 1511 keywords
Compilation complete. 1 Errors, 8 Warnings, 1 Remarks, 545 Optimizations

Sistemando lo "*" (ovvero togliendolo), l'errore non c'è più..

Io di ste cose non ne ho mai fatte, mai patchato un kernel.. e ti dirò.. andare un po' alla cieca quando si lavora su ste cose non mi ispira molto.

Comunque ti ringrazio davvero tanto nel frattempo ^^
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Mon Oct 01, 2007 4:44 pm    Post subject: Reply with quote

Elbryan wrote:
il mio è un dell 640m e, purtroppo, non è listato su acpi.sourceforge.net.

uhm, ti conviene proprio iscriverti sulla ML e chiedere a qualcuno che ne sa sul serio. Tra l'altro dovresti vedere di sapere se il tizio che ha escogitato la patch ha la tua stessa versione del bios.

in ogni caso il valore corretto dovrebbe essere "PNP0C14" maiuscolo e non minuscolo, prova se funziona per prima cosa con la dsdt originale, i warning li puoi ignorare per il momento.
Poi prova con quella patchata (vedi che ogni volta che cambi la dsdt devi ricompilare tutto il kernel ed il file giusto dovrebbe essere il dsdt.hex) e fai sapere.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Mon Oct 01, 2007 4:55 pm    Post subject: Reply with quote

djinnZ wrote:
Elbryan wrote:
il mio è un dell 640m e, purtroppo, non è listato su acpi.sourceforge.net.

uhm, ti conviene proprio iscriverti sulla ML e chiedere a qualcuno che ne sa sul serio. Tra l'altro dovresti vedere di sapere se il tizio che ha escogitato la patch ha la tua stessa versione del bios.

in ogni caso il valore corretto dovrebbe essere "PNP0C14" maiuscolo e non minuscolo, prova se funziona per prima cosa con la dsdt originale, i warning li puoi ignorare per il momento.
Poi prova con quella patchata (vedi che ogni volta che cambi la dsdt devi ricompilare tutto il kernel ed il file giusto dovrebbe essere il dsdt.hex) e fai sapere.


io ho un dubbio.. che override devo prendere? ^^''
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Mon Oct 01, 2007 8:18 pm    Post subject: Reply with quote

http://vger.kernel.org/vger-lists.html#linux-acpi
o
https://lists.osdl.org/mailman/listinfo/linux-pm

se dai uno sguardo qui potresti anche pensare di aggiungerti alla discussione.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Elbryan
Guru
Guru


Joined: 13 Nov 2006
Posts: 523
Location: Rovereto (TN)

PostPosted: Mon Oct 01, 2007 8:44 pm    Post subject: Reply with quote

djinnZ wrote:
http://vger.kernel.org/vger-lists.html#linux-acpi
o
https://lists.osdl.org/mailman/listinfo/linux-pm

se dai uno sguardo qui potresti anche pensare di aggiungerti alla discussione.


e che faccio? già il tipo ha postato la patch e nessuno gli ha risposto..
penso che io e la mia ignoranza siano ben di poco aiuto lì dentro :)

edit:
http://bugzilla.kernel.org/show_bug.cgi?id=5155#c6

Guarda guarda..a quanto pare qualcuno ha postato qualche sorta di workaround ma.. ad essere sincero non ci capisco nulla..
Cioè.. nulla è relativo, capisco dove hanno modificato e capisco anche ora il perché (o quasi) non vada ma da lì a capire come sistemarlo.. beh ne passa..
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Mon Oct 01, 2007 8:50 pm    Post subject: Reply with quote

in primis tenere d'occhio il bug :wink:
poi secondo il grado di faccia tosta
"bump"?
scocciare anche in ML per far seguire la cosa?
postare un banale messaggio sempre nella prima ML e dire "sono niubbo ed ho un problema con un dell 640m"?
anche tutti insieme. In fin dei conti nel peggiore dei casi ti possono mandare a c***** ma niente di più.

(e questa è la volta buona che drittzt e scen in quanto devel frequentatori di questo forum pagano qualcuno che venga a spezzarmi le gambe, non è proprio correttissimo ma tutto è lecito :lol: )
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum