{"id":368,"date":"2005-04-14T17:41:37","date_gmt":"2005-04-14T15:41:37","guid":{"rendered":"http:\/\/www.marblestation.com\/blog\/?p=368"},"modified":"2012-04-26T18:16:03","modified_gmt":"2012-04-26T16:16:03","slug":"soporte-smart-batteries-en-ubuntu-hoary-sin-recompilar-kernel","status":"publish","type":"post","link":"https:\/\/www.marblestation.com\/?p=368","title":{"rendered":"Soporte Smart Batteries en Ubuntu Hoary sin recompilar kernel"},"content":{"rendered":"<p><a href=\"http:\/\/lluispamies.net\/?function=viewentry&#038;entry=23\">Llu\u00eds me ha dado una gran sorpresa<\/a> al encontrar <a href=\"http:\/\/www.ubuntu-es.org\/node\/3028\">un m\u00e9todo<\/a> con el cual se puede tener soporte de Smart Batteries (e.g. Port\u00e1til Acer 4002WLMi) en Ubuntu Hoary <a href=\"http:\/\/www.marblestation.com\/blog\/index.php?p=332\">sin tener que recompilar el kernel<\/a>. En contrapartida el arranque se ralentiza unos 10 o 15 segundos, pero al menos es una soluci\u00f3n m\u00e1s asequible para novatos. Por ahora no lo probar\u00e9 dado que ya tengo el kernel compilado con soporte, pero lo tendr\u00e9 en cuenta para el futuro \ud83d\ude00<\/p>\n<p><b>Actualizaci\u00f3n I<\/b> He probado el m\u00e9todo descrito con un Acer TravelMate 4002WLMi, para que funcionase sin problemas he tenido que utilizar el compilador de Intel versi\u00f3n <a href=\"http:\/\/developer.intel.com\/technology\/iapc\/acpi\/downloads\/acpica-unix-20050309.tar.gz\">2005-03-09<\/a>, con otras versiones me fue imposible compilar sin errores.<\/p>\n<p><b>Actualizaci\u00f3n II<\/b> Me he cansado que no funcione la web de ubuntu-es cada vez que quiero consultar su art\u00edculo, as\u00ed que lo a\u00f1ado a continuaci\u00f3n:<\/p>\n<p>Tengo la suerte de contar con un Acer TM 4001 wlmi, cuya bater\u00eda es una smart battery y no funciona con los drivers acpi por defecto.<\/p>\n<p>Bruno Ducrot creo un parche del kernel y unos m\u00f3dulos para poder acceder, pero ten\u00eda alg\u00fan bug q me petaba al cargarse del todo o descargarse del todo. Adem\u00e1s, hab\u00eda que recompilar el n\u00facleo.<\/p>\n<p>Pues bueno, ahora tengo por fin una soluci\u00f3n relativamente sencilla para el problema, sin recompilar kernel en ubuntu.<\/p>\n<p>Lo que se necesita es el parche dsdt-initrd, pero ubuntu lo trae aplicado ya en sus kernels (al menos hoary). Tambi\u00e9n Mandrake lo trae y es posible que otras distros tambi\u00e9n lo traigan.<\/p>\n<p>Lo siguiente que se necesita es un compilador\/decompilador raro de intel llamado iasl.<br \/>\nPara bajarse las fuentes, hay que ir a:<br \/>\nhttp:\/\/developer.intel.com\/technology\/iapc\/acpi\/downloads.htm<br \/>\nHabr\u00e1 que compilar, que no es muy dificil.<br \/>\nHace falta flex, y creo que bison. Eso s\u00ed, tuve problemas con el paquete flex de ubuntu (demasiado nuevo??) y tuve que instalar el paquete flex-old, tambi\u00e9n en los repositorios, para poder compilarlo.<\/p>\n<p>Una vez que tenemos el ejecutable podemos copiarlo por ejemplo en \/usr\/local\/bin para tenerlo en el PATH.<\/p>\n<p>Ahora, nos bajaremos la ultima versi\u00f3n del driver en:<br \/>\nhttp:\/\/sourceforge.net\/projects\/<b style=\"color:black;background-color:#ffff66\">sbs-linux<\/b>\/<br \/>\nDescomprimimos en \/donde\/quieras\/sbs-{version}<\/p>\n<p>Ejecutamos (en algunos casos necesitaremos ser root o sudoer):<br \/>\n$ cd \/donde\/quieras\/sbs-{version}<br \/>\n$ cat \/proc\/acpi\/dsdt > dsdt.dat<br \/>\n$ iasl -d dsdt.dat<br \/>\n$ patch < XXXXXXXX-sbs-cm.diff<\/p>\n<p>$ iasl dsdt.dsl<br \/>\nObtenemos as\u00ed DSDT.aml<br \/>\nLas XXXXXXXX son la versi\u00f3n del diff y variar\u00e1 seg\u00fan el ordenador. Solo hay dos ficheros que son:<br \/>\nacer-tm4xxxx-sbs-cm.diff<br \/>\nacer-tm32xx-sbs-cm.diff<br \/>\nPara m\u00e1s info, leeros el README del sbs-{version}<\/p>\n<p>Ahora, lo m\u00e1s delicado. Vamos a modificar nuestro initrd, pero lo haremos en una copia:<br \/>\n$ cp \/boot\/initrd.img-{version} \/boot\/initrd.img-{version}-dsdt<br \/>\nPor alguna extra\u00f1a raz\u00f3n no me deja modificar con sudo los initrd as\u00ed que usamos root:<\/p>\n<p>$ sudo -s<br \/>\nY ahora parcheamos nuestro initrd<br \/>\n$ echo -n &#8220;INITRDDSDT123DSDT123&#8221; >> \/boot\/initrd.img-{version}-dsdt<br \/>\n$cat DSDT.aml >> \/boot\/initrd.img-{version}-dsdt<br \/>\n$echo -n &#8220;INITRDDSDT321DSDT321&#8221; >> \/boot\/initrd.img-{version}-dsdt <\/p>\n<p>Ahora, solo tenemos que editar el fichero \/boot\/grub\/menu.lst<br \/>\n$ sudo gedit \/boot\/grub\/menu.lst<br \/>\nBuscamos nuestra entrada del kernel actual, la copiamos y modificamos el initrd a\u00f1adiendo al final -dsdt<br \/>\nOs copio mi entrada modificada, pero la vuestra podr\u00eda cambiar:<\/p>\n<p>title Ubuntu, kernel 2.6.10-5-686-dsdt<br \/>\n#:2 < -- type: 0 => linux, 1 => windows, 2 => other<br \/>\nroot\t\t(hd0,1)<br \/>\nkernel\t\t\/boot\/vmlinuz-2.6.10-5-686 root=\/dev\/hda2 ro quiet splash<br \/>\ninitrd\t\t\/boot\/initrd.img-2.6.10-5-686-dsdt<br \/>\nsavedefault<br \/>\nboot<\/p>\n<p>Lo \u00fanico que cambia es el -dsdt que a\u00f1ado en la l\u00ednea del initrd y en el nombre.<\/p>\n<p><b>Actualizaci\u00f3n III<\/b> Nuevo m\u00e9todo para <a href=\"http:\/\/www.marblestation.com\/blog\/?p=401\">Smart batteries en Ubuntu<\/a> m\u00e1s sencillo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Llu\u00eds me ha dado una gran sorpresa al encontrar un m\u00e9todo con el cual se puede tener soporte de Smart Batteries (e.g. Port\u00e1til Acer 4002WLMi) en Ubuntu Hoary sin tener que recompilar el kernel. En contrapartida el arranque se ralentiza unos 10 o 15 segundos, pero al menos es una soluci\u00f3n m\u00e1s asequible para novatos. &hellip; <a href=\"https:\/\/www.marblestation.com\/?p=368\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Soporte Smart Batteries en Ubuntu Hoary sin recompilar kernel<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-368","post","type-post","status-publish","format-standard","hentry","category-espanyol","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=368"}],"version-history":[{"count":1,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/368\/revisions"}],"predecessor-version":[{"id":1545,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/368\/revisions\/1545"}],"wp:attachment":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}