%% LyX 1.3 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
 \newenvironment{lyxcode}
   {\begin{list}{}{
     \setlength{\rightmargin}{\leftmargin}
     \setlength{\listparindent}{0pt}% needed for AMS classes
     \raggedright
     \setlength{\itemsep}{0pt}
     \setlength{\parsep}{0pt}
     \normalfont\ttfamily}%
    \item[]}
   {\end{list}}

\usepackage{babel}
\makeatother
\begin{document}

\title{Guia d'afinament de GNU/Linux sobre Dell Latitude X1}

\maketitle

\section{Presentació}

Benvinguts!

Pel motiu que sigui heu vengut a parar aquí :-)

Això és una petita guia d'afinament de configuracions pel Dell Latitude
X1 sobre GNU/Linux. Es suposa que ja es parteix d'una base instal·lada
sobre la qual treballar. Si encara no teniu GNU/Linux funcionant podeu
provar-ho amb una Debian, Ubuntu o qualsevol altre. Jo ho he fet amb
Debian, però això no significa res!


\section{Novetats}

Darrera actualització \textbf{14 d'abrir del 2006}.


\subsection{14 d'abril del 2006}

\begin{itemize}
\item Nova secció ACPI (pareix que la suspensió a RAM funciona bé, cal comprovar)
\item Nous enllaços
\item Paquet Debian pel Linux-2.6.17-rc1 amb pegats (a la secció de fitxers)
\item Enllaç a la web del firmware per a ipw2200
\end{itemize}

\subsection{14 d'abril del 2006}

\begin{itemize}
\item Document inicial
\end{itemize}

\section{Que funciona i que no}

Llistat del maquinari que fins al dia d'avui he fet funcionar, si
algú te novetats, que m'informi, per favor! 


\subsection{Funciona perfectament}

\begin{itemize}
\item Pantalla LCD
\item Teclat
\item Touchpad amb emulació de tres botons
\item DVD-RW extern via D-Bay de Dell
\item Port Firewire 1394
\item Entrada de micròfon i auriculars
\item USB
\item Tarja de xarxa Gigabit de Broadcom
\item Lector de targes CompactFlash
\end{itemize}

\subsection{Funciona bé però cal fer alguns ajustaments}

\begin{itemize}
\item Pantalla LCD a 1280x768 i 24 bits
\item Tecles de funcions especials
\item Scroll del touchpad gràcies a synaptics
\item Acceleració 3D Intel i915
\item Tarja de xarxa Wireless Intel 2200BG
\item Suspensió al Disc
\item Lector de targes SD (a partir del Linux-2.6.17-rc1)
\end{itemize}

\subsection{Encara no funciona bé, però hi ha esperànces}

\begin{itemize}
\item Modem (sense provar)
\item Suspensió a RAM (inestable)
\end{itemize}

\section{Kernel}


\subsection{Configuració}

Per poder tenir tot el maquinari funcionant necessitau tenir nucli
(kernel) compilat a mida amb les opcions adequades. Aquí teniu el
meu fitxer de configuració del Linux-2.6.17-rc1 amb els següents pegats.


\subsection{Pegats interessants}

Els pegats (patch) que he emprat son els següents:

\begin{description}
\item [Software~Suspend~2]Amb aquest pegat podeu fer la suspensió al
Disc.
\item [Vesa~FrameBuffer~TNG]Aquest és per a poder emprar el framebuffer
a consola.
\end{description}

\subsection{Paquet Debian}

Pels debianites pererosos aquí teniu un regal: \textbf{}El darrer
kernel (Linux-2.6.17-rc1) amb els pegats, configurat, compilat i empaquetat
apunt d'instal·lar. Pot estalviar esforços a alguns de vosaltres.


\section{X.Org}


\subsection{Configuració}

Aquí vos deix el fitxer de configuració de les XOrg que estic emprant.
La versió, concretament, és la 7.0 de Debian a la branca Inestable.
Necessitareu una versió superior a la 6.8, ja que les més antigues
no tenen suport per a la tarja gràfica i915.


\subsection{915resolution}

Aquí ve el truc per fer que les xorg acceptin al nostre LCD a 1280x768.

Heu d'instal·lar la utilitat 915resolution i executar el segúent comandament:

\begin{lyxcode}
915resolution~5c~1280~768
\end{lyxcode}
Això ho haureu d'executar cada vegada que arrenqueu el sistema. L'altre
solució és fer que s'executi automaticament afegit aquestes opcions
al fitxer de configuració (/etc/default/915resolution) d'aquest programa:

\begin{lyxcode}
MODE=5c

XRESO=1280

YRESO=768
\end{lyxcode}

\section{Wireless}


\subsection{Configuració}

Amb el nou nucli ja està totalment integrat el driver de la wireless.
Tan sols instalau el kernel d'una versió 2.6.14 o superior amb la
opció ipw2200 activada. Amb els nuclis més antics podeu instalar aquest
driver descarregant-lo de http://ipw2200.sourceforge.net


\subsection{Firmware}

El driver necessita un firmware del fabricant (Intel) per a poder
funcionar. Aquest, l'haureu de descarregar de la web del projecte
ipw2200 (http://ipw2200.sourceforge.net/firmware.php) i colocar-lo
a: /lib/firmware/


\section{Bluetooth}

El bluetooth tampoc te cap problema, la veritat és que no l'he emprat
gaire, però funciona. L'heu d'activar a les opcions de la Bios i també
des del teclat amb la tecla de Funció i F2. Apareix un led blau quan
està en funcionament.

Cercant per la xarxa podeu trobar utilitats per interconectar amb
distints dispositius amb tecnologia bluetooth.


\section{Compact flash}

La compact flash també funciona perfectament, encara que he de dir
que no ho he comprovat personalment. Empra el bus pcmcia.


\section{SD}

Aquest és l'element, fins ara, més complicat de fer funcionar de tot
el portàtil. Però ja han sortit del forn uns drivers bastan fiables
que permeten llegir targetes SD i MMC. Jo ja he aconseguit fer-la
funcionar amb la meva targeta SD de 64MB i algunes targetes més grans
que m'han deixat alguns companys. Amb paciència tot arriba.

Una vegada tenim instalat el nucli nou, simplement cal carregar els
mòduls mmc\_core, sdhci i mmc\_block.

Ens apareixerà el dispositiu: /dev/mmcblk0 i ja el podrem muntar sense
cap problema.


\section{ACPI}


\subsection{Escalat de freqüència de la CPU}

Per a l'escalat de freqüència jo empro el 'governor' ondemand, també
ho podeu fer amb el 'governor' conservative o bé amb l'userspace i
un programa que manetgi les freqüencies, per exemple cpudyn.

Per emprar l'ondemand jo vaig instalar el paquet cpufrequtils i a
cada inici de la màquina execut la comanda:

\begin{lyxcode}
/usr/bin/cpufreq-set~-g~ondemand
\end{lyxcode}
Ho he automatitzat incloent aquesta comanda al fitxer latitudex1 (que
podeu trobar a l'àrea de descàrrega), el qual he ficat al directòri
/etc/init.d i l'he enllaçat des de /etc/rc2.d, així: 'ln -s ../init.d/latitudex1
S20latitudex1'.

Com podeu veure aquest fitxer també inclou una altra comanda, que
serveix per a eliminar un renouet que fa l'ordinador (no entenc exactament
el motiu).


\subsection{Suspensió a RAM}

Per a suspendre a RAM, simplement s'ha d'executar aquest comanda:

\begin{lyxcode}
echo~mem~>~/sys/power/state
\end{lyxcode}
Això es pot automatitzar si tenim instalat el paquet 'acpid'.

Els fitxers de configuració per l'acpid són:

\textbf{/etc/acpi/events/sleep}

\begin{lyxcode}
event=button/sleep.{*}

action=/etc/acpi/sleep.sh
\end{lyxcode}
\textbf{/etc/acpi/sleep.sh}

\begin{lyxcode}
\#!/bin/bash

echo~mem~>~/sys/power/state
\end{lyxcode}
Ara si apretam el botó de suspensió (Fn+Esc) l'ordinador es posarà
a dormir fins que apretem el botó del Power o bé obriguem la pantalla.


\subsection{Suspensió a Disc (SoftwareSuspend2)}

La suspensió al disc no m'ha fallat des de ja fa molt temps (l'uso
a diari, varies vegades).

Una vegada tenim el nucli a punt (amb els pegats i configurat correctament)
simplement ens cal instalar la utilitat d'hibernació (la podeu trobar
aquí: http://www.suspend2.net).

Un cop instalat podeu agafar el fitxer de configuració (hibernate.conf)
i col·locar-lo a /etc/hibernate.

Ara podeu hibernar executant com a root la comanda 'hibernate'.

Per automatitzar-ho ho podeu fer així:

\textbf{/etc/acpi/events/powerbtn}

\begin{lyxcode}
event=button{[}~/{]}power

action=/etc/acpi/powerbtn.sh
\end{lyxcode}
\textbf{/etc/acpi/powerbtn.sh}

\begin{lyxcode}
\#!/bin/bash

echo~/usr/local/sbin/suspend2ui\_fbsplash~>~/proc/suspend2/userui\_program

hibernate
\end{lyxcode}
Pels que us hagueu fitxat, diré que l'echo que he afegit, sense avisar
és per als que vulgueu emprar suspend2ui, per a mostrar el procés
d'hibernació. Aquesta utilitat també la podeu trobar a http://www.suspend2.net.


\section{Problemes i millores pel futur}

Els problemes que hi ha actualment són:

\begin{itemize}
\item La suspensió a la ram, la qual algunes vegades deixa la màquina penjada
i cal reiniciar. A vegades funciona i a vegades no, cal assegurar-ne
la fiabilitat. En Pau Rul·lan assegura que a partir del Linux-2.6.16
la cosa funciona \textbf{sempre}. Jo n'estic fent proves, de moment
6 resultats satisfactòris de 6 intents.
\item El modem. En realitat no sé si hi ha alguna forma de fer-lo funcionar,
possiblement ho faci amb els drivers de Linuxant o alguns altres,
però no ho he provat (són drivers privatius).
\end{itemize}

\section{Altres referències}


\subsection{Guies per a l'X1}

L'ordre no és irellevant.

\begin{description}
\item [http://gentoo-wiki.com/HARDWARE\_Dell\_Latitude\_X1]Això és la bíblia.
Encara que expliqui com fer-ho per Gentoo es pot aplicar a qualsevol
distribució.
\item [http://folk.ntnu.no/gronslet/blog/linux-on-a-dell-x1-aka-samsung-q30]És
bastan complet, però no l'actualitzen gaire sovint, una llàstima.
\item [https://wiki.ubuntu.com/InstallingUbuntuOnADellLatitudeX1]Wiki Ubuntera.
Bastan completa (acap de veure que hi ha una explicació de com emprar
el modem)
\item [http://www.marlow.dk/dell\_x1]Guia d'instalació de Debian.
\item [http://freshrpms.net/docs/x1/]Ja s'està quedant antiquat. És molt
esqüet, el més important són els fitxers de configuració per a l'acpid.
\item [http://www.lsw.uni-heidelberg.de/users/sbrinkma/debian\_on\_dell.html]Manualet
d'instalació d'una Debian a l'X1
\item [http://en.opensuse.org/User:Jvdoever]Esqueta guia per a instalar
OpenSUSE a l'X1
\end{description}

\subsection{Webs oficials}

\begin{description}
\item [http://www1.us.dell.com/content/products/productdetails.aspx/latit\_x1?c=us\&cs=22\&l=en\&s=dfh]Plana
de Dell per al Latitude X1
\end{description}

\subsection{Projectes relacionats}

\begin{description}
\item [http://www.suspend2.net/]Software Suspend 2 (pegat per a la suspensió
al disc)
\item [http://dev.gentoo.org/\textasciitilde{}spock/projects/vesafb-tng/]VesaFB-Tng
(pegat per al framebuffer)
\item [http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci]SDHCI (drivers per
a la lectora SD)
\item [http://sourceforge.net/projects/ipw2200]IPW2200 (projecte per a
la wireless)
\item [http://sourceforge.net/projects/ipw2200-ap]IPW2200-AP (projecte
per a fer funcionar la wireless en mode Punt d'Accés)
\end{description}

\section{Contacte}

Bé, no me presentat. Tampoc ho faré ara, només dir que sóc Antoni
Villalonga i que si em voleu dir res podeu enviar smap a antoni@\_i\_@friki.org

\textbf{Salut!}
\end{document}
