<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hiparco &#187; Hardware</title>
	<atom:link href="http://guimi.net/blogs/hiparco/category/hardware/feed/" rel="self" type="application/rss+xml" />
	<link>http://guimi.net/blogs/hiparco</link>
	<description>Recetas y trucos de GNU/Linux e informática en general</description>
	<lastBuildDate>Mon, 02 Apr 2012 11:53:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Instalación de firmware en Debian</title>
		<link>http://guimi.net/blogs/hiparco/instalacion-de-firmware-en-debian/</link>
		<comments>http://guimi.net/blogs/hiparco/instalacion-de-firmware-en-debian/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 12:18:50 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=719</guid>
		<description><![CDATA[[Este apartado es un resumen de una entrada de Raphael Hertzog. Si el artículo todavía está disponible recomiendo ir al original.] Una duda habitual al instalar un GNU/Linux es el tipo de procesador del que se dispone. En un PC con linux (por ejemplo arrancando con un Live-CD) podemos hacer: $ grep &#8220;^flags&#8221; /proc/cpuinfo &#124; [...]]]></description>
			<content:encoded><![CDATA[<p>[Este apartado es un resumen de una <a href="http://raphaelhertzog.com/2011/03/14/missing-firmware-in-debian-learn-how-to-deal-with-the-problem/">entrada</a> de <a href="http://raphaelhertzog.com">Raphael Hertzog</a>. Si el artículo todavía está disponible recomiendo ir al original.]</p>
<p>Una duda habitual al instalar un GNU/Linux es el tipo de procesador del que se dispone. En un PC con linux (por ejemplo arrancando con un Live-CD) podemos hacer:<br />
<font class="comando">$ grep &#8220;^flags&#8221; /proc/cpuinfo | grep -q &#8221; lm &#8221; &#038;&#038; echo &#8220;amd64&#8243; || echo &#8220;i386&#8243;</font></p>
<p>Puede ocurrir que al instalar Debian un equipo, una parte del hardware no funcione correctamente por falta del correspondiente firmware (o el uso de uno que no es totalmente adecuado). Una opción es obtener de Raphael Hertzog un <a href="http://raphaelhertzog.com/products/debian-cd-dvd/">disco de Debian con firmware</a>.</p>
<p>Otra opción es realizar una instalación básica de Debian y posteriormente verificar el firmware necesario e instalarlo.<br />
Si es necesario, pueden bajarse paquetes desde otro equipo desde la <a href="http://www.debian.org/distrib/packages">web de Debian</a>.<br />
Después se instala con <font class="comando"># dpkg -i <em>paquete</em></font></p>
<p>Si el equipo necesita algún firmware, durante la instalación, al actualizar el kernel o al hacer un update-initramfs aparecerán mensajes diciendo:<br />
&#8220;<em>may require additional firmware</em>&#8221; o &#8220;<em>Failed to load firmware</em>&#8221; o &#8220;<em>Possible missing firmware</em>&#8220;.<br />
Podemos buscar más mensajes mediante:<br />
<font class="comando"># dmesg | grep firmware</font><br />
<font class="comando"># grep firmware /var/log/installer/*</font></p>
<p>Por ejemplo podemos encontrar:</p>
<pre class="codigo">e100: eth0: e100_request_firmware: Failed to load firmware "e100/d101m_ucode.bin": -2</pre>
<p>El firmware que requiere el módulo e100 es:<br />
<font class="comando">$ modinfo -F firmware /lib/modules/2.6.32-5-amd64/kernel/drivers/net/e100.ko</font></p>
<pre class="codigo">e100/d102e_ucode.bin
e100/d101s_ucode.bin
e100/d101m_ucode.bin</pre>
<p>Lo mejor es regenerar la imagen de inicio:<br />
<font class="comando"># update-initramfs</font></p>
<pre class="codigo">update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64
W: Possible missing firmware /lib/firmware/e100/d102e_ucode.bin for module e100
W: Possible missing firmware /lib/firmware/e100/d101s_ucode.bin for module e100
W: Possible missing firmware /lib/firmware/e100/d101m_ucode.bin for module e100</pre>
<p>Una vez visto el firmware que nos falta averiguamos dónde obtenerlo y lo instalamos:<br />
<font class="comando">$ apt-cache search d101m_ucode.bin</font></p>
<pre class="codigo">firmware-linux-nonfree - Binary firmware for various drivers in the Linux kernel</pre>
<p><font class="comando"># aptitude install firmware-linux-nonfree</font></p>
<p>Para ver todos los paquetes de firmware disponibles:<br />
<font class="comando">$ aptitude search firmware</font></p>
<p>El firmware se instala en:</p>
<ul>
<li>/lib/firmware/$(uname -r)</p>
<li>/lib/firmware
<li>/usr/local/lib/firmware
<li>/usr/lib/hotplug/firmware
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/instalacion-de-firmware-en-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNIe en Debian GNU/Linux Squeeze</title>
		<link>http://guimi.net/blogs/hiparco/dnie-en-debian-gnulinux-squeeze/</link>
		<comments>http://guimi.net/blogs/hiparco/dnie-en-debian-gnulinux-squeeze/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 10:36:07 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=585</guid>
		<description><![CDATA[Este artículo muestra cómo instalar el DNIe en Debian GNU/Linux Squeeze. Para instalar el DNIe en Debian Lenny y en Ubuntu Karmic Koala visitar el siguiente artículo: DNIe en GNU/Linux. Una vez instalado un lector de DNI-e, también nos sirve para utilizar tarjetas criptográficas CardOs M4 como las que utiliza por ejemplo la Comunidad Valenciana [...]]]></description>
			<content:encoded><![CDATA[<p>Este artículo muestra cómo instalar el DNIe en <a href="http://www.debian.org" class="externo">Debian GNU/Linux Squeeze</a>.</p>
<p>Para instalar el DNIe en <a href="http://www.debian.org" class="externo">Debian Lenny</a> y en <a href="http://www.ubuntu.com" class="externo">Ubuntu Karmic Koala</a> visitar el siguiente artículo: <a href="http://guimi.net/blogs/hiparco/dnie-en-gnulinux/">DNIe en GNU/Linux</a>.</p>
<p>Una vez instalado un lector de DNI-e, también nos sirve para <a href="http://guimi.net/blogs/hiparco/tarjeta-cardos-m4-en-gnulinux/">utilizar tarjetas criptográficas CardOs M4</a> como las que utiliza por ejemplo la Comunidad Valenciana a través de la <a href="http://www.accv.es/" class="externo">ACCV</a>.</p>
<p>El DNI electónico o DNIe se puede hacer funcionar en GNU/Linux, tanto <b>para identificarse</b> en webs como <strong>para firmar documentos</strong> todo con <b>plena validez legal</b>. El problema es que a la hora de hacer los drivers hubo varias chapuzas, problemas con las licencias libres, utilización de librerías incorrectas&#8230; Así que para instalarlo en Debian Squeeze hace falta utilizar un poco de magia ;-) Que es un modo más bonito de decir que hay que parchear la instalación para que funcionen los paquetes.</p>
<p><center><img src="/imgs/blog/dnie/logo-dni-electronico.jpg" alt="DNIe" /> <img src="/imgs/blog/dnie/DNIe_75.png" alt="DNIe" /></center><br />
No hay que olvidar que el DNIe tiene sus limitaciones y pegas de seguridad. (Para los &#8220;paranoicos&#8221; se recomienda utilizar el DNIe únicamente desde sistemas de solo lectura como un CD con <a href="http://www.knoppix.net" class="externo">Knoppix</a>).<br />
Tampoco hay que olvidar que una firma &#8220;normal&#8221; es mucho más facil de falsificar que una firma electrónica, pese a que ninguna sea totalmente segura.<br />
&nbsp;<br />
Las siguientes instrucciones se han probado en <a href="http://www.debian.org" class="externo">Debian Squeeze</a> con un lector <a href="http://c3po.es/ltc31.html" class="externo">C3PO LTC31</a> (de venta en las oficinas de correos por 19,90 &euro;), con un &#8220;<a href="http://www.bit4id.com/" class="externo">miniLector Bit4id</a>&#8221; del <a href="http://www.planavanza.es/" class="externo">plan avanza2</a> (es un <a href="http://www.acs.com.hk/index.php?pid=product&#038;id=ACR38" class="externo">Advanced Card Systems ACR38-U</a> pero con una caja blanca) y con un lector <a href="http://www.hidglobal.com/prod_detail.php?prod_id=186">Omnikey 3021</a>.<br />
<center><img src="/imgs/blog/dnie/C3PO_LTC31.jpg" alt="C3PO_LTC31" /> <img src="/imgs/blog/dnie/ACS_ACR38-U.jpg" alt="ACS_ACR38-U" /> <img src="/imgs/blog/dnie/omnikey_3021.jpg" alt="Omnikey 3021" /></center><br />
&nbsp;</p>
<h2>INSTALACIÓN DEL LECTOR</h2>
<p>Básicamente <b>vamos a instalar los paquetes de Debian Lenny en nuestro Squeeze</b>.</p>
<pre class="codigo">$ wget http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/1.4.6.Debian_Lenny_32/Debian_Lenny_opensc-dnie_1.4.6-2_i386.deb.tar</pre>
<p>Para hacerlos funcionar necesitaremos un par de librerías del repositorio de Lenny:</p>
<pre class="codigo">$ wget http://ftp.es.debian.org/debian/pool/main/libt/libtool/libltdl3_1.5.26-4+lenny1_i386.deb
$ wget http://ftp.es.debian.org/debian/pool/main/o/openct/libopenct1_0.6.14-3_i386.deb</pre>
<p>Instalamos los paquetes:</p>
<pre class="codigo">$ tar xvf Debian_Lenny_opensc-dnie_1.4.6-2_i386.deb.tar
libopensc2_0.11.7-7_i386.deb
opensc-dnie_1.4.6-2_i386.deb
opensc_0.11.7-7_i386.deb
# dpkg -i libltdl3_1.5.26-4+lenny1_i386.deb
# dpkg -i libopenct1_0.6.14-3_i386.deb
# dpkg -i libopensc2_0.11.7-7_i386.deb
# dpkg -i opensc_0.11.7-7_i386.deb
# aptitude install pinentry-gtk2
# dpkg -i opensc-dnie_1.4.6-2_i386.deb
<font class="comentario"># Bloqueamos los paquetes
#+ para que no se actualicen, ya que los de la distribución son
#+ más modernos pero el DNIe no funciona con ellos</font>
# aptitude hold libltdl3 libopenct1 libopensc2 opensc opensc-dnie
</pre>
<p>&nbsp;<br />
Nos indica que hemos de registrar el módulo PKCS#11 en iceweasel/firefox utilizando el enlace que nos crea en el menú principal del escritorio en &#8220;<i>Oficina-> Registrar módulo DNIe PKCS#11</i>&#8220;.<br />
Indicamos que confiamos en la nueva Autoridad Certificadora (CA) para las tres posibilidades.<br />
&nbsp;<br />
Podemos comprobar si el sistema reconoce correctamente el lector con el comando &#8220;pcsc_scan&#8221; y probando a introducir y sacar el DNIe (u otras tarjetas similares):</p>
<pre class="codigo"># aptitude install pcscd pcsc-tools
$ pcsc_scan
PC/SC device scanner
[...]
Reader 0: ACS ACR 38U-CCID 00 00
  Card state: <b>Card inserted</b>,
[...]
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
	<b>DNI electronico (Spanish electronic ID card)</b>

http://www.dnielectronico.es

 Reader 0: ACS ACR 38U-CCID 00 00
  Card state: <b>Card removed</b>,
</pre>
<p>&nbsp;<br />
Otras pruebas que podemos hacer son (estas con una tarjeta CardOs M4):</p>
<pre class="codigo">$ opensc-tool -l
Readers known about:
Nr.    Driver     Name
0      pcsc       C3PO LTC31 (00426664) 00 00
$ opensc-tool -a
Using reader with a card: C3PO LTC31 (00426664) 00 00
3b:f2:98:00:ff:c1:10:31:fe:55:c8:04:12
$ opensc-tool -n
Using reader with a card: C3PO LTC31 (00426664) 00 00
CardOS M4
</pre>
<p>&nbsp;<br />
Para que funcione bien iceweasel/firefox y detecte el módulo sin problemas es necesario reiniciar el navegador.<br />
&nbsp;<br />
&nbsp;</p>
<h2>USO Y DISFRUTE</h2>
<p>Lo primero que hay que saber es que en el DNIe tenemos a nuestra disposición dos certificados, uno para identificarnos (certificado de autenticación) y otro para firmar (certificado de firma), lo que son los dos principales usos del DNIe.</p>
<p>También es importante saber que cada aplicación que utiliza el DNIe establece una &#8220;sesión&#8221; con el lector de tarjetas y que no puede haber dos sesiones abiertas a la vez. Es decir <b>no podemos usar el DNIe en dos aplicaciones a la vez</b>. Sin embargo muchas aplicaciones no indican adecuadamente esta circunstancia y simplemente parece que no funcionan.<br />
Así por ejemplo si iniciamos sesión en iceweasel/firefox para acceder a una web, no podemos firmar un archivo pdf con sinadura hasta cerrar sesión. Y al revés, tras firmar un fichero con sinadura no nos deja validarnos con iceweasel.<br />
Ante la duda <u>basta con extraer y volver a introducir el DNIe en el lector para asegurarse que está disponible el acceso</u>.<br />
&nbsp;<br />
Un último recordatorio, si se introduce el PIN del DNIe erróneamente tres veces seguidas, éste se bloquea. Así que al hacer pruebas con los programas y sus configuraciones hay que tener cuidado. A mí se me bloqueó haciendo pruebas con Sinadura (para desbloquearlo hay que pasar 5 minutos por una comisaria), así que después cada vez que hacía una prueba con un programa si no funcionaba perfectamente iniciaba sesión en iceweasel/firefox.<br />
&nbsp;</p>
<h3>Identificarse en sitios web con iceweasel/firefox</h3>
<p>El DNIe se puede utilizar al navegar para identificarse en un sitio web. Así por ejemplo si nos identificamos en la web de la <a href="http://www.seg-social.es" class="externo">seguridad social</a> podremos descargarnos al instante nuestra vida laboral.</p>
<p>Primero debemos asegurarnos que hemos registrado en iceweasel/firefox el módulo de DNIe PKCS#11 (usando el menú principal del escritorio en &#8220;<i>Oficina-> Registrar módulo DNIe PKCS#11</i>&#8220;).<br />
En caso contrario podemos registrarlo a mano desde &#8220;<i>Editar -> Preferencias -> Avanzado -> Cifrado -> Dispositivos de seguridad</i>&#8220;. Seleccionamos &#8220;Cargar&#8221;, indicamos un nombre, por ejemplo &#8220;DNIe &#8211; OpenSC PKCS#11&#8243;, y la ruta del módulo &#8220;/usr/lib/opensc-pkcs11.so&#8221;.<br />
<img src="/imgs/blog/dnie/Dispositivos_Seguridad.png" alt="DNIe" /><br />
&nbsp;<br />
Si la instalación ha sido correcta y tenemos el lector conectado con un DNIe introducido, nos habilitará la opción &#8220;Iniciar sesión&#8221; (¡bien!). Si iniciamos sesión nos pedirá el PIN, pero antes es mejor reiniciar el navegador para que nos pida instalar el certificado de la DGP (<a href="http://www.policia.es/" class="externo">Dirección General de la Policia</a>).<br />
&nbsp;<br />
<b>Comprobaciones</b><br />
Podemos probar nuestro DNIe en el navegador en la <a href="http://www.dnielectronico.es/como_utilizar_el_dnie/verificar.html" class="externo">página de verificación del portal oficial</a> (el enlace para la verificación está al final de esa página).</p>
<p>Si todo ha ido bien el navegador nos pide nuestro PIN para iniciar sesión (si no lo hemos introducido antes):<br />
<img src="/imgs/blog/dnie/DNIe-PIN.png" alt="PIN DNIe" /></p>
<p>Cuando conectamos con una web en la que debemos identificarnos nos pregunta cuál de los dos certificados (el de firma o el de autenticación) queremos utilizar. Para identificarnos usamos el de autenticación.<br />
<img src="/imgs/blog/dnie/certificado.png" alt="Certificado DNIe" /></p>
<p>Si el navegador nos indica:</p>
<blockquote><p>El otro extremo de la conexión SSL no puede verificar su certificado.<br />
(Código de error: ssl_error_bad_cert_alert)</p></blockquote>
<p>Es porque no hemos iniciado sesión correctamente (hemos fallado el PIN 3 veces, no lo hemos puesto, no está bien instalado el lector&#8230;).<br />
&nbsp;<br />
Lo recomendado es &#8220;Iniciar sesión&#8221; en el navegador solo cuando se necesita y &#8220;Terminar sesión&#8221; lo antes posible. Si visitamos una página que requiere certificado sin haber iniciado sesión, el navegador nos solicitará el PIN automáticamente, pero para cerrar sesión hay que ir &#8220;a mano&#8221; a la opción &#8220;<i>Dispositivos de seguridad</i>&#8221; del menú.<br />
&nbsp;</p>
<h3>Firmar archivos PDF con Sinadura</h3>
<p>Otro uso interesante del DNIe es firmar un archivo PDF. Esta firma tiene plena validez legal. Es decir, hasta ahora había que hacer un documento, imprimirlo y después firmarlo a mano. Ahora podemos hacer un documento, guardarlo como PDF (por ejemplo con <a href="http://es.openoffice.org/" class="externo">OpenOffice Writer</a>) y después firmarlo con nuestro DNIe.<br />
Hay que insistir en que tiene <b>plena validez legal</b>. Sirve para hacer contratos, compra ventas, reclamaciones&#8230;</p>
<p>Primero <a href="http://www.sinadura.net/downloads?p_p_id=20&#038;p_p_lifecycle=0&#038;p_p_state=maximized&#038;p_p_mode=view&#038;_20_struts_action=%2Fdocument_library%2Fview&#038;_20_folderId=70681" class="externo">descargamos Sinadura</a>, en mi caso he descargado la versión 2.0.0 para GNU/Linux de 32 bits.</p>
<p>Su instalación es muy sencilla, basta con hacer:</p>
<pre class="codigo">$ java -jar  sinadura-2.0.0-unix32-installer.jar</pre>
<p>y seguir el típico asistente de &#8220;siguiente&#8221;, &#8220;siguiente&#8221;, &#8220;siguiente&#8221;&#8230;</p>
<p>Para configurarlo vamos a &#8220;<i>Sinadura -> Preferencias -> Certificados</i>&#8220;, y elegir &#8220;<i>Tarjeta Criptográfica</i>&#8220;.<br />
También recomiendo ir a &#8220;<i>Sinadura -> Preferencias -> Firma</i>&#8221; y seleccionar otra imagen ya que la que viene por omisión (el logo de Sinadura) apenas permite leer el texto insertado. Yo me he creado una <a href="/imgs/blog/dnie/DNIe-150.png">imagen muy clarita del DNIe en grises</a>.<br />
&nbsp;</p>
<p>Utilizamos el botón &#8220;<i>Añadir documentos</i>&#8221; para seleccionar el documento pdf a firmar, en mi caso &#8220;prueba.pdf&#8221; y pulsamos &#8220;<i>Firmar</i>&#8220;.<br />
<img src="/imgs/blog/dnie/Sinadura-principal.png" alt="DNIe" /></p>
<p>El programa carga el certificado (la primera vez tarda un poco, si se cuelga probablemente sea por el problema de las sesiones que comentabamos al principio) y después nos pide el PIN del DNIe.<br />
<img src="/imgs/blog/dnie/Sinadura-Clave.png" alt="DNIe" /></p>
<p>Después elegimos el certificado a utilizar, en este caso el certificado de firma:<br />
<img src="/imgs/blog/dnie/Sinadura-Certificado.png" alt="DNIe" /></p>
<p>Nos solicita una confirmación:<br />
<img src="/imgs/blog/dnie/Sinadura-firma.png" alt="DNIe" /></p>
<p>Y ya está. Podemos verificar cualquier documento firmado también desde Sinadura. Primero lo seleccionamos y después utilizamos el botón &#8220;<i>Validar</i>&#8221;<br />
<img src="/imgs/blog/dnie/Sinadura-principal.png" alt="DNIe" /><br />
&nbsp;</p>
<h3>Más posibilidades</h3>
<p>Una de las posibilidades que la gente busca es firmar y/o cifrar correos electrónicos con el DNIe.<br />
Hay que decir que técnicamente se puede pero que su validez legal es cuanto menos dudosa, y como lo que se busca con el DNIe es tener validez legal no es muy práctico. Siempre se puede enviar un correo-e &#8220;normal&#8221; con un pdf firmado como adjunto, por ejemplo un contrato.</p>
<p>Esto es porque técnicamente para firmar y/o cifrar basta con tener un par de claves pública/privada, pero el estándar internacional PKI requiere, para firmar un correo-e, que el certificado de la clave indique una dirección de correo-e, que será la única que se &#8220;certificará&#8221;. Sin embargo en el DNIe no se indica ninguna dirección de correo-e, por lo que no se puede utilizar las firmas del DNIe para este fin.<br />
Lo más recomendado es firmar y cifrar con claves <a href="http://www.gnupg.org/" class="externo">GPG</a>, u obtener firmas de la <a href="http://www.fnmt.es/" class="externo">FNMT</a>, que sí están preparadas para este propósito.<br />
En todo caso hay buenas y sencillas guías en internet sobre cómo conseguir, técnicamente, firmar correos-e con el DNIe (<a href="http://www.securitybydefault.com/2008/07/gmail-dni-e.html" class="externo">GMail+DNIe</a>; <a href="http://www.securitybydefault.com/2008/12/thunderbird-dni-e.html" class="externo">Thunderbird+DNIe</a>).</p>
<p>Para consultar otras posibilidades tenemos <a href="http://www.google.es" class="externo">el oráculo</a>, la página de <a href="http://www.dnielectronico.es/servicios_disponibles/index.html" class="externo">Servicios Disponibles</a> o la web <a href="http://www.kriptopolis.org/autenticacion-login-con-el-dni-electronico-en-debian-etch-gnu-linux" class="externo">Kriptopolis</a>.<br />
&nbsp;<br />
&nbsp;<br />
<!-- wget http://v5.guadalinex.org/guadalinex-lobo/pool/main/o/opensc-dnie/opensc-dnie_1.4.0-5_i386.deb --></p>
<div class="keywords"><b>dnie, dni electrónico, linux, debian, squeeze, C3PO LTC31, miniLector Bit4id, ACS ACR38-U</b></div>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/dnie-en-debian-gnulinux-squeeze/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Tarjeta CardOS M4 en GNU/Linux</title>
		<link>http://guimi.net/blogs/hiparco/tarjeta-cardos-m4-en-gnulinux/</link>
		<comments>http://guimi.net/blogs/hiparco/tarjeta-cardos-m4-en-gnulinux/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 20:34:12 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=508</guid>
		<description><![CDATA[Las tarjetas CardOS M4 son tarjetas criptográficas fabricadas por Siemens y emitidas, entre otros, por la Comunidad Valenciana (a través de la ACCV) y la Junta de Andalucía. Para utilizarlas hace falta tener un lector de tarjetas instalado, por ejemplo el lector del DNI-e. Además hace falta tener instalado el controlador de la tarjeta para [...]]]></description>
			<content:encoded><![CDATA[<p>Las tarjetas CardOS M4 son tarjetas criptográficas fabricadas por Siemens y emitidas, entre otros, por la Comunidad Valenciana (a través de la <a href="http://www.accv.es/">ACCV</a>) y la Junta de Andalucía.</p>
<p>Para utilizarlas hace falta tener un lector de tarjetas instalado, por ejemplo <a href="http://guimi.net/blogs/hiparco/dnie-en-gnulinux/">el lector del DNI-e</a>.</p>
<p>Además hace falta tener instalado el controlador de la tarjeta para que el lector sepa trabajar con ella. Y aquí viene el problema, porque el driver que hay tiene restricciones de distribución, además de ser viejo y estar desactualizado.<br />
Al final se puede hacer funcionar con unos pocos pasos&#8230; el problema es averiguarlos. Tras mucho buscar, un <a href="http://andalinux.wordpress.com/2009/12/01/instalar-tarjeta-siemens-cardos-m4-01a-sle66cx322p-en-firefox-linux/">post de Andalinux</a> me dió las pistas correctas. Este post se debe a aquel (y copia descaradamente algunas partes).</p>
<p><strong>¿Dónde obtener los drivers (sólo binarios) para la tarjeta?</strong><br />
Pues aunque cuesta encontrarlos en Internet (por las restricciones de distribución impuestas por Siemens) hay varias formas de conseguirlos:</p>
<ol>
<li>En el cdrom de los lectores Omnikey 3121 y 3021.</li>
<li>En la web de la <a href="http://www.accv.es/cd/CD-Siemens.rar">Autoritat de Certificatió</a> de la Comunitat Valenciana.</li>
<li>En el paquete <a href="http://ftp.cica.es/Guadalinex/guadalinex_edu/pool/main/g/guadalinex-hipath-sicurity-card-api/">HiPath SIcurity CardOS smart cards API</a> que aparece en los repositorios de Guadalinex.</li>
</ol>
<p><strong>¿Cómo instalar los drivers?</strong><br />
Yo he utilizado el paquete de Guadalinex, por lo que basta un:</p>
<div class="codigo">sudo dpkg -i guadalinex-hipath-sicurity-card-api_3.1-2_i386.deb</div>
<p>En teoría ahora bastaría con cargar el módulo en Firefox, pero no os molestéis, no va a funcionar.</p>
<p>¿Y qué tripa se le ha roto al módulo? Preguntemos:</p>
<div class="codigo">ldd /usr/local/lib/libsiecap11.so</div>
<pre class="codigo">	linux-gate.so.1 =>  (0xb7794000)
	libz.so.1 => /lib/libz.so.1 (0xb76f1000)
	libsiecap15.so => /usr/local/lib/libsiecap15.so (0xb76c8000)
	[...]
	<strong>libpcsclite.so.0 => not found</strong>
	[...]
</pre>
<p>¡Ahí está!</p>
<p>Sin embargo tampoco nos basta con instalar esa librería (igual incluso ya está instalada):</p>
<div class="codigo">sudo aptitude install libpcsclite1</div>
<p>Porque el problema es que el paquete no instala la librería dónde la busca el módulo.<br />
¡Marchando un enlace simbólico!</p>
<div class="codigo">sudo ln -s /lib/libpcsclite.so.1.0.0 /usr/lib/libpcsclite.so.0</div>
<p>Y ahora sí podemos cargar en Firefox el módulo &#8220;/usr/local/lib/libsiecap11.so&#8221; que nos leerá la tarjeta.</p>
<p>Para más detalles sobre cómo instalar el módulo en Firefox se puede consultar la <a href="http://guimi.net/blogs/hiparco/dnie-en-gnulinux/">instalación del DNI-e</a>.</p>
<p><span class="keywords"><b>CardOS M4, Siemens, DNIe</b></span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/tarjeta-cardos-m4-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Cableado estructurado</title>
		<link>http://guimi.net/blogs/hiparco/cableado-estructurado/</link>
		<comments>http://guimi.net/blogs/hiparco/cableado-estructurado/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 12:07:15 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Monográficos]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=317</guid>
		<description><![CDATA[He publicado en versi&#243;n web el monogr&#225;fico sobre cableado estructurado que publiqu&#233; hace un tiempo en PDF (Cableado estructurado en PDF): Cableado estructurado en HTML. Incluye información sobre tipos de cables, directrices para el tendido de cableado, instalación de cableado estructurado, verificación y comprobación, conexionado de cableado RJ45&#8230; En esta p&#225;gina est&#225;n los diferentes monogr&#225;ficos [...]]]></description>
			<content:encoded><![CDATA[<p>He publicado en versi&oacute;n web el monogr&aacute;fico sobre cableado estructurado que publiqu&eacute; hace un tiempo en PDF (<a href="http://guimi.net/monograficos/G-Cableado_estructurado/G-Cableado_estructurado.pdf">Cableado estructurado en PDF</a>):<br />
<a href="http://guimi.net/monograficos/G-Cableado_estructurado/G-Cableado_estructurado.html">Cableado estructurado en HTML</a>.<br />
<img src="/monograficos/G-Cableado_estructurado/imgs/pq/GCableadoestructurado-img1.png" alt="Cableado estructurado" width="306" height="175"></p>
<p>Incluye información sobre <a href="/monograficos/G-Cableado_estructurado/G-CEnode2.html">tipos de cables</a>, <a href="/monograficos/G-Cableado_estructurado/G-CEnode7.html">directrices para el tendido de cableado</a>, <a href="/monograficos/G-Cableado_estructurado/G-CEnode12.html">instalación de cableado estructurado</a>, <a href="/monograficos/G-Cableado_estructurado/G-CEnode17.html">verificación y comprobación</a>, <a href="/monograficos/G-Cableado_estructurado/G-CEnode22.html">conexionado de cableado RJ45</a>&#8230;</p>
<p>En esta p&aacute;gina est&aacute;n los diferentes <a href="http://guimi.net/index.php?pag_id=cmsxp05_documentacion.html#tut">monogr&aacute;ficos y tutoriales sobre inform&aacute;tica</a> que voy publicando.</p>
<div class="keywords"><b>Cableado estructurado, ISO 11801, TIA/EIA 568, EN 50173, RJ45, Fibra óptica</b></div>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/cableado-estructurado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitidos de la BIOS</title>
		<link>http://guimi.net/blogs/hiparco/pitidos-de-la-bios/</link>
		<comments>http://guimi.net/blogs/hiparco/pitidos-de-la-bios/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 09:39:04 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=315</guid>
		<description><![CDATA[Copiado de un documento que está repetido m&#250;ltiples veces en internet sin conseguir saber cual es el autor original ni su licencia. ¿Qué ocurre desde que le damos al bot&#243;n de encendido hasta que aparece nuestro sistema operativo cargando? Cuando encendemos el ordenador, nuestra placa base hace una especie de escaneo a todo el sistema [...]]]></description>
			<content:encoded><![CDATA[<p>Copiado de un documento que está repetido m&uacute;ltiples veces en internet sin conseguir saber cual es el autor original ni su licencia.</p>
<p>¿Qué ocurre desde que le damos al bot&oacute;n de encendido hasta que aparece nuestro sistema operativo cargando?</p>
<p>Cuando encendemos el ordenador, nuestra placa base hace una especie de escaneo a todo el sistema para comprobar si todo está en regla y continuar cargando. Los pasos son los siguientes:</p>
<p>   1. Encendido, llega el voltaje a la placa base.<br />
   2. Seguidamente alimenta a los dispositivos de almacenamiento.<br />
   3. El microprocesador, resetea todos los contadores y registros para partir de 0.<br />
   4. Busca una dirección de BIOS para testear la máquina, y también busca el test (Comprobación de dispositivos conectados).<br />
   5. POST (Power On Self Test): Son un conjunto de rutinas y programas que chequean el hardware.<br />
      [Aquí­ es donde se producen los pitidos que indican el estado del ordenador]<br />
   6. La BIOS enví­a al microprocesador señales y asigna canales DMA y IRQ.<br />
   7. Inicializa la BIOS de la tarjeta gráfica.<br />
   8. Testeo y cuenta de memoria.<br />
   9. Habilita teclado LED&#8217;s y genera entradas.<br />
  10. Busca el sector de arranque.<br />
  11. Carga el boot manager y cede el control al sistema operativo. </p>
<p>Algunos pitidos habituales.</p>
<p>El modo que tiene la placa base de transmitir el estado del sistema es por medio de pitidos. Aquí tenemos algunos habituales:</p>
<p>    * Ningún pitido: No hay suministro eléctrico (vamos que el cable está sin enchufar, el cable en sí­ falla, o la caja de suministro eléctrico está deteriorada, la cuestión es que no llega corriente) o también puede ser que el altavoz falle (lo podréis comprobar si a continuación funciona correctamente).<br />
    * Tono continuo: Error en el suministro eléctrico (llega mal la corriente, o la caja de suministro esta fastidiada, no hay más que cambiarla).<br />
    * Tonos cortos constantes: La placa madre está defectuosa, es decir, está rota, es de lo peor que nos puede ocurrir.<br />
    * Un tono largo: Error de memoria RAM, lo normal es que está mal puesta o que está fastidiada.<br />
    * Un tono largo y otro corto: Error el la placa base o en ROM Basic. Esto suele ocurrir mucho en placas base viejas, la gente las suele tirar.<br />
    * Un tono largo y dos cortos: Error en la tarjeta gráfica. Puede que el puerto falle, por lo que no habría más que cambiarla de puerto, pero también puede ser que la tarjeta gráfica sea defectuosa.<br />
    * Dos tonos largos y uno corto: Error en la sincronización de las imágenes. Seguramente problema de la gráfica.<br />
    * Dos tonos cortos: Error de la paridad de la memoria. Esto ocurre sobretodo en ordenadores viejos que llevaban la memoria de dos módulos en dos módulos. Esto significaría que uno de los módulos falla, o que no disponemos de un número par de módulos de memoria.<br />
    * Tres tonos cortos: Esto nos indica que hay un error en los primeros 64Kb de la memoria RAM.<br />
    * Cuatro tonos cortos: Error en el temporizador o contador.<br />
    * Cinco tonos cortos: Esto nos indica que el procesador o la tarjeta gráfica se encuentran bloqueados. Suele ocurrir con el sobrecalentamiento.<br />
    * Seis tonos cortos: Error en el teclado. Si ocurre esto yo probaría con otro teclado. Si aun así no funciona se trata del puerto receptor del teclado.<br />
    * Siete tonos cortos: Modo virtual de procesador AT activo.<br />
    * Ocho tonos cortos: Error en la escritura de la video RAM.<br />
    * Nueve tonos cortos: Error en la cuenta de la BIOS RAM. </p>
<p>Algunas veces suenan algunos de estos pitidos pero luego sigue funcionando con normalidad. En ese caso sería problema del detector de errores o del escaneo que nos hace al encender el ordenador.</p>
<p>Se puede encontrar más información sobre otros pitidos y sobre BIOS específicas en <a href="http://bioscentral.com">BIOSCentral</a>.</p>
<div class="keywords"><b>pitidos BIOS</b></div>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/pitidos-de-la-bios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNIe en GNU/Linux</title>
		<link>http://guimi.net/blogs/hiparco/dnie-en-gnulinux/</link>
		<comments>http://guimi.net/blogs/hiparco/dnie-en-gnulinux/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 11:54:50 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=293</guid>
		<description><![CDATA[ARTÍCULO OBSOLETO: Para una versión más actual puedes leer como instalar el DNIe en Debian GNU/Linux Squeeze. Actualizado a Febrero de 2010 Una vez instalado un lector de DNI-e, también nos sirve para utilizar tarjetas criptográficas CardOs M4 como las que utiliza por ejemplo la Comunidad Valenciana a través de la ACCV. Actualizado a 30 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>ARTÍCULO OBSOLETO</strong>: Para una versión más actual puedes leer como instalar el <a href="http://guimi.net/blogs/hiparco/dnie-en-debian-gnulinux-squeeze/">DNIe en Debian GNU/Linux Squeeze</a>.</p>
<p><b>Actualizado a Febrero de 2010</b><br />
Una vez instalado un lector de DNI-e, también nos sirve para <a href="http://guimi.net/blogs/hiparco/tarjeta-cardos-m4-en-gnulinux/">utilizar tarjetas criptográficas CardOs M4</a> como las que utiliza por ejemplo la Comunidad Valenciana a través de la <a href="http://www.accv.es/">ACCV</a>.</p>
<p><b>Actualizado a 30 de Noviembre de 2009</b><br />
Ya está aquí el DNI electónico o DNIe. Y por supuesto se puede hacer funcionar en GNU/Linux, tanto <b>para identificarse</b> en webs como <strong>para firmar documentos</strong> todo con <b>plena validez legal</b>.<br />
<center><img src="/imgs/blog/dnie/logo-dni-electronico.jpg" alt="DNIe" /> <img src="/imgs/blog/dnie/DNIe_75.png" alt="DNIe" /></center><br />
No hay que olvidar que el DNIe tiene sus limitaciones y pegas de seguridad. (Para los &#8220;paranoicos&#8221; se recomienda utilizar el DNIe únicamente desde sistemas de solo lectura como un CD con <a href="http://www.knoppix.net" class="externo">Knoppix</a>).<br />
Tampoco hay que olvidar que una firma &#8220;normal&#8221; es mucho más facil de falsificar que una firma electrónica, pese a que ninguna sea totalmente segura.<br />
&nbsp;<br />
Las siguientes instrucciones se han probado en <a href="http://www.debian.org" class="externo">Debian Lenny</a> y en <a href="http://www.ubuntu.com" class="externo">Ubuntu Karmic Koala</a> con un lector <a href="http://c3po.es/ltc31.html" class="externo">C3PO LTC31</a> (de venta en las oficinas de correos por 19,90 &euro;), con un &#8220;<a href="http://www.bit4id.com/" class="externo">miniLector Bit4id</a>&#8221; del <a href="http://www.planavanza.es/" class="externo">plan avanza2</a> (es un <a href="http://www.acs.com.hk/index.php?pid=product&#038;id=ACR38" class="externo">Advanced Card Systems ACR38-U</a> pero con una caja blanca) y con un lector <a href="http://www.hidglobal.com/prod_detail.php?prod_id=186">Omnikey 3021</a>.<br />
<center><img src="/imgs/blog/dnie/C3PO_LTC31.jpg" alt="C3PO_LTC31" /> <img src="/imgs/blog/dnie/ACS_ACR38-U.jpg" alt="ACS_ACR38-U" /> <img src="/imgs/blog/dnie/omnikey_3021.jpg" alt="Omnikey 3021" /></center><br />
&nbsp;</p>
<h2>INSTALACIÓN DEL LECTOR</h2>
<p>Descargamos los <a href="http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/distribuciones_linux.html" class="externo">paquetes oficiales del DNIE</a> y los instalamos junto con los paquetes de la distribución necesarios.</p>
<pre class="codigo">$ sudo aptitude install libccid libopenct1 pcscd pcsc-tools mozilla-opensc
<font class="comentario"># En el caso de Debian Lenny</font>
$ tar xvf Debian_Lenny_opensc-dnie_1.4.6-2_i386.deb.tar
<font class="comentario"># En el caso de Ubuntu Karmic Koala usamos los paquetes de Jaunty Jakalop</font>
$ tar xvf Ubuntu_Jaunty_opensc-dnie_1.4.6-2_i386.deb.tar
libopensc2_0.11.7-7_i386.deb
opensc-dnie_1.4.6-2_i386.deb
opensc_0.11.7-7_i386.deb
$ sudo dpkg -i libopensc2_0.11.7-7_i386.deb
$ sudo dpkg -i opensc_0.11.7-7_i386.deb
$ sudo dpkg -i opensc-dnie_1.4.6-2_i386.deb
<font class="comentario"># En el caso de Ubuntu Karmic Koala bloqueamos los paquetes
#+ para que no se actualicen, ya que los de la distribución son
#+ más modernos pero el DNIe no funciona con ellos</font>
$ sudo aptitude hold opensc libopensc2</pre>
<p>&nbsp;<br />
Nos indica que hemos de registrar el módulo PKCS#11 en iceweasel/firefox utilizando el enlace que nos crea en el menú principal del escritorio en &#8220;<i>Oficina-> Registrar módulo DNIe PKCS#11</i>&#8220;.<br />
Indicamos que confiamos en la nueva Autoridad Certificadora (CA) para las tres posibilidades.<br />
&nbsp;<br />
Podemos comprobar si el sistema reconoce correctamente el lector con el comando &#8220;pcsc_scan&#8221; y probando a introducir y sacar el DNIe (u otras tarjetas similares):</p>
<pre class="codigo">$ pcsc_scan
PC/SC device scanner
[...]
Reader 0: ACS ACR 38U-CCID 00 00
  Card state: <b>Card inserted</b>,
[...]
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
	<b>DNI electronico (Spanish electronic ID card)</b>

http://www.dnielectronico.es

 Reader 0: ACS ACR 38U-CCID 00 00
  Card state: <b>Card removed</b>,
</pre>
<p>&nbsp;<br />
Otras pruebas que podemos hacer son (estas con una tarjeta CardOs M4):</p>
<pre class="codigo">$ opensc-tool -l
Readers known about:
Nr.    Driver     Name
0      pcsc       C3PO LTC31 (00426664) 00 00
$ opensc-tool -a
Using reader with a card: C3PO LTC31 (00426664) 00 00
3b:f2:98:00:ff:c1:10:31:fe:55:c8:04:12
$ opensc-tool -n
Using reader with a card: C3PO LTC31 (00426664) 00 00
CardOS M4
</pre>
<p>&nbsp;<br />
Para que funcione bien iceweasel/firefox y detecte el módulo sin problemas se recomienda reiniciar la sesión gráfica (no hace falta reiniciar el equipo).<br />
&nbsp;<br />
&nbsp;</p>
<h2>USO Y DISFRUTE</h2>
<p>Lo primero que hay que saber es que en el DNIe tenemos a nuestra disposición dos certificados, uno para identificarnos (certificado de autenticación) y otro para firmar (certificado de firma), lo que son los dos principales usos del DNIe.</p>
<p>También es importante saber que cada aplicación que utiliza el DNIe establece una &#8220;sesión&#8221; con el lector de tarjetas y que no puede haber dos sesiones abiertas a la vez. Es decir <b>no podemos usar el DNIe en dos aplicaciones a la vez</b>. Sin embargo muchas aplicaciones no indican adecuadamente esta circunstancia y simplemente parece que no funcionan.<br />
Así por ejemplo si iniciamos sesión en iceweasel/firefox para acceder a una web, no podemos firmar un archivo pdf con sinadura hasta cerrar sesión. Y al revés, tras firmar un fichero con sinadura no nos deja validarnos con iceweasel.<br />
Ante la duda <u>basta con extraer y volver a introducir el DNIe en el lector para asegurarse que está disponible el acceso</u>.<br />
&nbsp;<br />
Un último recordatorio, si se introduce el PIN del DNIe erróneamente tres veces seguidas, éste se bloquea. Así que al hacer pruebas con los programas y sus configuraciones hay que tener cuidado. A mí se me bloqueó haciendo pruebas con Sinadura (para desbloquearlo hay que pasar 5 minutos por una comisaria), así que después cada vez que hacía una prueba con un programa si no funcionaba perfectamente iniciaba sesión en iceweasel/firefox.<br />
&nbsp;</p>
<h3>Identificarse en sitios web con iceweasel/firefox</h3>
<p>El DNIe se puede utilizar al navegar para identificarse en un sitio web. Así por ejemplo si nos identificamos en la web de la <a href="http://www.seg-social.es" class="externo">seguridad social</a> podremos descargarnos al instante nuestra vida laboral.</p>
<p>Primero debemos asegurarnos que hemos registrado en iceweasel/firefox el módulo de DNIe PKCS#11 (usando el menú principal del escritorio en &#8220;<i>Oficina-> Registrar módulo DNIe PKCS#11</i>&#8220;).<br />
En caso contrario podemos registrarlo a mano desde &#8220;<i>Editar -> Preferencias -> Avanzado -> Cifrado -> Dispositivos de seguridad</i>&#8220;. Seleccionamos &#8220;Cargar&#8221;, indicamos un nombre, por ejemplo &#8220;DNIe &#8211; OpenSC PKCS#11&#8243;, y la ruta del módulo &#8220;/usr/lib/opensc-pkcs11.so&#8221;.<br />
<img src="/imgs/blog/dnie/Dispositivos_Seguridad.png" alt="DNIe" /><br />
&nbsp;<br />
Si la instalación ha sido correcta y tenemos el lector conectado con un DNIe introducido, nos habilitará la opción &#8220;Iniciar sesión&#8221; (¡bien!). Si iniciamos sesión nos pedirá el PIN, pero antes es mejor reiniciar el navegador para que nos pida instalar el certificado de la DGP (<a href="http://www.policia.es/" class="externo">Dirección General de la Policia</a>).<br />
&nbsp;<br />
<b>Comprobaciones</b><br />
Podemos probar nuestro DNIe en el navegador en la <a href="http://www.dnielectronico.es/como_utilizar_el_dnie/verificar.html" class="externo">página de verificación del portal oficial</a> (el enlace para la verificación está al final de esa página).</p>
<p>Si todo ha ido bien el navegador nos pide nuestro PIN para iniciar sesión (si no lo hemos introducido antes):<br />
<img src="/imgs/blog/dnie/DNIe-PIN.png" alt="PIN DNIe" /></p>
<p>Cuando conectamos con una web en la que debemos identificarnos nos pregunta cuál de los dos certificados (el de firma o el de autenticación) queremos utilizar. Para identificarnos usamos el de autenticación.<br />
<img src="/imgs/blog/dnie/certificado.png" alt="Certificado DNIe" /></p>
<p>Si el navegador nos indica:</p>
<blockquote><p>El otro extremo de la conexión SSL no puede verificar su certificado.<br />
(Código de error: ssl_error_bad_cert_alert)</p></blockquote>
<p>Es porque no hemos iniciado sesión correctamente (hemos fallado el PIN 3 veces, no lo hemos puesto, no está bien instalado el lector&#8230;).<br />
&nbsp;<br />
Lo recomendado es &#8220;Iniciar sesión&#8221; en el navegador solo cuando se necesita y &#8220;Terminar sesión&#8221; lo antes posible. Si visitamos una página que requiere certificado sin haber iniciado sesión, el navegador nos solicitará el PIN automáticamente, pero para cerrar sesión hay que ir &#8220;a mano&#8221; a la opción &#8220;<i>Dispositivos de seguridad</i>&#8221; del menú.<br />
&nbsp;</p>
<h3>Firmar archivos PDF con Sinadura</h3>
<p>Otro uso interesante del DNIe es firmar un archivo PDF. Esta firma tiene plena validez legal. Es decir, hasta ahora había que hacer un documento, imprimirlo y después firmarlo a mano. Ahora podemos hacer un documento, guardarlo como PDF (por ejemplo con <a href="http://es.openoffice.org/" class="externo">OpenOffice Writer</a>) y después firmarlo con nuestro DNIe.<br />
Hay que insistir en que tiene <b>plena validez legal</b>. Sirve para hacer contratos, compra ventas, reclamaciones&#8230;</p>
<p>Primero <a href="http://www.sinadura.net/downloads?p_p_id=20&#038;p_p_lifecycle=0&#038;p_p_state=maximized&#038;p_p_mode=view&#038;_20_struts_action=%2Fdocument_library%2Fview&#038;_20_folderId=70681" class="externo">descargamos Sinadura</a>, en mi caso he descargado la versión 2.0.0 para GNU/Linux de 32 bits.</p>
<p>Su instalación es muy sencilla, basta con hacer:</p>
<pre class="codigo">$ java -jar  sinadura-2.0.0-unix32-installer.jar</pre>
<p>y seguir el típico asistente de &#8220;siguiente&#8221;, &#8220;siguiente&#8221;, &#8220;siguiente&#8221;&#8230;</p>
<p>Para configurarlo vamos a &#8220;<i>Sinadura -> Preferencias -> Certificados</i>&#8220;, y elegir &#8220;<i>Tarjeta Criptográfica</i>&#8220;.<br />
También recomiendo ir a &#8220;<i>Sinadura -> Preferencias -> Firma</i>&#8221; y seleccionar otra imagen ya que la que viene por omisión (el logo de Sinadura) apenas permite leer el texto insertado. Yo me he creado una <a href="/imgs/blog/dnie/DNIe-150.png">imagen muy clarita del DNIe en grises</a>.<br />
&nbsp;</p>
<p>Utilizamos el botón &#8220;<i>Añadir documentos</i>&#8221; para seleccionar el documento pdf a firmar, en mi caso &#8220;prueba.pdf&#8221; y pulsamos &#8220;<i>Firmar</i>&#8220;.<br />
<img src="/imgs/blog/dnie/Sinadura-principal.png" alt="DNIe" /></p>
<p>El programa carga el certificado (la primera vez tarda un poco, si se cuelga probablemente sea por el problema de las sesiones que comentabamos al principio) y después nos pide el PIN del DNIe.<br />
<img src="/imgs/blog/dnie/Sinadura-Clave.png" alt="DNIe" /></p>
<p>Después elegimos el certificado a utilizar, en este caso el certificado de firma:<br />
<img src="/imgs/blog/dnie/Sinadura-Certificado.png" alt="DNIe" /></p>
<p>Nos solicita una confirmación:<br />
<img src="/imgs/blog/dnie/Sinadura-firma.png" alt="DNIe" /></p>
<p>Y ya está. Podemos verificar cualquier documento firmado también desde Sinadura. Primero lo seleccionamos y después utilizamos el botón &#8220;<i>Validar</i>&#8221;<br />
<img src="/imgs/blog/dnie/Sinadura-principal.png" alt="DNIe" /><br />
&nbsp;</p>
<h3>Más posibilidades</h3>
<p>Una de las posibilidades que la gente busca es firmar y/o cifrar correos electrónicos con el DNIe.<br />
Hay que decir que técnicamente se puede pero que su validez legal es cuanto menos dudosa, y como lo que se busca con el DNIe es tener validez legal no es muy práctico. Siempre se puede enviar un correo-e &#8220;normal&#8221; con un pdf firmado como adjunto, por ejemplo un contrato.</p>
<p>Esto es porque técnicamente para firmar y/o cifrar basta con tener un par de claves pública/privada, pero el estándar internacional PKI requiere, para firmar un correo-e, que el certificado de la clave indique una dirección de correo-e, que será la única que se &#8220;certificará&#8221;. Sin embargo en el DNIe no se indica ninguna dirección de correo-e, por lo que no se puede utilizar las firmas del DNIe para este fin.<br />
Lo más recomendado es firmar y cifrar con claves <a href="http://www.gnupg.org/" class="externo">GPG</a>, u obtener firmas de la <a href="http://www.fnmt.es/" class="externo">FNMT</a>, que sí están preparadas para este propósito.<br />
En todo caso hay buenas y sencillas guías en internet sobre cómo conseguir, técnicamente, firmar correos-e con el DNIe (<a href="http://www.securitybydefault.com/2008/07/gmail-dni-e.html" class="externo">GMail+DNIe</a>; <a href="http://www.securitybydefault.com/2008/12/thunderbird-dni-e.html" class="externo">Thunderbird+DNIe</a>).</p>
<p>Para consultar otras posibilidades tenemos <a href="http://www.google.es" class="externo">el oráculo</a>, la página de <a href="http://www.dnielectronico.es/servicios_disponibles/index.html" class="externo">Servicios Disponibles</a> o la web <a href="http://www.kriptopolis.org/autenticacion-login-con-el-dni-electronico-en-debian-etch-gnu-linux" class="externo">Kriptopolis</a>.<br />
&nbsp;<br />
&nbsp;<br />
<!-- wget http://v5.guadalinex.org/guadalinex-lobo/pool/main/o/opensc-dnie/opensc-dnie_1.4.0-5_i386.deb --></p>
<h2>Sobre este tutorial</h2>
<p>Hay bastantes guías en internet, pero en Julio de 2009 ninguna me daba buen resultado en Debian Lenny. Básicamente parecía que todo iba bien, excepto por el navegador (Iceweasel/Firefox) que &#8220;petaba&#8221; al introducir un DNIe en el lector. Al final encontré la solución en <a href="http://www.guadalinex.org/" class="externo">Guadalinex</a> gracias a una pista de <a href="http://universo.emergya.info/espacios/fontanon/dnie-y-lector-acr38-bajo-linux" class="externo">fontanon en univero emergya</a>.<br />
Tras publicar la primera versión de este tutorial con todos los pasos para que el lector funcione en Debian Lenny e indicando los problemas encontrados, se pusieron en contacto conmigo los fabricantes del lector C3PO LTC31 (ver los primeros comentarios a esta entrada) y descubrimos que el problema estaba en el empaquetado de las librerías de la DGT, cosa que a día de hoy (Septiembre de 2009) ya está solucionada.<br />
Después he obtenido otro lector, he tenido problemas para firmar PDFs&#8230; y así he ido modificando y haciendo crecer este tutorial hasta llegar a esta versión (Noviembre 2009).</p>
<p>Así pues gracias a la gente de C3PO, de sinadura y a todos los que han puesto información en internet sobre como usar y configurar el DNIe.<br />
&nbsp;</p>
<div class="keywords"><b>dnie, dni electrónico, linux, debian, lenny, C3PO LTC31, miniLector Bit4id, ACS ACR38-U</b></div>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/dnie-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Instalar un SAI (UPS) en GNU/Linux</title>
		<link>http://guimi.net/blogs/hiparco/instalar-un-sai-ups-en-gnulinux/</link>
		<comments>http://guimi.net/blogs/hiparco/instalar-un-sai-ups-en-gnulinux/#comments</comments>
		<pubDate>Tue, 05 May 2009 12:23:16 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=64</guid>
		<description><![CDATA[SAI, UPS, GNU/Linux, Instalación de un SAI (UPS) en GNU/Linux]]></description>
			<content:encoded><![CDATA[<p>Instalaremos como ejemplo un SAI Yukai PowerMust 600 con conexi&oacute;n al puerto serie y conexi&oacute;n USB.<br />
&nbsp;</p>
<p>Instalamos el sistema nut (<i>Network UPS Tools</i>):<br />
<font class="comando"># aptitude install nut<br /></font><br />
&nbsp;<br />
Si instalamos el SAI en un puerto USB, adem&aacute;s:<br />
<font class="comando"># aptitude install nut-usb<br /></font><br />
Si instalamos el SAI en un puerto serie autorizamos al usuario nut el acceso al mismo:<br />
<font class="comando"># adduser nut dialout<br /></font><br />
&nbsp;<br />
Configuramos el demonio nut:<br />
<font class="comando"># vi /etc/default/nut<br /></font></p>
<pre class="codigo">
<font class="comentario"># start upsd</font>
START_UPSD=yes

<font class="comentario"># set upsd specific options. use "man upsd" for more info</font>
UPSD_OPTIONS=""

<font class="comentario"># start upsmon</font>
START_UPSMON=yes

<font class="comentario"># set upsmon specific options. use "man upsmon" for more info</font>
UPSMON_OPTIONS=""
</pre>
<p></p>
<p>Consultamos el controlador que necesitamos para nuestro SAI en la web de <a href="http://eu1.networkupstools.org/compat/stable.html" class="externo">Network UPS Tools</a>. Para el SAI del ejemplo necesitamos el controlador &#8220;megatec&#8221;.<br />
&nbsp;<br />
Indicamos al sistema la existencia de nuestro SAI:<br />
<font class="comando"># vi /etc/nut/ups.conf<br /></font></p>
<pre class="codigo">
[yukai]
	driver = megatec
	<font class="comentario"># si usamos puerto serie
	# port = /dev/ttyS0</font>
	<font class="comentario"># si usamos puerto USB
	# port = auto</font>
	port = xxxxxx
	desc = "Yukai PowerMust 600"
</pre>
<p>
Indicamos al demonio los permisos sobre el SAI (permiso local):<br />
<font class="comando"># vi /etc/nut/upsd.conf<br /></font></p>
<pre class="codigo">
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32

ACCEPT localhost
REJECT all
</pre>
<p>
Creamos un usuario para gestionar el SAI:<br />
<font class="comando"># vi /etc/nut/upsd.users<br /></font></p>
<pre class="codigo">
[yukai_admin]
password = mi_clave
allowfrom = localhost
actions = SET
instcmds = ALL
</pre>
<p></p>
<p>Y por &uacute;ltimo configuramos el monitor:<br />
<font class="comando"># vi /etc/nut/upsmon.conf<br /></font></p>
<pre class="codigo">
MONITOR yukai@localhost 1 yukai_admin mi_clave master
RUN_AS_USER nut
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower

NOTIFYMSG ONLINE "UPS: Normal state"
NOTIFYMSG ONBATT "UPS: On battery"
NOTIFYMSG LOWBATT "UPS: Battery low"
NOTIFYMSG FSD "UPS: Starting shutdown"
NOTIFYMSG COMMOK "UPS: Communication restored"
NOTIFYMSG COMMBAD "UPS: Communication lose"
NOTIFYMSG SHUTDOWN "UPS: Shutting down"
NOTIFYMSG REPLBATT "UPS: Replace battery"

NOTIFYFLAG ONLINE SYSLOG
NOTIFYFLAG ONBATT SYSLOG+WALL
NOTIFYFLAG LOWBATT SYSLOG+WALL
NOTIFYFLAG FSD SYSLOG+WALL
NOTIFYFLAG COMMOK SYSLOG
NOTIFYFLAG COMMBAD SYSLOG
NOTIFYFLAG SHUTDOWN SYSLOG
NOTIFYFLAG REPLBATT SYSLOG

RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 0
</pre>
<p>
Modificamos los permisos de los ficheros:</p>
<ul>
<li><font class="comando"># chown root:nut /etc/nut/*<br /></font></p>
<li><font class="comando"># chmod o-r /etc/nut/*<br /></font>
</ul>
<p>
Reiniciamos el servicio:<br />
<font class="comando"># /etc/init.d/nut restart<br /></font><br />
Y verificamos que todo funciona correctamente:<br />
<font class="comando"># upsmon status<br /></font></p>
<pre class="codigo">
Network UPS Tools upsmon 2.2.2
UPS: yukai@localhost (master) (power value 1)
Using power down flag file /etc/killpower
</pre>
<p>&nbsp;<br />
Verificamos los procesos en marcha:<br />
<font class="comando"># ps aux | grep ups<br /></font></p>
<pre class="codigo">
nut       8513  0.0  0.0   2012   512 ?        Ss   12:01   0:00 /sbin/upsd
root      8515  0.0  0.0   2020   652 ?        Ss   12:01   0:00 /sbin/upsmon
nut       8516  0.0  0.0   2020   688 ?        S    12:01   0:00 /sbin/upsmon
</pre>
<p><font class="comando"># ps aux | grep nut<br /></font></p>
<pre class="codigo">
nut       8511  0.0  0.0   2012   576 ?        Ss   12:01   0:00 /lib/nut/megatec -a yukai
nut       8513  0.0  0.0   2012   512 ?        Ss   12:01   0:00 /sbin/upsd
nut       8516  0.0  0.0   2020   688 ?        S    12:01   0:00 /sbin/upsmon
</pre>
<p>
Y verificamos que todo funciona correctamente:<br />
<font class="comando">$ upsc yukai@localhost<br /></font></p>
<pre class="codigo">
battery.charge: 97.5
battery.voltage: 13.60
battery.voltage.nominal: 12.0
driver.name: megatec
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.version: 2.2.2
driver.version.internal: 1.5.14
input.frequency: 49.9
input.frequency.nominal: 50.0
input.voltage: 209.5
input.voltage.fault: 209.5
input.voltage.maximum: 215.2
input.voltage.minimum: 208.6
input.voltage.nominal: 220.0
output.voltage: 209.5
ups.beeper.status: enabled
ups.delay.shutdown: 0
ups.delay.start: 2
ups.load: 27.0
ups.mfr: unknown
ups.model: unknown
ups.serial: unknown
ups.status: OL
ups.temperature: 25.0
ups.type: standby
</pre>
<p>
Podemos mostrar solo parte de la informaci&oacute;n:<br />
<font class="comando">$ upsc yukai@localhost ups.status<br /></font></p>
<pre class="codigo">OL
</pre>
<p>OL indica <i>&#8220;On Line power&#8221;</i>. Podr&iacute;a indicar por ejemplo OB (<i>&#8220;On Battery&#8221;</i>) o LB (<i>&#8220;Low Battery&#8221;</i>).</p>
<p><font class="comando">$ upsc yukai@localhost battery.charge<br /></font></p>
<pre class="codigo">97.5
</pre>
<p>
&nbsp;<br />
En escritorios gr&aacute;ficos es &uacute;til -y muy sencilla- la herramienta &#8220;knutclient&#8221; que permite monitorizar el SAI:<br />
<img src="/imgs/tec-docs/sai_linux/knutclient_01.png" alt="knutclient"><br />
<img src="/imgs/tec-docs/sai_linux/knutclient_02.png" alt="knutclient"><br />
&nbsp;</p>
<h2>Referencia</h2>
<ul>
<li>Documentaci&oacute;n de <a href="http://www.networkupstools.org/doc/2.2.0/" class="externo">Network UPS Tools</a>
</ul>
<p>
<span class="keywords"><b>instalar un sai (ups) en Linux, configurar sai en Linux, instalar UPS en GNU/Linux</b></span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/instalar-un-sai-ups-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Instalar una webcam en GNU/Linux</title>
		<link>http://guimi.net/blogs/hiparco/instalar-una-webcam-en-gnulinux/</link>
		<comments>http://guimi.net/blogs/hiparco/instalar-una-webcam-en-gnulinux/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 12:30:21 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=72</guid>
		<description><![CDATA[Instalaremos como ejemplo una Z-Star. &#160; Consejo: no todas las c&#225;maras tienen buen soporte en GNU/Linux, algunas no lo tienen en absoluto, y tampoco una c&#225;mara m&#225;s cara produce necesariamente mejores resultados. Adem&#225;s los fabricantes venden bajo el mismo nombre c&#225;maras diferentes (modelos actualizados) as&#237; que no es muy fiable saber que el modelo X [...]]]></description>
			<content:encoded><![CDATA[<p>Instalaremos como ejemplo una Z-Star.<br />
&nbsp;<br />
<b>Consejo</b>: no todas las c&aacute;maras tienen buen soporte en GNU/Linux, algunas no lo tienen en absoluto, y tampoco una c&aacute;mara m&aacute;s cara produce necesariamente mejores resultados. Adem&aacute;s los fabricantes venden bajo el mismo nombre c&aacute;maras diferentes (modelos actualizados) as&iacute; que no es muy fiable saber que el modelo X funciona bien.<br />
Por todo ello recomiendo comprar la c&aacute;mara en cualquier tienda que tenga variedad y posibilidad de cambio y devoluci&oacute;n.<br />
En mi caso compr&eacute; a la vez 5 c&aacute;maras, me qued&eacute; la que me funcionaba mejor y devolv&iacute; las otras cuatro. Fueron dos paseos a la tienda pero compr&aacute;ndolas de una en una hubieran sido m&aacute;s.<br />
&nbsp;</p>
<p>Conectamos la c&aacute;mara al equipo y averiguamos el chip de la misma:<br />
<font class="comando">$ lsusb<br /></font></p>
<pre class="codigo"> Bus 002 Device 009: ID 0ac8:305b Z-Star Microelectronics Corp. ZC0305 WebCam
</pre>
<p>Si la c&aacute;mara no es USB, por ejemplo una integrada en un port&aacute;til, prueba con:<br />
<font class="comando">$ dmesg | less<br /></font><br />
&nbsp;<br />
Lo importante son los identificadores de fabricante y dispositivo. En el ejemplo 0ac8 y 305b. Con esa informaci&oacute;n acudimos al <a href="http://www.google.com" class="externo">or&aacute;culo</a> para que nos diga que controlador necesitamos.<br />
Como las respuestas del or&aacute;culo a veces son tortuosas e indescifrables, la mayor&iacute;a de chips con soporte en GNU/Linux las podemos encontrar en uno de los siguientes enlaces:</p>
<ul>
<li>La web de <a href="http://mxhaard.free.fr/spca5xx.html" class="externo">Michel Xhaard</a> cuyos drivers gspca son los m&aacute;s utilizados.</p>
<li><a href="http://www.qbik.ch/usb/devices/showdevcat.php?id=9&#038;o=0&#038;w=t&#038;s=v&#038;d=a" class="externo">Listado de c&aacute;maras</a> y dispositivos USB.
<li>Informaci&oacute;n sobre soporte  <a href="http://www.linux-usb.org/" class="externo">USB en GNU/Linux</a>.
</ul>
<p>&nbsp;<br />
Para la c&aacute;mara del ejemplo necesitamos los controladores gspca:<br />
<font class="comando">$ sudo aptitude install gspca-modules-2.6-686-bigmem<br /></font><br />
&nbsp;<br />
Hay que desconectar la c&aacute;mara y volver a conectarla para que se configuren los m&oacute;dulos al detectarla y &iexcl;ya est&aacute;! As&iacute; de sencillo.<br />
&nbsp;<br />
Si todo va bien deber&iacute;a aparecer un dispositivo <font class="comando">/dev/video0</font> (o <font class="comando">/dev/video</font>).<br />
Para poder utilizar la c&aacute;mara hay que tener permiso sobre dichos dispositivos, lo cual se consigue en Debian incluyendo al usuario en el grupo &#8220;video&#8221;.<br />
&nbsp;<br />
Algunos programas interesantes para hacer pruebas son: webcam, cheese, xawtv / motv, motion, gqcam, camorama&#8230;<br />
&nbsp;</p>
<p>
<span class="keywords"><b>Instalar una webcam en GNU/Linux, Configurar webcam en Linux, Instalar cámara en Linux</b></span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/instalar-una-webcam-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Comprobaciones de HW en GNU/Linux</title>
		<link>http://guimi.net/blogs/hiparco/comprobaciones-de-hw-en-linux/</link>
		<comments>http://guimi.net/blogs/hiparco/comprobaciones-de-hw-en-linux/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 12:58:23 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Prompt]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=93</guid>
		<description><![CDATA[DISPOSITIVOS # lspci &#124; cat /proc/cpuinfo # lsusb &#124; cat /proc/scsi/scsi &#160; MEMORIA # free # memtest86 &#160; DISCOS # dd if=/dev/&#8230; of=/dev/null # smartmontools &#160; RED # nictools_nopci # nictools_pci &#160; CPU # cpuburn # crashme # fuzz # stress &#160; OTROS # mbmon # sensord # lmbench # lm_sensors # lshw &#124; hwinfo [...]]]></description>
			<content:encoded><![CDATA[<h2>DISPOSITIVOS</h2>
<p><font class="comando"># lspci | cat /proc/cpuinfo<br /></font><br />
<font class="comando"># lsusb | cat /proc/scsi/scsi<br /></font><br />
&nbsp;</p>
<h2>MEMORIA</h2>
<p><font class="comando"># free<br /></font><br />
<font class="comando"># memtest86<br /></font><br />
&nbsp;</p>
<h2>DISCOS</h2>
<p><font class="comando"># dd if=/dev/&#8230; of=/dev/null<br /></font><br />
<font class="comando"># smartmontools<br /></font><br />
&nbsp;</p>
<h2>RED</h2>
<p><font class="comando"># nictools_nopci<br /></font><br />
<font class="comando"># nictools_pci<br /></font><br />
&nbsp;</p>
<h2>CPU</h2>
<p><font class="comando"># cpuburn<br /></font><br />
<font class="comando"># crashme<br /></font><br />
<font class="comando"># fuzz<br /></font><br />
<font class="comando"># stress<br /></font><br />
&nbsp;</p>
<h2>OTROS</h2>
<p><font class="comando"># mbmon<br /></font><br />
<font class="comando"># sensord<br /></font><br />
<font class="comando"># lmbench<br /></font><br />
<font class="comando"># lm_sensors<br /></font><br />
<font class="comando"># lshw | hwinfo | x86info<br /></font><br />
<font class="comando"># ltp<br /></font><br />
<font class="comando"># spew<br /></font><br />
&nbsp;</p>
<p>
<span class="keywords"><b>Comprobaciones de HW en GNU/Linux, Veruificar hardware en Linux, chequeo de hardware</b></span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/comprobaciones-de-hw-en-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurar la salida de TV en tarjetas nVidia</title>
		<link>http://guimi.net/blogs/hiparco/configurar-la-salida-de-tv-en-tarjetas-nvidia/</link>
		<comments>http://guimi.net/blogs/hiparco/configurar-la-salida-de-tv-en-tarjetas-nvidia/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 12:34:19 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=77</guid>
		<description><![CDATA[Hay muchos manuales para configurar la salida de television de una tarjeta nVidia. Es sencillo y sin embargo puede hacer perder mucho tiempo, por ello dejo aqu&#237; unas notas de como lo he hecho yo. &#160; Mi gu&#237;a (he seguido muchas pero esta result&#243; la buena) ha sido la receta en ingl&#233;s de Wikibooks (nVidia/TV-OUT). [...]]]></description>
			<content:encoded><![CDATA[<p>Hay muchos manuales para configurar la salida de television de una tarjeta nVidia. Es sencillo y sin embargo puede hacer perder mucho tiempo, por ello dejo aqu&iacute; unas notas de como lo he hecho yo.<br />
&nbsp;<br />
Mi gu&iacute;a (he seguido muchas pero esta result&oacute; la buena) ha sido la receta en ingl&eacute;s de Wikibooks (<a href="http://en.wikibooks.org/wiki/NVidia/TV-OUT" class="externo">nVidia/TV-OUT</a>).<br />
No voy a repetir lo que est&aacute; all&iacute;, solo a&ntilde;adir&eacute; algunos comentarios.<br />
&nbsp;<br />
<b>Prerequisito</b>: Tener correctamente configurado el controlador de la tarjeta.<br />
&nbsp;</p>
<h2>Preparaci&oacute;n</h2>
<p>Lo primero que debemos hacer es identificar las conexiones f&iacute;sicas (<a href="http://www.google.com/search?hl=es&amp;client=iceweasel-a&amp;rls=org.debian%3Aes-ES%3Aunofficial&amp;q=SVideo+RCA+SCART&amp;btnG=Buscar&amp;lr=" class="externo">SVideo/SVHS, RCA, SCART/Euroconector&#8230;</a>). Hay mucha informaci&oacute;n en internet as&iacute; que solo comentar&eacute; un par de cosas.<br />
Hay conectores de SVideo de 4, 7 y 9 pines. En principio son compatibles (salvo fabricantes extra&ntilde;os), lo que quiere decir que aunque tu tarjeta tenga una salida de 7 pines puedes utilizar un cable de 4 pines, por ejemplo.<br />
Puedes necesitar conversores SVideo-RCA, RCA-SCART, SVideo-SCART&#8230; en teor&iacute;a todas funcionan pero si no lo consigues con una, prueba otra.<br />
&iexcl;Ojo!, no todos los SCART, ni todos los conversores son compatibles con SVideo.<br />
En mi caso la TV solo tiene dos entradas SCART, de las cuales solo una admite SVideo. Se puede detectar porque cambiando la entrada con el mando a distancia pasa de modo TV, a modo Ext1, luego a modo Ext2 y luego a modo SVHS2.<br />
Del mismo modo dispon&iacute;a de un conversor de RCA a SCART que tampoco admite SVideo (y me cost&oacute; darme cuenta).<br />
Actualmente utilizo una salida SVideo con un conversor SVideo/SCART. Si conecto el SVideo a la entrada RCA del conversor a SCART no funciona&#8230;<br />
Resumiendo: tras configurar correctamente el sistema no veia la tele por culpa de los conectores, y me pas&eacute; toda una tarde cambiando y recambiando la configuraci&oacute;n, probando manuales distintos&#8230; :-(<br />
As&iacute; que verifica varias veces tus conectores y si es necesario compra nuevos (en Espa&ntilde;a al menos el conversor y el cable cuestan menos de 6 euros). Yo tuve que ir dos veces a la tienda hasta encontrar la combinaci&oacute;n adecuada.<br />
&nbsp;<br />
En ning&uacute;n sitio lo he leido pero hay un modo muy sencillo de verificar las conexiones f&iacute;sicas (quiza la gente no ha tenido el mismo problema que yo): con el equipo apagado se realizan las conexiones y se enciende. Si la conexi&oacute;n es buena ver&aacute;s el arranque por la TV. Sin configurar controladores, software o sistemas operativos. El arranque ya debe verse en la TV, al menos con una GeForce 8400 GS (si lo hubiera sabido antes&#8230;).<br />
&nbsp;</p>
<h2>Configuraci&oacute;n</h2>
<p>Hay dos aproximaciones al problema: o utilizar un solo servidor gr&aacute;fico con dos monitores (nVidia TwinView) o utilizar dos servidores gr&aacute;ficos diferentes.<br />
La gu&iacute;a utiliza la segunda aproximaci&oacute;n. Yo he seguido muchas gu&iacute;as intentando configurar la primera y no lo he conseguido. Parece que est&aacute; m&aacute;s orientada al uso de dos monitores, porque los errores me los da &uacute;nicamente en los metamodes.<br />
&nbsp;</p>
<h2>Siguiendo la gu&iacute;a</h2>
<p>No la voy a repetir, pero aqu&iacute; est&aacute; mi fichero xorg.conf (simplemente tuve que a&ntilde;adir la parte que se encuentra bajo &#8220;Configuracion para la TV&#8221;):</p>
<pre class="codigo">
Section "ServerLayout"
    Identifier     "Default Layout"
    Screen         0 "Screen0" 0 0
<font class="comentario">    #Screen         1 "Screen1" RightOf "Default Screen"</font>
    InputDevice    "Generic Keyboard"
    InputDevice    "Configured Mouse"
EndSection

<font class="comentario">#Section "ServerFlags"
#    Option         "Xinerama" "0"
#EndSection</font>

Section "Files"
	<font class="comentario"># path to defoma fonts</font>
    FontPath        "/usr/share/fonts/X11/misc"
    FontPath        "/usr/X11R6/lib/X11/fonts/misc"
    FontPath        "/usr/share/fonts/X11/cyrillic"
    FontPath        "/usr/X11R6/lib/X11/fonts/cyrillic"
    FontPath        "/usr/share/fonts/X11/100dpi/:unscaled"
    FontPath        "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath        "/usr/share/fonts/X11/75dpi/:unscaled"
    FontPath        "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath        "/usr/share/fonts/X11/Type1"
    FontPath        "/usr/X11R6/lib/X11/fonts/Type1"
    FontPath        "/usr/share/fonts/X11/100dpi"
    FontPath        "/usr/X11R6/lib/X11/fonts/100dpi"
    FontPath        "/usr/share/fonts/X11/75dpi"
    FontPath        "/usr/X11R6/lib/X11/fonts/75dpi"
    FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
    Load           "bitmap"
    Load           "ddc"
    Load           "extmod"
    Load           "freetype"
    Load           "glx"
    Load           "int10"
    Load           "vbe"
EndSection

Section "InputDevice"
    Identifier     "Generic Keyboard"
    Driver         "kbd"
    Option         "CoreKeyboard"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "es"
EndSection

Section "InputDevice"
    Identifier     "Configured Mouse"
    Driver         "mouse"
    Option         "CorePointer"
    Option         "Device" "/dev/input/mice"
    Option         "Protocol" "ImPS/2"
EndSection

Section "Monitor"
    Identifier     "Monitor TFT"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 70.0
    VertRefresh     50.0 - 160.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "nVidia Corporation NVIDIA Default Card"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8400 GS"

    Busid          "PCI:3:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "nVidia Corporation NVIDIA Default Card"
    Monitor        "Monitor TFT"
    DefaultDepth    24

    SubSection     "Display"
        Depth       1
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       4
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       15
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

<font class="comentario">#############################################################
# Configuracion para Compiz #
#############################################################</font>

Section "Extensions"
    Option "Composite" "Enable"
EndSection

Section "DRI"
    Mode 0666
EndSection

<font class="comentario">#############################################################
# Configuracion para la TV #
#############################################################</font>

Section "ServerLayout"
    Identifier     "TV"
    Screen         0 "Screen1" 0 0
    InputDevice    "Generic Keyboard"
    InputDevice    "Configured Mouse"
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "nVidia TV"
    Monitor        "Monitor TV"
	DefaultDepth 16
	SubSection "Display"
		Depth     16
		<font class="comentario">#Modes "1024x768" "800x600" "640x480"</font>
		Modes "640x480"
	EndSubSection
EndSection

Section "Monitor"
    Identifier     "Monitor TV"
    HorizSync       30.0 - 50.0
    VertRefresh     60.0
EndSection

Section "Device"
    Identifier     "nVidia TV"
    Driver         "nvidia"

    Busid          "PCI:3:0:0"

	<font class="comentario">#Option "TwinView" "1"
	#Option "SecondMonitorHorizSync" "30-50"
	#Option "SecondMonitorVertRefresh" "60"
	#Option "TwinViewOrientation" "Clone"</font>
	Option "TVStandard" "PAL-G"
	<font class="comentario">#Option "TVOutFormat" "COMPOSITE"
	#Option "TVOutFormat" "SVIDEO"
	#Option "ConnectedMonitor" "CRT,DFP,TV"</font>
	Option "ConnectedMonitor" "TV"
EndSection
</pre>
<p>&nbsp;</p>
<p>Por &uacute;ltimo configure un sencillo ~/.xinitrc:</p>
<pre class="codigo">
metacity &#038;
totem &#038;
xterm
</pre>
<p>&nbsp;<br />
Junto con un miniscript ~/bin/TV del que hice un lanzador en el escritorio:</p>
<pre class="codigo">
#!/bin/bash

xinit -- :1 -layout TV
# ver ~/.xinitrc
</pre>
<p>&nbsp;<br />
Adem&aacute;s de los scripts indicados en la gu&iacute;a.<br />
tv-mplayer:</p>
<pre class="codigo">
#!/bin/sh

exec /usr/X11R6/bin/xinit /usr/bin/xterm -ut -e \
  /usr/bin/mplayer -stop-xscreensaver -fs -vo sdl "$@" -- /usr/X11R6/bin/X :1 -layout TV
</pre>
<p>tv-totem:</p>
<pre class="codigo">
exec /usr/X11R6/bin/xinit /usr/bin/xterm -ut -e \
  /usr/bin/totem -- /usr/X11R6/bin/X :1 -layout TV
</pre>
<p>La ventaja de llamarlos tv-* es que es m&aacute;s facil lanzarlos desde bash con autocompletar (TAB).<br />
&nbsp;<br />
&iexcl;Y ya est&aacute;!<br />
Ahora estoy intentando que cuando enciendo el equipo con la TV conectada siga utilizando el monitor, porque actualmente me toca desconectar la TV en el arranque.<br />
&nbsp;</p>
<h2>Solventando errores</h2>
<p>Una buena fuente es la <a href="http://www.x.org/wiki/FAQErrorMessages" class="externo">FAQ de X.org</a>.<br />
&nbsp;<br />
<b>X: user not authorized to run the X server, aborting.</b><br />
Dos opciones, la sencilla:<br />
<font class="comando"># dpkg-reconfigure X11-common</font><br />
&nbsp;<br />
Para entenderlo mejor:<br />
<font class="comando"># vi /etc/X11/Xsession.options</font></p>
<pre class="codigo">allow-user-resources
allow-user-xsession</pre>
<p>
<font class="comando"># vi /etc/X11/Xwrapper.config</font></p>
<pre class="codigo">allowed_users=anybody</pre>
<p>&nbsp;<br />
<b>Xlib: connection to &#8220;:1.0&#8243; refused by server</b><br />
<font class="comando">$ mv ~/.Xauthority ~/.Xauthority.old</font><br />
&nbsp;</p>
<p>
<span class="keywords"><b>Configurar la salida de TV en tarjetas nVidia, tv-out nvidia Linux, salida tv en GNU/Linux</b></span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/configurar-la-salida-de-tv-en-tarjetas-nvidia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

