Category: tutorial


Algunos tips para SAGE

Como es con la práctica con la que se aprende, a lo largo del tiempo usando SAGE+Maxima (para evitar el uso de Maple) he ido aprendiendo algunos truquillos que (os?) pueden resultar interesantes (bien, me lo parecen a mi, y eso es suficiente :) ).

  • Visualización de resultados: SAGE puede funcionar de dos formas distintas, dentro de la línea de comandos y como aplicación web (invocando el comando notebook() dentro de la línea de comandos se inicia un servidor al que se puede acceder desde cualquier navegador convencional). No es difícil imaginar que dentro del modo línea de comandos sería prácticamente imposible visualizar ciertos resultados de forma cómoda, precisamente por eso implementaron el modo web… pero aun así nos podemos encontrar con sorpresas desagradables. Por defecto los resultados se mostrarán solo con carácteres ascii y consecuentemente pueden ser de difícil legibilidad. Hay un comando llamado latex() que transforma la entrada en una salida escrita en formato LaTeX, el problema es que para visualizar eso necesitamos pasarlo a un compilador de LaTeX y transformarlo, el proceso en sí es demasiado pesado y lento.

    La solución viene de la mano de jsMath, que son unas librerías que sirven para visualizar textos matemáticos en páginas web. En Debian y Ubuntu se pueden instalar desde aptitude o apt, yo recomiendo instalar dos paquetes: jsmath y ttf-jsmath. Una vez instaladas sólo habrá que marcar el checkbox Typeset que podemos encontrar en la parte superior de la página web que genera SAGE para trabajar, con ésto obtendremos salidas bien formateadas y con un aspecto agradable :)   .

  • Trabajar con polinomios sobre diferentes cuerpos: Dependiendo del cuerpo sobre el que trabajemos los polinomios se pueden descomponer de diferentes maneras y cuando se evaluan sobre un elemento del cuerpo pueden dar resultados diferentes. Por lo general la gente trabaja sobre el cuerpo de los números reales, otros trabajan sobre los complejos, y otros sobre los racionales, esos casos son los más usuales para los no matemáticos, pero muchos otros nos encontramos con la necesidad de trabajar con otros cuerpos que nos pueden resultar mucho menos intuitivos a la hora de realizar los cálculos. ¿Y como indicamos a SAGE que estamos trabajando con un cuerpo u otro? Ejecutando el siguiente comando, a partir de ese momento estaremos trabajando con el cuerpo indicado:
    R.<x>=cuerpo[]
    donde cuerpo es el cuerpo que queramos (y sea construible dentro de SAGE), para los racionales usamos QQ, para los reales RR, y para los complejos CC, y x es la variable que usaremos para el polinomio. Nosotros podemos construir otros cuerpos, de momento yo sólo he aprendido a construir cuerpos finitos (hay teoremas de isomorfismo que me aseguran que los que construyo son los únicos finitos). Para construir cuerpos finitos utilizaremos el comando:
    NombreQueLeQueramosDarAlCuerpo=FG(número)
    donde número és la cantidad de elementos que tendrá el cuerpo. Podemos probar las diferencias usando, por ejemplo, el comando factor sobre una expresión polinómica, de esta forma:
    factor(x^8-1)
  • Información extra que os pueda interesar: Dado que SAGE es muy extenso y yo he explicado muy pocas cosas, para los que no tengan mucha experiencia o por el contrario, quieran profundizar aun más, os enlazo algunos documentos:

Espero que a alguien le pueda servir ésto :) . Saludos!

Ayer añadí y activé un plugin que supuestamente iba a proteger mi blog de spam en forma de comentarios (además de pingbacks y trackbacks) sin la necesidad de usar métodos Captcha (era una capa de protección previa a la que ofrece Akismet). El plugin se llama Anti-Captcha, y la teoría sobre su funcionamiento era bonita (aunque no llegué a entenderla del todo pues tenía sueño y sólo quería probar qué tal iba, ahora tengo serias dudas sobre si había algo que entender).

Al parecer la instalación de dicho plugin había causado que incluso los comentarios legítimos no aparecieran en la lista de comentarios, y para postres me impedía a mi entrar al menú de administración. Mi decisión, obviamente, fue eliminar el plugin, ¿pero cómo hacerlo si no puedo acceder al panel de administración? Borrar los ficheros parece una solución buena, eso si no se piensa que su activación ha modificado la base de datos del blog y nos puede ocasionar problemas que haya referencias a ficheros inexistentes.

Así pues, la solución pasa por otro camino, casi igual de simple también. Lo primero que debemos hacer es acceder a la base de datos y visitar la tabla options (que tendrá un prefijo wp_ o el que hayáis decidido vosotros durante la instalación o tras una posterior modificación). En esa tabla debemos buscar una entrada tal que en el campo option_name tenga el valor active_plugins , vamos a editar esa entrada :) .

Si nos fijamos bien, veremos que en el campo option_value hay una cadena muy larga que empieza por “a:numero:{i:0;…“, ese primer número que nos encontramos indica la cantidad de plugins activados que tenemos en nuestro blog, dado que vamos a desactivar uno de ellos, cambiamos ese número por el mismo decrementado en una unidad, así, si tenemos 20, pondremos 19. Fijémonos ahora que para cada plugin encontramos una subcadena del estilo ‘i:numero;s:numero:”nombre_fichero_plugin.php”;‘, el número que acompaña a la i es una especie de índice que indica la “posición” del plugin dentro del blog, ahora sabiendo ésto ya podemos decidir qué hacer para eliminar el plugin de la base de datos sin que aparezcan inconsistencias en ésta. Primero de todo eliminamos la subcadena que hace referencia a ése plugin, depués debemos decrementar en una unidad todos los números que van precedidos de una i después de la aparición de la subcadena que hemos eliminado. Con ésto habremos acabado.

Lo que nos queda, si queremos eliminar cualquier rastro del plugin que nos ha amargado la existencia, es eliminar físicamente los ficheros del bicho en cuestión que tenemos en el servidor, lo podemos hacer desde el servicio ftp, ssh o desde el mismo panel de administración del blog, para gustos los colores.

En realidad el título debería ser “Resolver sistemas de EDOs de primer orden con coeficientes constantes con Maxima“, pero obviamente era demasiado largo. Lo que escribiré aquí se puede encontrar en la ayuda de Maxima (no sé donde está exactamente si se quiere acceder a pelo a los archivos, pero es accesible fácilmente desde la interfaz wxMaxima), pero creo que puede ser interesante explicar como se ejecutan cálculos como éstos para aquellos que no conozcan demasiado este programa.

Como ya he indicado en el título, hago referencia a EDOs con coeficientes constantes porque Maxima (almenos con al versión instalada en Ubuntu Jaunty 9.04) tiene algunas dificultades para trabajar con ecuaciones más complejas, en todo caso puede ser muy útil tener una herramienta como ésta a mano si no se dispone de otras como Maple (mi caso, por ejemplo).

Entonces, para resolver las siguientes ecuaciones relacionadas con el típico problema de los tanques interconectados entre los que fluyen líquidos (aquí luciré el nuevo plugin para mostrar latex en WordPress :D ):

 \begin{cases} \dot{QA_{T}}(t) = 3 + \frac{4}{100}QB_{T}(t) - \frac{5+8}{100}QA_{T}(t) \\ \\ \dot{QB_{T}}(t) = 3 + \frac{5}{100}QA_{T}(t) - \frac{4+9}{100}QB_{T}(t) \\ \\  QA_{T}(0) = 0 \\ \\ QB_{T}(0) = 0 \end{cases}

Lo haremos con los siguientes comandos:

 eq1: 'diff(x(t), t) = (-13/100)*x(t) + (4/100)*y(t) + 3;
 eq2: 'diff(y(t), t) = (5/100)*x(t) + (-13/100)*y(t) + 3;
 atvalue(x(t), t=0, 0);
 atvalue(y(t), t=0, 0);
 desolve([eq1, eq2], [x(t), y(t)]);

En las primeras dos líneas definimos las dos ecuaciones diferenciales (les damos nombre poniendo el nombre seguido de dos puntos y seguidamente la ecuación). En las siguientes dos líneas se escriben las restricciones que tienen que satisfacer las soluciones (que, no lo olvidemos, son funciones). Y por último se le passa un array con las ecuaciones a la función dsolve, así como un array con el nombre de las funciones que queremos encontrar. Ésto es todo amigos, espero que os sirva ;) .

Campaña de mierda

[ACTUALIZACION:] 11:19 de la mañana, de momento sólo tienen… 5 testimonios!! (y todos.. o falsos o de gente con poca capacidad de razonamiento)

[ACTUALIZACION:] 12:19 de la mañana, … seguimos igual, sólo 5 testimonios!!

[ACTUALIZACION:] 13:19 … seguimos igual, sólo 5 testimonios, esto demuestra cuan gran aceptación tendrá la campaña. No volveré a actualizar, no vale la pena.

Bien, en esto se gastan nuestros impuestos los grandes cerebros que dirigen nuestro gobierno:

Campaña de mierda

Me parece una verguenza que se lleven a cabo iniciativas como estas. Lo primero: el gasto que implica tal campaña (hoy me he encontrado con un gran cartel en la estacion de ‘Barcelona Sants’ y me han entrado arcadas). ¿Se supone que nos tiene que parecer una cara sonriente el símbolo del copyright?

Si visitáis el sitio podréis observar que se os invita a dar testimonio (pero ojo… ¡sólo a gente legal!) . El problema: sólo dejan escribir testimonios de menos de 400 caracteres, lo que implica que ninguna opinión compleja o medianamente inteligente puede ser expresada correctamente en este sitio. Vamos, que no quieren que ninguna opinión pueda invitar a pensar, y si hay alguna controvertida, que se pueda rebatir fácilmente por que no habrá podido aportar argumentos.

Pero esto no es lo peor: en una supuesta democracia, el gobierno paga para que sólo se acepten las opiniones de aquellos que ya estan de acuerdo con lo que se está diciendo en la campaña: vamos, que nos hacen callar a casi todos, de democracia nada. Y lo peor, aquellos desinformados que lean las opiniones.. ¿creerán que es el sentir mayoritario de los internautas lo que allí se expresa? Si es así.. mal vamos, por que se podría distorsionar su visión de la realidad :( , y eso, todos lo sabemos, no es bueno para las democracias.

Pues nada, tengo que dejaros, triste por estos hechos.. por cierto: os invitio a enlazar la campaña tal como hago yo : con en enlace http://siereslegalereslegal.com/?campañademierda , (esta vez no se está injuriando a nadie, sólo a una campaña, que no es ni un colectivo, ni asociación, ni persona física…) A ver si conseguimos que buscando campañademierda en google aparezca ésta, jejeje.

Ale, hasta otra!

Ruby!

Hoy me he puesto a rebuscar sobre el lenguaje Ruby (sí, ese del Ruby on Rails) (por cierto, mi gato se llama Ruby también, jeje) y he encontrado un pequeño tutorial. La verdad es que es la leche! No paran de halagarte y la verdad es que sube mucho la moral, aunque en mi caso ya sepa que los cumplidos que me hace no tengan mucho que ver con la realidad (desgraciadamente). Jeje, así que si queréis subiros la moral (y de paso aprender algo), :p , podéis pasaros por este tutorial interactivo :D .

http://tryruby.hobix.com/

ACTUALIZACIÓN: Éste tutorial és… inútil, xD (salvo si se quieren aprender algunas cosillas interesantes), la solución a los problemas que menciono és más sencilla que la expuesta en este tutorial, simplemente se tiene que instalar el paquete kmilo (o alguno que contenga el programa, dependiendo de qué distribución de Linux uséis).

Hará un tiempo mi portátil funcionaba bajo Debian Testing con KDE, en su momento lo configuré tan bien como pude y todo funcionaba de maravilla… hasta que el hardware se empezó a estropear (lo que le llevó a la muerte hará pocas semanas). Después de morir mi portátil fue transportado al cielo de los portátiles, junto con su Creador (HP) , allí se le dio una segunda oportunidad por haber sido tan bueno… y a los tres días resucitó.

El caso es que volvió a mis manos infectado con Windows (se lo contagiaron los otros ordenadores que no merecieron volver a la vida y todavía hoy permanecen en el purgatorio). A la semana conseguí curarlo con Debian Testing (KDE) pero parecía que algo no iba bién, seguía un poco acatarrado.

Por lo visto (no sé bien bien porqué) con la versión actual Testing de Debian han dejado de funcionar bien muchas cosas que antes iban como la seda: el sistema de sonido, y como no, el teclado (de ahí el título del artículo). Antes, configurar el teclado sólo consistía en tocar cuatro tonterías en los paneles de configuración de KDE (me parece que ya posteé hace tiempo sobre como hacerlo de esa manera). Ahora no es tan sencillo, y tenemos que currar un poco más (al menos en mi modelo HP Pavillion dv2104 eu).
Iremos por pasos (nota, todo lo que ponga con comillas, vosotros ponedlo SIN comillas):

  1. Aplicamos el primer mini-tutorial (en mi caso todo funciona, pero Kmix no reconoce las teclas Mute, Subir Volumen y Bajar Volum, de ahí que esté haciendo este segundo mini-tutorial).
  2. (Suponiendo que estamos en KDE) Vamos a Preferencias->Regional i accesibilidad->Introducir acciones.
  3. Ahora crearemos una acción para Mute: Apretamos el botón ‘Nueva acción’.
  4. En el campo ‘Nombre de la acción’ ponemos lo que queramos (aunque estaría bien un nombre identificativo, por ejemplo ‘Mute’).
  5. En el campo ‘Tipo de la acción’ escogemos la opción ‘Acceso rápido de teclado -> Llamada a DCOP (simple)’.
  6. Vamos a la pestaña ‘Acceso rápido de teclado’. Allí seleccionamos el botón que hay en medio y apretamos el botón especial Mute. (Esto sirve para indicar al programa con qué tecla asociaremos la acción).
  7. Vamos a la pestaña ‘Preferencias de llamada a DCOP’. Rellenenamos el campo ‘Aplicación remota’ con el valor ‘kmix’. Rellanamos el campo ‘Objeto remoto’ con el valor ‘Mixer0′ (Hasta este paso todo se hace igual para Mute, Subir Volumen y Bajar Volumen, excepto con los nombres y las teclas asociadas, claro).
  8. Para Mute el campo ‘Función llamada’ tomará el valor ‘toggleMasterMute’. Para Subir Volumen el mismo campo tomará el valor ‘increaseVolume’ y para Bajar Volumen ‘decreaseVolume’.
  9. El campo ‘Argumentos’ no tomará ningún valor para Mute. Para Subir y Bajar Volumen tendremos que asegurarnos de cual es el valor apropiado. Ejecutamos en consola la siguiente instrucción para saberlo (la salida que nos dé será el número que queremos):
    dcop kmix Mixer0 masterDeviceIndex
  10. Apretamos el botón ‘Aplicar’ y ya estamos :) .
  11. Para casos superespeciales (no me ha pasado): cabe destacar que yo he utilizado Mixer0 a la ligera como ‘Objeto remoto’, pero ¿No podría haber Mixer1? Creo que sí, pero no debe ser muy usual. En todo caso nos podemos asegurar ejecutando el comando (Nos dará una lista de los valores aceptables para ese campo):
    dcop kmix | grep Mixer

Espero que haya sido útil éste mini-tutorial. De hecho, creo que introduce también la idea de utilizar dcop para nuestros propios pequeños programas. Sin duda es una muy buena herramienta para intercomunicar programas.

Ala, hasta otra! :)

Buenas, ésta mañana me he estado peleando con mi portátil para poder conseguir que funcionara su targeta wifi (Broadcom BCM94311MCG wlan mini-PCI (rev 01) ). Lo del (rev 01) es importante porque indica el número de revisión de la tarjeta, el caso es que el procedimiento es un poco más largo si nos encontramos con (rev 02) .

La información que me ha sido más util para resolver mi problema la he encontrado en estos dos blogs:

En el primero hay una explicación detallada sobre como podemos ver parámetros de nuestro hardware, vamo, mucho más de lo necesario, pero no por ello menos interesante.
http://www.jesuslara.com.ve/blog/2008/03/11/broadcom-wlan-43xx-con-el-wireless-stack-mac80211-kernel-2624/

En el segundo tenemos una explicación muy breve y concisa.
http://nosoyeljano.wordpress.com/2008/04/10/broadcom-wireless-con-modulo-b43/

¿Porqué escribo esta entrada si ya escribí otra acerca del mismo tema hace ya tiempo? Pues bien, resulta que con el nuevo kernel 2.6.24 ya no sale a cuenta intentar instalar ndiswrapper, por que en la mayoría de casos no funciona, además, tenemos una solución mucho más sencilla :D .

Por si acaso escribiré también la solución aquí, nunca se sabe lo que puede pasar con los enlaces.

Paso 1:
Editar el archivo /etc/apt/sources.list (en modo root), tenemos que añadir la palabra contrib si no está puesta ya en las líneas que comiencen por deb. Ésto se debe a que no el paquete que necesitamos instalar no lo mantienen desarrolladores de Debian. (Después de realizar todo el proceso podemos dejar el archivo como estaba).

Paso 2:
Ejecutar el comando:

# lspci | grep Network

Con él conseguiremos saber qué dispositivos de red tenemos (y veremos si efectivamente estamos trabajando con el que en éste tutorial presupongo). Tenemos que mirar la primera línea, que será algo parecido a ésto:
01:00.0 Network controller [0280]: Broadcom Corporation BCM94311MCG wlan mini-PCI [14e4:4311] (rev 01)

Nos fijamos en los segundos corchetes [14e4:4311] , el segundo valor es el que nos interesa, porque nos permitirá saber si nuestro dispositivo de red wireless está soporado o no por el driver que instalaremos (me olvidaba de mencionarlo, se llama b43 ;) ). Los dispositivos soportados són:

  • bcm4303 (chips 802.11b)
  • bcm4306
  • bcm4311 rev 1 / bcm4312
  • bcm4311 rev 2 / bcm4312 (needs patches for 2.6.24)
  • bcm4318

Si nos fijamos veremos que lo de rev1 o rev2 también aparece en la primera línea, inmediatamente después de los corchetes. Bien, todo aquel que no tenga su dispositivo en la lista… lo tendrá peludo, aunque nunca se sabe.

Paso 3:
Este paso te lo puedes saltar si no tienes una de esas tarjetas rev 2 (supongo que es el número de revisión). Tenemos que descargar y aplicar un parche :p.
# wget http://linuxwireless.org/download/b43/patch_2.6.24_for_4311_2

Ahora toca mover el parche al directorio de linux y aplicar el parche (en éste punto tengo que admitir que nunca lo he hecho, pues no me ha hecho falta, así que si hay dudas sobre esto… buf, espero que sean fáciles para que pueda responder).

# cp /donde/sea/patch_2.6.24_for_4311_2/ /usr/src/linux
Nos movemos al directorio donde hemos copiado los archivos:
# cd /usr/src/linux [1]
Aplicamos el parche:
patch -p1 < patch_2.6.24_for_4311_2

Ahora tenemos que compilar, seguid éste tutorial:
Compilar Kernel a la Debian

Paso 4:
Ahora nos toca instalar el paquete que nos rematará el trabajo:
apt-get install b43-fwcutter

Paso 5:
Nos queda indicar al sistema qué módulos queremos que se carguen al iniciarse y cuáles NO QUEREMOS que se carguen. Para ello modificaremos primero el fichero en el que se indican los módulos que no se cargarán /etc/modprobe.d/blacklist (en modo root). Añadiremos las siguientes líneas:
blacklist ndiswrapper (Sí, desterramos a ndiswrapper, :D )
blacklist bcm43xx
blacklist ssb

La línea con ssb la pongo aunque no esté en los tutoriales porque yo mismo he comprobado que es necesaria. Ah! ya no es necesario añadir nada en /etc/modules como antes con ndiswrapper :) . No estaría mal que lo abrierais también para eliminar la entrada de ndiswrapper en caso de que esté allí. (Para hacer un poco de limpieza).

Más cosas (aunque ya son pequeñeces): tendréis que reiniciar el sistema. Una herramienta como Knetworkmanager va de coña. Podéis ejecutar el comando iwconfig para ver qué dispositivos de red inalámbrica tenéis activados. Los comandos ifup y ifdown sirven para levantar una interfaz de red fácilmente. Si ejecutais ‘iwlist scan‘ os aparecerá una lista de las redes inalámbricas disponibles. Si no os va nada… probad a editar el archivo /etc/network/interfaces, añadís las líneas siguientes:
allow-hotplug wlan0_rename
iface wlan0_rename inet dhcp

Normalmente se pone wlan0 y no wlan0_rename, pero no sé porque se me configuró de forma que necesitaba ese nombre en concreto… :( , en principio probad con wlan0. (después de editar ésto utilizado los comandos:
ifdown wlan0
ifup wlan0

Bien, tengo mucho sueño y no recuerdo si hay alguna pijada más que se deba tener en cuenta. Hasta otra :) .

——
[1] Aquí he encontrado un pequeño error y he modificado ligeramente los pasos respecto a la fuente original.

Hasta hace poco en mi ordenador Chisposo corría GNU/Linux Debian Testing (Lenny), pero como tuvo que pasar por el servicio técnico de HP para que solventaran ese pequeño problemilla que tenía (de hecho murió) allí lo volvieron a convertir en un pobre monstruo que sólo sabía ejecutar Windows XP (suerte que no le pusieron Vista).

Por eso mismo éste pasado jueves instalé Debian Testing 64 bits con KDE en mi portátil, pero me encontré con un problema bastante desagradable… el sonido era la cagada más grande que uno pueda imaginar, pura distorsión, de esa que te pone los pelos de punta. Hoy quería arreglar el problema y dado que he tenido la maravillosa suerte de tener acceso a internet (¡sí! ¡porfín hay internet en mi casa!) he decidido reinstalar Debian (no tenía ganas de solucionar el problema a lo hackercillo) pero esta vez he utilizado un CD netinst.

El caso es que no sé si en principio ha sido peor el remedio que la enfermedad, pues me he quedado sin sonido, he pasado de sufrir por la distorsión a sufrir por ver a mi pobre Chisposo sin poder decir ni mu. Obviamente no he dejado las cosas así y he empezado a buscar información para ver si encontraba alguna manera de solucionar el problema, al final la he encontrado. Apuntaré los pasos que he seguido (sin incluir la búsqueda de información, os lo ahorraré), sólo añadiré que por lo visto no soy el único que ha tenido éste problema últimamente, parece ser que las versiones recientes de Lenny dan bastante por saco con el sonido.

  1. Tecleamos en la consola la siguiente línia para instalar los paquetes ‘module-assistant’ y ‘build-essential’.
    # apt-get install module-assistant build-essential

  2. Vamos a la dirección ftp://ftp.alsa-project.org/pub/driver/ para descargar el driver alsa más reciente (simplemente buscad el fichero más reciente y con el número de versión más alto). En particular yo he bajado el ficheroalsa-driver-1.0.16rc2.tar.bz2 .
  3. Descomprimimos el driver:
    # tar xjvf alsa-driver-1.0.16rc2.tar.bz2
  4. Accedemos a la carpeta que se acaba de crear:
    # cd alsa-driver-1.0.16rc2

  5. Y ejecutamos los típicos comandos (Puede que algunos tengáis algunos problemas, así que leed el paso 6 antes de continuar):
    # ./configure
    # make
    # make install
  6. Nos puede pasar que cuando ejecutamos el comando ‘configure’ aparezca un mensaje en la consola diciendo que nos faltan algunos archivos de cabecera del código de Linux, seguramente empezará diciendo que falta un archivo version.h situado en /usr/src/linux/include/linux/ . Por esta razón tendremos que bajar los headers de linux. Lo que pasa es que dependiendo de la arquitectura y el momento el paquete puede llamarse de diferentes maneras, así que lo que haremos será buscar entre las posibles opciones que nos mostrará el siguiente comando:
    # apt-cache search linux src

    Yo en particular me bajo el paquete linux-headers-2.6.22-3-amd64 por que tengo un sistema amd64:
    # apt-get install linux-headers-2.6.22-3-amd64

    Una vez bajadas las cabeceras ya podemos ejecutar el paso 5. Por cierto, también puede pasar que siga sin encontrar los archivos de cabecera, entonces estad atentos al mensaje que os da (ahora no recuerdo exactamente el comando que hace falta utilizar, pero en el mensaje aparece). Tenéis que escribir ./configure con un comando seguido de la ruta real de los archivos de cabecera, en mi caso sería /usr/src/linux-headers-2.6.24-1-amd64/ .

  7. Ahora hay gente a quien le funcionará simplemente reiniciando la máquina o reiniciando el servicio alsasound:
    # /etc/init.d/alsasound restart

    En mi caso no ha funcionado y he tenido que llamar a la utilidad alsaconf:
    # alsaconf

    He seleccionado la opción correspondiente a mi tarjeta de sonido y posteriormente he reiniciado la máquina obteniendo el resultado deseado. (Antes de todo este rollo no me funcionaba lo de alsaconf, así que lo anterior también tiene su sentido).

Espero que éste tutorial pueda servir a alguien (aunque se puede encontrar la misma información repartida por internet), he intentado recopilarla de la forma más ordenada posible para facilitar la búsqueda de información. Si por alguna razón no funcionara éste sistema siempre podéis acudir a foros y otros sitios donde seguro acabará apareciendo alguna solución :) .

Hasta otra!

El otro día navegando por internet me encontré con éste fantástico tutorial, la verdad es que és interesante y nos puede servir si queremos colaborar o simplemente aprender algo nuevo. Ahora me he animado a construir un robot y crear los drivers para controlarlo… si los ánimos y el tiempo no me fallan talvez comente algo más sbre éste tema en el Blog.

Breve tutorial para escribir drivers en Linux

El mismo tutorial en inglés, con alguna imagen extra (y actualizado para la versión2.6 del kernel)
Breve tutorial para escribir drivers en Linux (Inglés)

Aquí os presento un minitutorial para hacer funcionar vuestras redes wireless con el modelo pavillion dv2104 de Hp (seguramente és extrapolablea muchos otros modelos), la verdad es que a mí me habría venido bien de buen principio, así que considero que es una buena idea publicarlo :) .

Paso 1:
Descargar el driver para Güindows desde la siguiente dirección: http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=ob-45290-1&lc=en&cc=sg&dlc=en&product=3263204&os=228&lang=en
(Para una distribución de 64 bits, si utilizas una distro de 32 bits, tendrás que descargar otro archivo)

Paso 2:
Tenemos que extraer el driver del instalador que nos hemos bajado, para elloutilizaremos la utilidad cabextract.
cabextract *.exe
En caso de no tener instalado el paquete cabextract, deberemos instalarlo:
#apt-get install cabextract

Paso 3:
Instalamos una espécie de cargador de drivers de windows bajo Linux, el ndiswrapper:
#
aptitude install ndiswrapper-source ndiswrapper-common ndiswrapper-utils-1.9

Paso 4:
Preparamos el módulo:
#
module-assistant auto-install ndiswrapper
Para ello es necesario tener instalado el paquete module-assistant, si nolo tenemos, debemos hacer:
#apt-get install
module-assistant

Paso 5:
Ahora procederemos a cargar el driver,
bcmwl5.inf, extraído anteriormente:
#ndiswrapper -i bcmwl5.inf

Paso 6:
Estamos ya casi al final de la recta, cargamos el módulo:
#
modprobe ndiswrapper

Paso 7:
Ahora vamos a tocar un poco los archivos de configuración:
· Para cargar el módulo al inicio del sistema añadimos las siguiente línea al fichero /etc/modules :
ndiswrapper
· Para habilitar la red inaámbrica añadimos las siguientes líneas al fichero /etc/network/interfaces :
allow-hotplug wlan0
iface wlan0 inet dhcp

A mí me hizo falta reiniciar para que me funcionara todo, pero puede que no sea necesario. Para configuraciones avanzadas de redes domésticas tendréis que mirar la documentación de Debian sobre redes inalámbricas (ésta configuración sirve para poder captar redes sin clave al vuelo).

Por si no se os conecta, podéis probar lo siguiente:
#ifdown wlan0
#ifup wlan0

Otra cosa más, Como programa para gestionar las conexiones inalámbricas os recomiendo el wlassistant y knetworkmanager para KDE.

Espero que os haya servido esta miniguia, si tenéis alguna duda dejad vuestros comentarios, no olvidemos que he indicado una configuración tal vez demasiado específica.


Powered by WordPress | Theme: Motion by 85ideas.