Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!

Iniciado por Hqxriven, 24 de Dezembro de 2007, 13:26

tópico anterior - próximo tópico

edisonjr

eu vou experimentar compila-lo novamente... uma vez que eu mandei o meu acer 5100 com athlon 64 x2 e ele tava com um problema no cooler e no dissipador... agora veremos se ele vai superaquecer ou não

Ilkyest

http://www.guiadohardware.net/comunidade/controle-kde/1001423/
dá uma olhada no post meu, e tenta ativar isso.

ajuda bastante. talvez seja isso. ah!
Citar
O script seria simples, mude para a pasta .kde/Autostart/:
Código:

$ cd .kde/Autostart

Agora abra um arquivo "em branco" tipo kpowersave.sh:
Código:

$ nano kpowersave.sh

E copie o conteúdo daí de baixo e cole dentro do arquivo que vc acabou de abrir no editor nano:
Código:

#!/bin/sh /usr/bin/kpowersave & sleep 2 exit 0

A linha #!/bin/sh tem que ser a primeira linha no alto do arquivo, as demais ficam na mesma ordem mostrada aí em cima. A linha "sleep 2" é opcional, só coloquei para dar um retardo de 2 segundos antes de sair com exit 0, após a execução do comando kpowersave &.

Agora salve o conteúdo do arquivo com um "Ctrl + o" e saia do editor com "Ctrl + x".

Agora dê permissão para execução:
Código:

$ chmod +x kpowersave.sh

Agora reinicie o KDM e o programa deve se mostrar executando na barra de notificações, e também deve aparecer em execução após o comando:
Código:

$ ps aux | grep kpowersave

Não se esqueça de que as variáveis que definem um "esquema" de otimização da(s) CPU(s) ficam em /etc/powersave/cpufreq

O kpowersave é só uma interface gráfica. Para funcionar ela depende de "daemons" ou "gerenciadores = governors" que esteja(m) no sistema rodando em segundo plano como serviços. Para saber qual ou quais "governors" estão no seu sistema, faça:
Código:

$ cpufreq-info -g

Lá no tópico que vc citou, eu te passei a instalação do "governor" powersaved, que fica em /etc/rc5.d (kurumin, sidux) ou em /etc/rc2.d (Debian, Ubuntu).

Flw!

na integra. uma MP de outro fórum, sobre o script. tô fazendo ele daqui a pouco

Hqxriven

Citareu vou experimentar compila-lo novamente... uma vez que eu mandei o meu acer 5100 com athlon 64 x2 e ele tava com um problema no cooler e no dissipador... agora veremos se ele vai superaquecer ou não

Essa máquina que vc disse que no momento está aquecendo é um acer 5100???
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

MSXManiac

#1353
Citação de: Hqxriven online 10 de Setembro de 2009, 06:42


CitarTô no aguardo dum 2.6.31 com essa maravilha.... Ou eu simplesmente atiro o patch dele num 2.6.30 prá ver sair fumaça do micrim ? ? ? ? ? ? ?

O meu não saiu fumaça com o 2.09 (2.6.30) e foi bom... mas eu ainda quero mais...

Obrigado a todos e Bom Dia!!!

Hqx





Garoto guloso, kkkkkkkkkkkkkkkkkkkkkkkkkkk

Com cerveja, Norteña dúvidas!

Como eu estou meio atrolhado de serviço no momento, vou ficar na espera prá ver se tu posta algo novo. Se até eu me livrar deste enrosco não surgir nada, vou fazer uns testes...

A propósito, o 2.6.31 já tá stable. É só aguardar essa galera ir largando os patchs prá vc ir fazendo a sua seleção!

Abrax!!!
ASUSTek P5QPL-AM + Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz (Yorkfield) + 4 Gb RAM 800 MHz

MSXManiac

Citação de: Hqxriven online 10 de Setembro de 2009, 06:42
O meu não saiu fumaça com o 2.09 (2.6.30) e foi bom... mas eu ainda quero mais...

Obrigado a todos e Bom Dia!!!

Hqx


Bom, eu não resisti e mandei bala. Segui o teu tutorial apenas aplicando o patch dele ao invés do omnislash.
No primeiro reboot ficou paradão no splash do studio. Aí dei reset e editei a entrada tirando o quiet e o splash e ele entrou. Aí fui nos menus do ubuntu (nem lembro qual) e ativei/desativei o splash incluindo as msgs e dei reboot again.
Bombou e logo de cara percebi que tanto o google-chrome quanto o chromium simplesmente não rodam. Mandei executar pelo terminal os dois com e sem o --enable-plugins e o resultado sempre é algo do gênero:

Citar
root@PC-Vista:~# /opt/google/chrome/google-chrome %U
[5495:5495:370854053:FATAL:/usr/local/google/home/chrome-eng/b/slave/chrome-official-linux/build/src/chrome/browser/renderer_host/browser_render_process_host.cc(791)] Check failed: peer_pid == process_.pid(). 5518 3
Captura trace/breakpoint

A única coisa que muda é o número do processo. Gozado que é só neste kernel com este patch. Funciona normal nos outros. Afora isto, não percebi nenhum outro que não funcione.
Deu uma melhorada nos tempos de execução, mas não notei assim grande discrepância comparado ao omnislash 5.4, numa máquina com um Core2 Duo E4700 c/ 2 gigas.
ASUSTek P5QPL-AM + Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz (Yorkfield) + 4 Gb RAM 800 MHz

Hqxriven

CitarBom, eu não resisti e mandei bala. Segui o teu tutorial apenas aplicando o patch dele ao invés do omnislash.
No primeiro reboot ficou paradão no splash do studio. Aí dei reset e editei a entrada tirando o quiet e o splash e ele entrou. Aí fui nos menus do ubuntu (nem lembro qual) e ativei/desativei o splash incluindo as msgs e dei reboot again.
Bombou e logo de cara percebi que tanto o google-chrome quanto o chromium simplesmente não rodam. Mandei executar pelo terminal os dois com e sem o --enable-plugins e o resultado sempre é algo do gênero:

Só de olhar essa linha...

trace/breakpoint

Já vi que não roda... a maioria dos tracers do kernel não rodam com o BFS...

http://ck.kolivas.org/patches/bfs/bfs-faq.txt

CitarCurrently known problems?

1. Intermittent boot failures on some hardware.
2. Stuck tasks on the same hardware as 1. after extended periods, suggesting
   a common problem.
3. Stuck tasks after extensive use of trace functions (ptrace etc.). Note that
   some distributions' package managers use trace functions.
4. Failure to suspend on some hardware.
5. More likely to show up bugs in *other* code due to being much more
   aggressive at using multiple CPUs so race conditions will show up more
   frequently.

CitarA única coisa que muda é o número do processo. Gozado que é só neste kernel com este patch. Funciona normal nos outros. Afora isto, não percebi nenhum outro que não funcione.
Deu uma melhorada nos tempos de execução, mas não notei assim grande discrepância comparado ao omnislash 5.4, numa máquina com um Core2 Duo E4700 c/ 2 gigas.

O omnislash 5.4 tem alguma coisa do BFS... (kthread, idleprio... mas não usa (O BFS) por completo

Além disso o BFS precisa de uma boa configuração para rodar (eu compilei a versão 2.09 umas 7 ou 8 vezes e achei melhor com a config abaixo... apesar de saber que é possível ir mais longe...)

http://rapidshare.com/files/279301021/configx86

http://rapidshare.com/files/279301972/omnislash.bz2

http://rapidshare.com/files/279303780/configx86-64

Como hoje a noite eu fiz alguns testes aqui está a versão que estou usando no momento... e está legal... mas eu queria ir mais longe... (acho que por essa semana é só...)
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

edisonjr

Citação de: Hqxriven online 12 de Setembro de 2009, 13:32
Citareu vou experimentar compila-lo novamente... uma vez que eu mandei o meu acer 5100 com athlon 64 x2 e ele tava com um problema no cooler e no dissipador... agora veremos se ele vai superaquecer ou não

Essa máquina que vc disse que no momento está aquecendo é um acer 5100???

exatamente....

MSXManiac

#1357
Citação de: Hqxriven online 12 de Setembro de 2009, 23:35

Só de olhar essa linha...

trace/breakpoint

Já vi que não roda... a maioria dos tracers do kernel não rodam com o BFS...

http://ck.kolivas.org/patches/bfs/bfs-faq.txt

CitarCurrently known problems?

1. Intermittent boot failures on some hardware.
2. Stuck tasks on the same hardware as 1. after extended periods, suggesting
  a common problem.
3. Stuck tasks after extensive use of trace functions (ptrace etc.). Note that
  some distributions' package managers use trace functions.
4. Failure to suspend on some hardware.
5. More likely to show up bugs in *other* code due to being much more
  aggressive at using multiple CPUs so race conditions will show up more
  frequently.

O omnislash 5.4 tem alguma coisa do BFS... (kthread, idleprio... mas não usa (O BFS) por completo

Além disso o BFS precisa de uma boa configuração para rodar (eu compilei a versão 2.09 umas 7 ou 8 vezes e achei melhor com a config abaixo... apesar de saber que é possível ir mais longe...)

http://rapidshare.com/files/279301021/configx86

http://rapidshare.com/files/279301972/omnislash.bz2

http://rapidshare.com/files/279303780/configx86-64

Como hoje a noite eu fiz alguns testes aqui está a versão que estou usando no momento... e está legal... mas eu queria ir mais longe... (acho que por essa semana é só...)

Outra coisa...Antes de eu ler  este teu último post, como nesta instalação ainda não tinha compilado o 5.4, resolvi fazê-lo, só que eu estava rodando o kernel com o patch do kolivas.

Compilou direitim etc e tal e na hora de instalar dava um erro ao tentar sobrepor configuração de firmware já presente no kernel corrente. Resetei e pelo kernel padrão eu tentei os pacotes compilados antes e deu o mesmo erro. Como to sem paciência prá refazer tudo de novo, dei um dpkg -i --force-all e ele fez tudo. Tá rodando legal o omni sem stress e inclusive to postando via chromium.

E só agora vejo teu post. Bom, o jeito é entrar no kernel padrão, remover estes dois últimos e recompilar o omnislash com estes novos parâmetros!

Abrax e um fds bem showdi meu guerreiro, que vc merece!
ASUSTek P5QPL-AM + Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz (Yorkfield) + 4 Gb RAM 800 MHz

Hqxriven

#1358
Citação de: edisonjr online 13 de Setembro de 2009, 00:01
Citação de: Hqxriven online 12 de Setembro de 2009, 13:32
Citareu vou experimentar compila-lo novamente... uma vez que eu mandei o meu acer 5100 com athlon 64 x2 e ele tava com um problema no cooler e no dissipador... agora veremos se ele vai superaquecer ou não

Essa máquina que vc disse que no momento está aquecendo é um acer 5100???

exatamente....

Então vc precisa disso:

São patches usados pelo Pardus (se quiser pegue-os aqui:):

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/kernel/0008-acerhdf-Acer-Aspire-One-fan-control.patch

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/kernel/0009-hp-wmi-Add-support-for-reporting-tablet-state.patch

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/kernel/0010-eeepc-laptop-enable-camera-by-default.patch

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/kernel/0048-acerhdf-fix-fan-control-for-A0A150-model.patch

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/pardus/linux-2.6-add-acerhk-driver.patch

Depois de aplicar o omnislash vc aplica assim: patch -p1 < eonomedopatch.patch (e o patch tem que ficar no mesmo diretório que fica o omnislash) eu já compilei em um kernel e não tive problemas com eles... espero que funcione com vc...

CitarOutra coisa...Antes de eu ler  este teu último post, como nesta instalação ainda não tinha compilado o 5.4, resolvi fazê-lo, só que eu estava rodando o kernel com o patch do kolivas.

Compilou direitim etc e tal e na hora de instalar dava um erro ao tentar sobrepor configuração de firmware já presente no kernel corrente. Resetei e pelo kernel padrão eu tentei os pacotes compilados antes e deu o mesmo erro. Como to sem paciência prá refazer tudo de novo, dei um dpkg -i --force-all e ele fez tudo. Tá rodando legal o omni sem stress e inclusive to postando via chromium.

E só agora vejo teu post. Bom, o jeito é entrar no kernel padrão, remover estes dois últimos e recompilar o omnislash com estes novos parâmetros!

Abrax e um fds bem showdi meu guerreiro, que vc merece!

Esse omnislash que postei acima é o 2.6.30.6.2 omnislash com BFS puro... para aplicar em um 2.6.30...

E possivelmente terá o problema com o chromium...

E esse abaixo é o 2.6.30.6.4 omnislash sem BFS (onde fiz o máximo possível para o CFS (que é estável pelo menos... ficar interativo) com patches...)

http://rapidshare.com/files/279430457/configx86

http://rapidshare.com/files/279431185/configx86-64

http://rapidshare.com/files/279431592/omnislash.bz2

Sinceramente... achei que ficou mais estável que o anterior... e não consegui perceber muitas diferenças em relação a velocidade da 6.2 com BFS...

Obrigado a todos e Bom dia!!

Hqx
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

edisonjr

CitarEntão vc precisa disso:

São patches usados pelo Pardus (se quiser pegue-os aqui:):

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/kernel/0008-acerhdf-Acer-Aspire-One-fan-control.patch

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/kernel/0009-hp-wmi-Add-support-for-reporting-tablet-state.patch

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/kernel/0010-eeepc-laptop-enable-camera-by-default.patch

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/kernel/0048-acerhdf-fix-fan-control-for-A0A150-model.patch

http://svn.pardus.org.tr/pardus/2009/devel/kernel/default/kernel/files/pardus/linux-2.6-add-acerhk-driver.patch

Depois de aplicar o omnislash vc aplica assim: patch -p1 < eonomedopatch.patch (e o patch tem que ficar no mesmo diretório que fica o omnislash) eu já compilei em um kernel e não tive problemas com eles... espero que funcione com vc...


hqx, deixa eu te perguntar uma coisa, eu dei uma olhada nos patchs, e aparentemente eles são direcionados pro acer one... funcionam em qualquer outro modelo da acer??

gatohumano

Alguém me pode ajudar a traduzir as seguintes alterações para a forma de ficheiro patch?é que fazer tudo a mão cada vez que sai um omnislash novo da muito trabalho:

Editar o source do kernel
Ficheiros a editar libata-core.c, libata-eh.c and libata.h

libata-core.c

Procurar

module_param_named(noacpi, libata_noacpi, int, 0444);
MODULE_PARM_DESC(noacpi, "Disables the use of ACPI in probe/suspend/resume
when set");

logo abaixo adicionar

int libata_force_cbl = 0;
module_param_named(force_cbl, libata_force_cbl, int, 0644);
MODULE_PARM_DESC(force_cbl, "force PATA cable type (0=keep, 40=40c, 80=80c)");

Procurar

if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA))
/* UDMA/44 or higher would be available */
if ((ap->cbl == ATA_CBL_PATA40) ||
(ata_is_40wire(dev) &&
(ap->cbl == ATA_CBL_PATA_UNK ||
ap->cbl == ATA_CBL_PATA80))) {
ata_dev_printk(dev, KERN_WARNING,
"limited to UDMA/33 due to 40-wire cable\n");
xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
}

Remover e substituir por

if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA)) {
switch (libata_force_cbl) {
case 40:
/* limit to UDMA/33 */
ata_dev_printk(dev, KERN_INFO, "forcing 40c\n");
xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
break;
case 80:
/* ignore cable checks */
ata_dev_printk(dev, KERN_INFO, "forcing 80c\n");
break;
default:
/* UDMA/44 or higher would be available */
if ((ap->cbl == ATA_CBL_PATA40) ||
(ata_is_40wire(dev) &&
(ap->cbl == ATA_CBL_PATA_UNK ||
ap->cbl == ATA_CBL_PATA80))) {
ata_dev_printk(dev, KERN_WARNING,
"limited to UDMA/33 due to 40-wire cable\n");
xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
}
}
}

libata-eh.c

Procurar

(ehc->i.flags & ATA_EHI_DID_RESET))

Remover e substituir por

(ehc->i.flags & ATA_EHI_DID_RESET)) {
ap->cbl = ap->ops->cable_detect(ap);
if (!(ap->flags & ATA_FLAG_SATA) && libata_force_cbl) {
switch (libata_force_cbl) {
case 40:
ata_port_printk(ap, KERN_INFO, "forcing 40c\n");
ap->cbl = ATA_CBL_PATA40;
break;
case 80:
ata_port_printk(ap, KERN_INFO, "forcing 80c\n");
ap->cbl = ATA_CBL_PATA80;
break;
default:
ata_port_printk(ap, KERN_WARNING,
"invalid force_cbl value %d\n",
libata_force_cbl);
}
}
}

libata.h

Procurar

extern int libata_noacpi;

logo abaixo adicionar

extern int libata_force_cbl;


Hqxriven

#1361
gatohumano será que isso abaixo entra...

Achei esse:

Citardiff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 4753a18..8c93878 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -119,6 +119,10 @@ int libata_noacpi = 0;
module_param_named(noacpi, libata_noacpi, int, 0444);
MODULE_PARM_DESC(noacpi, "Disables the use of ACPI in probe/suspend/resume when set");

+int libata_force_cbl = 0;
+module_param_named(force_cbl, libata_force_cbl, int, 0644);
+MODULE_PARM_DESC(force_cbl, "force PATA cable type (0=keep, 40=40c, 80=80c)");
+
MODULE_AUTHOR("Jeff Garzik");
MODULE_DESCRIPTION("Library module for ATA devices");
MODULE_LICENSE("GPL");
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 21a81cd..7e53215 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -2296,9 +2296,27 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link,

   /* PDIAG- should have been released, ask cable type if post-reset */
   if (ata_is_host_link(link) && ap->ops->cable_detect &&
-       (ehc->i.flags & ATA_EHI_DID_RESET))
+       (ehc->i.flags & ATA_EHI_DID_RESET)) {
      ap->cbl = ap->ops->cable_detect(ap);

+      if (!(ap->flags & ATA_FLAG_SATA) && libata_force_cbl) {
+         switch (libata_force_cbl) {
+         case 40:
+            ata_port_printk(ap, KERN_INFO, "forcing 40c\n");
+            ap->cbl = ATA_CBL_PATA40;
+            break;
+         case 80:
+            ata_port_printk(ap, KERN_INFO, "forcing 80c\n");
+            ap->cbl = ATA_CBL_PATA80;
+            break;
+         default:
+            ata_port_printk(ap, KERN_WARNING,
+                  "invalid force_cbl value %d\n",
+                  libata_force_cbl);
+         }
+      }
+   }
+
   /* Configure new devices forward such that user doesn't see
    * device detection messages backwards.
    */
diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h
index bbe59c2..b990a8d 100644
--- a/drivers/ata/libata.h
+++ b/drivers/ata/libata.h
@@ -60,6 +60,7 @@ extern int atapi_dmadir;
extern int atapi_passthru16;
extern int libata_fua;
extern int libata_noacpi;
+extern int libata_force_cbl;
extern struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev);
extern int ata_build_rw_tf(struct ata_taskfile *tf, struct ata_device *dev,
            u64 block, u32 n_block, unsigned int tf_flags,


Achei esse outro e alterei de 2.6.24 para 2.6.30: http://bbs.archlinux.org/viewtopic.php?id=53914

Citardiff -Naur linux-2.6.30-old/drivers/ata/libata-core.c linux-2.6.30/drivers/ata/libata-core.c
--- linux-2.6.30-old/drivers/ata/libata-core.c    2008-04-08 23:28:46.000000000 +0200
+++ linux-2.6.30/drivers/ata/libata-core.c    2008-04-09 00:21:54.000000000 +0200
@@ -119,6 +119,10 @@
module_param_named(noacpi, libata_noacpi, int, 0444);
MODULE_PARM_DESC(noacpi, "Disables the use of ACPI in probe/suspend/resume when set");

+int libata_force_cbl = 0;
+module_param_named(force_cbl, libata_force_cbl, int, 0644);
+MODULE_PARM_DESC(force_cbl, "force PATA cable type (0=keep, 40=40c, 80=80c)");
+
MODULE_AUTHOR("Jeff Garzik");
MODULE_DESCRIPTION("Library module for ATA devices");
MODULE_LICENSE("GPL");
@@ -4318,17 +4322,30 @@
    * drive side as well. Cases where we know a 40wire cable
    * is used safely for 80 are not checked here.
    */
-    if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA))
-        /* UDMA/44 or higher would be available */
-        if ((ap->cbl == ATA_CBL_PATA40) ||
-            (ata_is_40wire(dev) &&
-            (ap->cbl == ATA_CBL_PATA_UNK ||
-             ap->cbl == ATA_CBL_PATA80))) {
-            ata_dev_printk(dev, KERN_WARNING,
-                 "limited to UDMA/33 due to 40-wire cable\n");
-            xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
+       if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA)) {
+                switch (libata_force_cbl) {
+                        case 40:
+                               /* limit to UDMA/33 */
+                                ata_dev_printk(dev, KERN_INFO, "forcing 40c\n");
+                               xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
+                               break;
+                        case 80:
+                               /* ignore cable checks */
+                                ata_dev_printk(dev, KERN_INFO, "forcing 80c\n");
+                               break;
+                       default:
+                               /* UDMA/44 or higher would be available */
+                               if ((ap->cbl == ATA_CBL_PATA40) ||
+                                   (ata_is_40wire(dev) &&
+                                   (ap->cbl == ATA_CBL_PATA_UNK ||
+                                    ap->cbl == ATA_CBL_PATA80))) {
+                                       ata_dev_printk(dev, KERN_WARNING,
+                                                "limited to UDMA/33 due to 40-wire cable\n");
+                                       xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
+                               }
       }
-
+    }
+  
   ata_unpack_xfermask(xfer_mask, &dev->pio_mask,
               &dev->mwdma_mask, &dev->udma_mask);
}
diff -Naur linux-2.6.30-old/drivers/ata/libata-eh.c linux-2.6.30/drivers/ata/libata-eh.c
--- linux-2.6.30-old/drivers/ata/libata-eh.c    2008-04-08 23:28:46.000000000 +0200
+++ linux-2.6.30/drivers/ata/libata-eh.c    2008-04-09 00:26:39.000000000 +0200
@@ -2296,8 +2296,26 @@

   /* PDIAG- should have been released, ask cable type if post-reset */
   if (ata_is_host_link(link) && ap->ops->cable_detect &&
-        (ehc->i.flags & ATA_EHI_DID_RESET))
+           (ehc->i.flags & ATA_EHI_DID_RESET)) {
       ap->cbl = ap->ops->cable_detect(ap);
+      
+        if (!(ap->flags & ATA_FLAG_SATA) && libata_force_cbl) {
+                       switch (libata_force_cbl) {
+                       case 40:
+                               ata_port_printk(ap, KERN_INFO, "forcing 40c\n");
+                               ap->cbl = ATA_CBL_PATA40;
+                               break;
+                       case 80:
+                               ata_port_printk(ap, KERN_INFO, "forcing 80c\n");
+                               ap->cbl = ATA_CBL_PATA80;
+                               break;
+                       default:
+                               ata_port_printk(ap, KERN_WARNING,
+                                               "invalid force_cbl value %d\n",
+                                               libata_force_cbl);
+                       }
+               }
+       }

   /* Configure new devices forward such that user doesn't see
    * device detection messages backwards.
diff -Naur linux-2.6.30-old/drivers/ata/libata.h linux-2.6.30/drivers/ata/libata.h
--- linux-2.6.30-old/drivers/ata/libata.h    2008-04-08 23:28:46.000000000 +0200
+++ linux-2.6.30/drivers/ata/libata.h    2008-04-08 23:31:53.000000000 +0200
@@ -60,6 +60,7 @@
extern int atapi_passthru16;
extern int libata_fua;
extern int libata_noacpi;
+extern int libata_force_cbl;
extern struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev);
extern int ata_build_rw_tf(struct ata_taskfile *tf, struct ata_device *dev,
              u64 block, u32 n_block, unsigned int tf_flags,

E esse também:

http://jim.rees.org/computers/force_cbl.diff

Um deles tem que entrar...  ;D ;D ;D

Citarhqx, deixa eu te perguntar uma coisa, eu dei uma olhada nos patchs, e aparentemente eles são direcionados pro acer one... funcionam em qualquer outro modelo da acer??

Podem funcionar ou não... eu quero é descobrir a raiz do problema!!!

Antes de tudo olhe aqui:

http://wiki.sidux.forumdebian.com.br/Cheatcodes_para_alguns_notebooks_da_Acer

E depois caso as coisas não funcionem...

Podemos tentar as partes abaixo:

Hipóteses

1 - Detecção incorreta da bios ou do controle do cooler (com esses patches eu acho que descarto isso)
2 - Falha no Xorg com a radeon (vou ter que descobrir o que fazer pq além do xorg novo eu tenho que saber o que vc usa)
3 - Regressão da série 2.6.30
4 - Falta um patch ou config no omnislash
5 - Processo zombie...

(Se vc tiver paciência (ao cubo) possivelmente descobriremos onde reside o problema (eu tenho fé!!!)... (eu sei que possivelmente para vc será um pouco chato tentar descobrir o problema)

Para isso dois kernels da série 30 terão que ser usados... um o omnislash e o outro o ppa do ubuntu...

Se com os dois kernels com vesa não conseguirem dar boot ficamos na situação 3... se somente o omnislash não conseguir estamos na situação 4...

Tente instalar o driver radeon (para o ppa e teste e depois no omnislash e teste) e veja se o problema acontece... caso ocorra é o caso 2 caso não ocorra no kernel ppa no omnislash há o problema 4

Espero que ajude...

Obrigado a todos e Bom Dia!!

Hqx
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

gatohumano


Hqxriven

#1363
Até que enfim...

Kernel 2.6.30.7.1-omnislash

O que esse kernel possui:

Fastboot - para um boot um pouco mais rápido
Kthread com nice
Compcache para melhorar a performance
Idleprio para melhorar a fluidez
Desativação do NEW_FAIR_SLEEPERS para melhorar a performance (Recomendação para o CFS ser mais interativo como o BFS)
Redução da latência alvo para 5 mseg
Atualizações para o CFS (ganho de performance)
Alteração do delay do tsc
Alteração do delay de dispositivos usb de 5 para 1 segundo
Conserto no vazamento de memória do kernel (tc)
Alteração do libata para detectar se o cabo é 40 vias ou 80 e mudar para a velocidade máxima (se suportada) - Valeu gatohumano!!! e desculpe pela demora... Eu tive que criar o patch e gastei o dia todo...

http://rapidshare.com/files/281100253/configx86

http://rapidshare.com/files/281104074/configx86-64

http://rapidshare.com/files/281089758/omnislash.bz2

md5sum configx86 configx86-64 omnislash.bz2
5fe0617564300a43a1c1185c72645546  configx86
2997a3910e3d9b82cc4471bd3e733681  configx86-64
11edc85e9019a5ea07cfb1ca3a909527  omnislash.bz2

Esse foi o kernel que fiz mais testes... E possivelmente a próxima versão vira daqui há alguns meses...

Ramzswap

Use o comando abaixo para ativar:

echo "ramzswap" >> /etc/modules && echo "/dev/ramzswap0 none swap sw,pri=100 0 0" >> /etc/fstab

Obrigado a todos e Boa Noite!!!

Hqx
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

galactus

#1364
Hqx meu caro, tentei compilar essa nova versão do Omnislash mas deu erro! Aliás, um não,  mas uma série deles. Começou na aplição do patch. Ele reclamou que vários patchs bloqueariam o Ramswap! Mas mandei bala mesmo assim confirmando com a opção -R.

Depois na hora de compliar ele reclamou do hífen no x86-64! E logo de início ele para de compilar com o seguinte erro (resumindamente):

"arch/x86/kernel/asm-offsets Erro 1
Erro 2
Saindo do diretório ....
Erro 2"

Me desculpa pelo resumo tosco dos erros, mas é que eu to compilando no notebook com ubuntu, mas só tenho net no pc com Windows! fica muito ruim ter que digitar aquele calhamaço de mensagens!!!  ::)

Realizei os mesmos passos da compilação da versão 4.2, inclusive fiz as mesmas modificações no .config do kernel a ser compilado, e não teve erro algum antes. Será o motivo de eu estar usando o kernel omnislash nesta compilação? Antes tava usando o kernel padrão sem o Ramswap ativo.
Bom, provavelmente foi algum erro de noob meu mesmo!



BigLinux no Notebook  / Várias Distros Virtualizadas no PC.