lunes, 6 de diciembre de 2010

instalacion y config del modulo b43 en Debian y Ubuntu para una Broadcom 14e4:4315

Pues si, este POST me ha tomado mucho tiempo, por las siguienes razones:
1. pocos recursos en la web al respecto
2. el tremendo rollo de los hardware con modulos privativos con el open-source
3. la enorme gama de formas de instalacion de wireless broadcom con gnu/linux
4. el modulo de los repos - wl- realmente sirve para muy poco - if you know what I' talking about ;-)

pero bueno, finalmente aca esta el howto:
1. no hay una unica forma de hacer esto para todas las wireless broadcom!!!! asi que no pierdan el tiempo siguiendo howtos genericos

2. Desplegar la version de tu chipset:
$ lspci -vvnn | grep 14e4
02:00.0 0280: 14e4:4315 (rev 01)

3. desplegar info detallada de todas las NIC's de mi box:
# lshw -C network
*-network
description: Network controller
product: BCM4312 802.11b/g
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=wl0 latency=0 module=wl
*-network
description: Ethernet interface
product: RTL8101E/RTL8102E PCI Express Fast Ethernet controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:08:00.0
logical name: eth0
version: 02
serial: 00:21:cc:39:4f:33
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical
configuration: broadcast=yes driver=r8169 driverversion=2.3LK-NAPI latency=0 module=r8169 multicast=yes
*-network:0 DISABLED
description: Ethernet interface
physical id: 1
logical name: vboxnet0
serial: 0a:00:27:00:00:00
capabilities: ethernet physical
configuration: broadcast=yes multicast=yes
*-network:1
description: Wireless interface
physical id: 2
logical name: wlan0
serial: 00:24:2c:74:37:7a
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=wl driverversion=2.6.34.7-htamayo firmware=N/A ip=xxx.xxx.xxx.xxx multicast=yes wireless=IEEE 802.11bg

como podes ver, lo que nos interesa es el dispositivo wlan0, que usa el driver wl, igual en tu sistema puede llamarse ethx.

4. Ponemos en blacklist el driver wl:
# echo "blacklist wl" >> /etc/modprobe.d/blacklist.conf

5. Actualiza el kernel, por lo menos a la version 2.6.34.xx, como tendras que compilarlo vos mismo este POST puede servirte.

6. instalar b43:
#apt-get install b43-fwcutter

7. configurar algunas opciones para rendimiento:
#touch /etc/modprobe.d/b43.conf echo >> "options b43 pio=1 qos=0" | tee -a /etc/modprobe.d/b43.conf


8. levantemos el modulo:
# rmmod b43
# modprobe b43 pio=1 qos=0

A estas alturas, ya tu tarjeta ya wireless ya debe estar habilitada, por lo menos en Debian Lenny asi fue.

9. troubleshooting solo para Ubuntu 10-04
verifiquemos si tu tarjeta esta habilitada:
$ sudo iwconfig wlan0 up
SIOCSIFFLAGS: Unknown error 132

para corregir esto haces:
$ sudo rfkill unblock all

listo, ahora ya ningun proceso esta bloqueando tu wireless, asi que proba conectarte a un access point y a utilizar todo el poder del b43

happy coding!!!

miércoles, 24 de noviembre de 2010

Actualizando el kernel en Debian sin usar repos

Pues bueno, a veces es necesario salirse del ciclo de actualizacion de paquetes de Debian, necesite actualizar mi kernel por lo menos a la version 2.6.34, buscando en los repos oficiales creo que lenny llegaba hasta la 2.6.26 y usando los backports llegaba hasta la 2.6.31 asi que bueno, me toco compilar el kernel, espero que este POST les sirva a muchos, que googleamos por ahi y encontramos bien pocos recursos utiles, aqui va:

  • instalar los siguientes paquetes de los repos oficiales:
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
  • El directorio de trabajo sera el usr/src:
#> cd /usr/src
  • Descargar la imagen del kernel que deseamos compilar:
#> wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.7.tar.bz2
  • Descomprimir el kernel recien descargado:
#> tar xjf linux-2.6.34.7.tar.bz2
  • Creamos un enlace simbolico a la carpeta del kernel recien desempacado:
#> ln -s linux-2.6.34.7 linux
  • Cambiamos a dicho directorio de trabajo:
#> cd linux
  • Comando para limpiar todos los archivos de compilaciones anteriores y restaurar el directorio de compilacion a su estado original:
#> make clean && make mrproper
  • Copiamos el archivos de configuracion que el kernel actualmente instalado usa -esto nos ahorra un mundo de configuraciones en el menu de configuracion del kernel que viene mas adelante-:
#> cp /boot/config-`uname -r` ./.config
  • Ahora si, vamos al menu de configuracion del kernel:
#> make menuconfig

Dentro del menu, vamos al final y escogemos la opcion "Load an alternate configuration file", luego le das Aceptar en la nueva pantallas, puesto que nuestro archivo config ya esta seleccionado. Luego presionamos EXIT y respondemos que si queremos guardar los cambios en nuestro "config" file.
  • Ahora para compilar el kernel vienen estas dos lineas:
#> make-kpkg clean
#> fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Unas notas:
1. donde dice "custom" ahi podes poner algun nombre que te ayuda a distinguir esta compilacion de otras versiones de kernel que tengamos instalados, en mi caso siempre uso htamayo
2. sentite comodo, trae tu bebida favorita o encende la TV porque el proceso de compilacion se tarda, depende mucho de tu CPU, en mi caso, se tardo 1 hora y 40 minutos :-)

  • Troubleshooting: al finalizar la compilacion obtuve este error: The UTS Release version in include/linux/version.h does not match current version: 2.6.34.7-htamayo, please correct this...". Investigue por ahi y al parecer es un bug que solo esta documentado para la version del kernel del 2.6.33, pero bueno, yo use una version mayor y me dio error , en caso que te suceda segui estos pasos:
  • #> unlink linux
  • #> rm -r linux-2.6.34-7
  • #> tar xjf linux-2.6.34.7.tar.bz2
  • #> ln -s linux-2.6.34.7 linux
  • #> cd linux
  • #> cp include/generated/utsrelease.h include/linux
  • y luego continuas con los pasos anteriormente descritos
Al final, si todo salio bien, reinicia y ya tenes listo tu nuevo kernel.

happy coding

lunes, 15 de noviembre de 2010

agregar usuarios a un grupo en particular

Si ya existe un usuario en nuestro linux box, estos comandos pueden ser utiles para trabajar con grupos:

  • Desplegar los grupos a los que pertenece un usuario existente:
groups
groups tamayo:
tamayo : tamayo cdrom audio video plugdev lpadmin powerdev scanner vboxusers uml-net netdev

  • Agregar a el usuario a un grupo en particular:
#usermod -a -G
#usermod -a -G disk tamayo

Hay que recordar que para que podamos heredar los permisos de los grupos a los que hemos sido agregados hay logearse nuevamente para que los cambios sean actualizados.

un post flashback, pareciera mentira pero muchas veces estas cosas se olvidan y son de mucha utilidad

happy coding!

martes, 9 de noviembre de 2010

quitar del SO imagenes de kernel anteriores y archivos relacionados

Hace poco actualice el kernel a la version 2.6.34, despues de habilitar algunos puntos criticos despues de una actualizacion: driver del kernel de virtualbox, modulo privativo de mi ATI card y modulo de mi Wireless, quiero quitar la imagen anterior del kernel y otros archivos que esten relacionados, pues aca estan los pasos que segui:

1. Desplegar la version del kernel recien actualizado - y que se supone que lo tenemos en uso-:
uname -r
2.6.32-bpo.5-amd64

2. Despleguemos todos los kernel que estan actualmente en el SO:
ls /boot | grep vmlinuz | cut -d'-' -f2,3
2.6.28-15
2.6.32-bpo.5-amd64

De esta lista podemos ver que el 2.6.28 debemos removerlo, en caso que tengas mas versiones del kernel, los siguientes pasos los tenes que repetis cambiando la version que deseas quitar.

3. Busquemos todos los paquetes que estan relacionados con el kernel 2.6.28-15:
dpkg -l | grep ^ii | grep 2.6.28-15 | awk -F' ' '{ print $2 }'
linux-headers-2.6.28-15
linux-headers-2.6.28-15-generic
linux-image-2.6.28-15-generic
linux-restricted-modules-2.6.28-15-generic

4. Ahora que ya sabemos que paquetes son los vamos a desinstalar:
sudo aptitude remove linux-headers-2.6.28-15 linux-headers-2.6.28-15-generic linux-image-2.6.28-15-generic linux-restricted-modules-2.6.28-15-generic

Ya esta, este ultimo comando tambien actualiza el grub, en mi caso tengo el grub2, no se si tambien lo hara con el grub anterior, probablemente si.

Happy Coding!

miércoles, 3 de noviembre de 2010

Desplegar los mensajes del bootup y mensajes del kernel

Un Post bien sencillo:

Para desplegar los errores o warnings en el bootup de Ubuntu:
  1. dmesg | less
  2. filtrarlo por warning: dmesg | less | grep warning
Desplegar los errores o warnings del kernel de ubuntu:
  1. cat /var/log/kern.log
  2. filtrar los warning: cat /var/log/kern.log | grep warning
Finalmente, si queres ver los modulos que tenes en el blacklist de ubuntu:
nano /etc/modprobe.d/blacklist.conf

Happy coding!

back to work!.. Vote por Kike El profesor de Nahuatl

CORTO: Vote por "Kike El Maestro de Nahuatl"
Como?: ingrese a www.pixelsawards.com y haga clic en la opcion del menu "VOTACION" , en la siguiente pagina escoga la categoria "JUGUEMOS" y posteriormente podra ver todos los videos, el mio es el tercero, si le gusta presione el boton "VOTAR" y ya esta, gracias!!!
PD: la produccion esta dirigida a pre-escolares y primaria asi que bueno, el publico de 0-8 años es menos exigente, talvez veo demasiado PlayHouse Disney con mi hijo :-)

LARGO: mi ultimo POST data de julio 2010 a raiz que decidi participar en el PixelsAwards 2010, asi que puedo resumir estos ultimos meses de la siguiente forma:
  1. segunda mitad de julio 2010: recolectar documentacion necesaria para el autoaprendizaje
  2. agosto 2010: me lei todo el Blender Noob to Pro desarrollando todos los tutoriales del libro, debo mencionar que el libro aun no esta terminado en los ultimos capitulos, los relacionados al render y post-produccion, cosas que son muy importantes, pero bueno, es en wikibooks asi que a lo mejor y contribuyo :-)
  3. 1-15 de sept 2010: modelado: personajes, objetos, interiores, exteriores
  4. 16-25 de sept 2010: texturizado y animacion
  5. 26-3 de sept/oct 2010: rebuscarme con la banda sonora, las voces y primeros ensayos del render, aca me di cuenta que mi CPU no daba el ancho para renderizar todo el proyecto, era demasiado tiempo, esto si fue un rollo grande
  6. 4-10 de oct/2010: demo del proyecto, lo someti a evaluacion en blenderartist y en el #blender de freenode y debo decir que recibi pedradas en forma de comentario de todos los tamaños, no tanto por el concepto sino por ser tan newbie en blender :-(
  7. 10-20 de oct/2010: render definitivo, post-produccion y entrega del proyecto, gracias a Dios cumpli con la fecha de entrega y no tuve necesidad de hacer uso de la prorroga.
  8. 21 - 29 de oct/2010: descanso!
asi que bueno, las razones principales que me llevaron a participar en pixels son estas:
1. me recorde que a la edad de 16 años decidi estudiar informatica porque queria desarrollar juegos de video
2. mi esposa y yo somos fanaticos del 3D, ahora con nuestro hijo Sebastian tambien vemos un monton de playhouse disney

espero postear mas de GNU/Linux y algunas otras cosas, pero en realidad ha sido una buena experiencia, a ver que le parece al publico

y por que le puse kike? pues bueno, fue un debate mental tremendo entre un monton de nombres en nahuatl, pero me di cuenta que era mejor usar un nombre en castellano, y fue mas facil cuando me di cuenta que Jaco un compa de trabajo tiene un enorme parecido con el personaje ppal, asi que ya, Enrique Jacobo=== Kike el profesor de Nahuatl

happy coding!

martes, 20 de julio de 2010

Escalabilidad del blog: hacia el 3D design

A partir de hoy incluiremos POST relacionados al diseño 3D en el blog, este campo -del cual soy absolutamente beginner :-) - por supuesto sera utilizando GNU, especificamente Blender, seguramente el blog tendra menos movimiento las proximas semanas porque estare enfrascado en reducir la curva de aprendizaje, pero bueno, espero lograr buenos resultados, sobretodo para democratizar el uso de esta tecnologia, puesto que en El Salvador, si queres aprender a diseñar en 2D y 3D debes tener 2 cosas:
1. $$$$$ dinero
2. limitarte a software privativo

asi que bueno, veremos como nos sale, asi que:

Happy coding!, Happy design!!!

lunes, 12 de julio de 2010

Instalando Modem USB 3G de Claro en Ubuntu

Este POST nos servira un monton a la hora de configurar to Modem USB 3G que la compañia Claro proporciona a sus clientes con planes de ancho de banda inferiores a 1 MB en El Salvador; de hecho el sporte tecnico que la empresa brinda a los usuarios linuxeros es casi cero -al igual que su competidor TIGO- pero bueno, de entrada te diran que no es compatible con Linux y en algun caso te dicen que solo con ciertas distros - como RHEL - asi que manos a la obra:

1. Mi Linux Box:
-Ubuntu 9.10 -uname -r: 2.6.31-21-generic

2. Datos del Modem 3G:
-ISP: Claro El Salvador
-Marca: BandLuxe
-Modelo: C100

3. Procedimiento:
-abrite una terminal de gnome

-Instalas el paquete wvdial:
sudo apt-get install wvdial

-Detenes el servicio de red del kernel:
sudo /etc/init.d/networking stop

-Conecta tu Modem 3G a tu pc, te daras cuenta que el LED del modem se conserva en color rojo, pues bueno, veamos si el kernel lo levanto por default:
ls -l /dev/ttyU*
debes poder visualizar por lo menos 1 dispositivo virtual llamado ttyUSB0 - en mi caso tambien tengo un ttyUSB1.

-Hacemos un enlace simbolico a un dispositivo llamado /dev/modem
sudo ln -s /dev/ttyUSB0 /dev/modem

-Ahora vamos a dejar que wvdial trate de encontrar el modem y configurarlo:
sudo wvdialconf

Vas a ver una serie de lineas que apareceran en tu consola, aca es donde wvdialconf esta adquiriendo informacion de tu modem, si ves alguna linea que dice "Found modem on /dev/ttyUSB0" es porque se puedo comunicar con tu modem y todo va bien.

-Ahora vamos a editar el fichero de configuracion de wvdial para colocar nuestro usuario y clave - que por cierto Claro El Salvador no te lo brinda y si les llamas a su HelpDesk espera a recibir todo tipo de preguntas adicionales- aca:
sudo nano /etc/wvdial.conf

Vas a poder ver una serie de lineas que wvdialconf escribio, tal como el APN, el numero de telefono y otros, pues bueno, vete al final del fichero y quitales el punto y coma a los campos Password y username y agregales lo siguiente:
Password = ideasclaro
Username = ideasclaro

Guarda los cambios y salte

-finalmente ejecuta desde tu terminal el comando:
sudo wvdial

Ok, empezas a ver lineas como "waiting for carrier", CONNECT, Carrier detected..., es decir: ESTAS EN LA RED!!, fijate que tambien te da informacion de tu IP y de los DNS lo cual es muy util para un monton de cosas mas -pero ese no es el caso ahorita- asi que lo unico que resta es lanzar tu firefox y a navegar!!!.

Otras consideraciones:
En caso que tu Linux Box no reconozca el modem la primera vez que lo conectas bajate este script de aca, dale permisos de ejecucion y correlo, despues de eso segui los pasos anteriores.

Cuando querras cerrar tu conexion a internet por medio del 3G solo pasate a la consola donde estas ejecutando wvdial y presiona Ctrl+C.


This POST really rocks!!!

Happy Coding!!!

reconfigurando xorg

Despues de actualizar el kernel de tu linux o bien tratando de instalar el driver -muchas veces el privativo- de tu AGP es altamente probable que xorg quede colgado, en un par de comandos puedes reestablecerlo:

1. Desde tu consola #>dpkg-reconfigure xserver-xorg
En la pantalla te preguntara aspectos de tu teclado, el mouse y otros, te aconsejo que respondas OK a todo, a menos que en serio necesitas configurar aspectos particulares de tu hardware
2.$>gdm start
Listo, ya deberias estar viendo tu servidor X cargado ofreciendote alguna pantalla de login

Es todo, bien simple, pareciera que es un post demasiado sencillo pero no te creas, de pronto y despues de tantos comandos y/o lineas de programacion, decides modificar tu linux y se te olvida el comando para reconfigurar las X y si no tenes acceso a la web peor aun, algo muy muy similar me paso hace poco estando lejos de un acceso a la web, por ahi dicen que todo sirve en esta vida.

Happy coding!

domingo, 4 de julio de 2010

Instalar/Actualizar Flash Player en Debian AMD64

Pues lastimosamente en algunos circunstancias nos vemos en la necesidad de instalar contenido potencialmente inseguro en nuestro debian box -por ejemplo para ver algun howto bueno en youtube- entonces seguramente si usas debian y iceweasel por default el plugin para flash no viene instalado y/o actualizado, tambien si usas la distribucion para arquitectura AMD64 bits el proceso para instalarlo es distinto -dado que ADOBE aun no brinda soporte para esta arquitectura- entonces te transcribo al español la entrada en el wiki de debian para instalar flash en tu debian de 64 bits:

  1. #>apt-get install fakeroot binutils nspluginwrapper ia32-libs
  2. $>wget http://people.debian.org/~bartm/flashplugin-nonfree/ia32-libs-workaround-499043-lenny.sh
  3. #>chmod 755 ia32-libs-workaround-499043-lenny.sh
  4. $>./ia32-libs-workaround-499043-lenny.sh
  5. $>wget http://people.debian.org/~bartm/flashplugin-nonfree/flashplugin-nonfree_10.1.53.64.1_amd64.deb
  6. #>dpkg -i flashplugin-nonfree_10.1.53.64.1_amd64.deb
Ya esta, ahora ya tenes instalado/actualizado tu plugin de flash para la arquitectura de 64 bits.

Happy coding!

martes, 22 de junio de 2010

rescatando a Debian Lenny de un kernel panic

Pues si, lo que pensaba que no existia me sucedio hace 4 dias, mi Debian Lenny estaba congelado, bloqueado, "feezed", "crashed" y similares que me ayuden a describir que no podia logearme, preparense que sera un POST largo pero util, muy util:

1. LINEUPS AND KICK-OFF: llevo varias noches -como 8 en total- tratando se hacer funcionar el sonido en mi HP Pavilion dv2-1010la con mi Debian Lenny -ALSA 1.0.16 y kernel 2.6.26- despues de googlear y googlear y tratar y tratar nada, subitamente decido haer un upgrade de mi ALSA a la ver 1.0.20 por recomendacion de un blog que encontre por ahi; sin pensarlo lo hago compilandolo yo mismo, si ni siquiera considerar usar los repos de unstable o experimental de Debian -- MUY GRAVE ERROR --, pues bueno, funciono la compilacion "from scratch" de ALSA 1.0.20 pero igual nada de sonido, BUM!, se me ocurre actualizar la version todavia mas reciente de ALSA - la 1.0.23- igual ignoro los repos oficiales.

2. FAULT!!!: ok, compilando alsa_driver->OK, luego alsa_firmware->OK, alsa_utils->WRONG!!!, ERROR, no encontraba una libreria, hago el enlace simbolico y todavia nada, no lograba hacer el MAKE, pues bueno, luego de 20 minutos, leo el blog y dice que "al reiniciar tu sistema podras ver que tienes la ultima version de ALSA", vengo y reinicio y SAS!, un gran resto de mensajes de error: alsa_ctrl can't init, modprobe: error loading snd_hda_intel, no sound card found..... y nada no podia logearme, reinicio y lo mismo, nada DEBIAN ESTABA TRABADO!!.

3. MIDDLE-TIME: aun incredulo, veo que la cosa iba en serio y decido recurrir a los foros que siempre me sacan de aguas -debo decirlo, los foros en español nunca me han ayudado y no se diga los LUG asi como los canales IRC de El Salvador, hoy por hoy es una perdida de tiempo recurrir a tan inproductivos grupos autodenominados 'representantes del open source y GNU/Linux en El Salvador- asi que posteo en www.linuxquestions.org y en ubuntuforums.org; normalmente me responden en 15 a 30 minutos pero pasaron como 4 horas y nada; empiezo a preocuparme y hago un post en forums.debian.net.... Pasaron 3 dias hasta que recibi un escueto POST de forums.debian.net el cual es este y que me daba algunos tips muy muy escuetos.

4. SECOND TIME: mentalizado para salir a ganar esta partida, me dispongo a tratar de recuperar a Debian, la idea tactica era la siguiente: montar mi particion debian como chroot con un Live Distro de Linux -en este caso no es necesario porque en mi HDD tengo una segunda distribucion instalada Ubuntu!- y desde ahi tratar de revertir los cambios hechos; pues bueno, aca los comandos:

a. cargo mi ubuntu -Ubuntu Studio Karmic Koala-
b. $>sudo mount /dev/sda3 -t ext3 -o rw /media/deadlenny
c. $>sudo mount --bind /dev/ /media/deadlenny/dev
d. $>sudo mount --bind /dev/pts /media/deadlenny/dev/pts
e. $>sudo mount --bind /dev/shm /media/deadlenny/dev/shm
f.$>sudo chroot /media/deadlenny
g.#>mount -t sysfs sysfs /sys
h.#>mount -t proc proc /proc

ok, ahora que ya estoy como root en mi debian, tengo que deshacer lo que causo que mi sistema colapsara, en este caso desinstalar ALSA y lo demas

i.#>apt-get remove alsa-base alsa-utils alsa-tools

Asi mismo, recuerdo bien que modprobe tenia un problema cargando el modulo snd_hda_intel, pues bueno hay que quitarlo:

j.#>nano /etc/modprobe.d/blacklist
k.#>blacklist snd_hda_intel

Grabo los cambios en el archivo y finalmente:
l.#>umount -lf /proc
m.#>umount -lf /sys
n.#>umount -lf /dev/pts
o.#>exit

4. LA JUGADA CLAVE: reinicio el equipo, en Grub escojo la entrada para Debian.... empiezo a notar que ya no lanza los errores... init: entering level 2.... configuring eth1.... starting up Apache2.... login... Y FUNCIONA!!!!!! ya puedo logearme, GOL DE ANTOLOGIA.

5. PLAYER OF THE GAME: definitivamente Ubuntu, si no hubiese tenido una distro adicional instalada en el HDD el camino seria mucho mas largo para recuperar a Debian, ubuntu me facilito la vida tremendamente, sobretodo porque JAMAS JAMAS JAMAS considere volver a instalar Debian.

6. highlights: pues bueno, es segunda vez que me sucede un asunto "complicado" usando GNU/Linux, debo decir que el soporte ante este tipo de situaciones no es el mismo, ni siquiera satisfactorio por parte de la comunidad linuxera, mucho menos en español, asi que bueno, aca esta la importancia de contar con LUG's y similares solidos y bien cohesionados de manera que podamos intercambiar ideas y experiencias en este tipo de situaciones.

ok, happy coding!!!

PD: notaran que la fiebre del mundial de sudafrica tambien me ha llegado, mientras escribia esto escuche cientos de compañeros sufrir y gozar con el partido de Argentina-Grecia asi que inclui un poco de la narracion en el redaccion de este POST, saludos!

viernes, 18 de junio de 2010

Script para cambiar dinamicamente el SPLASH de grub2

Este POST espero que lo encuentres de mas interesante que los anteriores, googleando no encontre una solucion sencilla para crear un script que dinamicamente te cambie el splash de GRUB2, asi que aca te dejo una opcion desde mi punto de vista, talvez no del todo elegante por generar un archivo adicional pero bueno, me parece mas sencillo este punto de vista sobre todo si eres newbie.

1. Abre una terminal
2. #>apt-get install grub2-splashimages
3. Ahora ya tienes instalados splash adicionales para grub2, para verificar hazte un:
ls /usr/share/images/grub/ Son extension tga
4. $>mkdir ~/grub2splash
5.$>cd /usr/share/images/grub/
6.#>cp * ~/grub2splash
7.$>cd
8.$>mkdir scripts
9.$>cd scripts
10.$>nano grub2chsplash.sh


Ahora ya estas en tu editor favorito - en mi caso nano- y vamos a crear el script que nos hace el cambio dinamico de la imagen, aca lo detallo:

#!/bin/bash
#script que cambia dinamicamente el splash de grub
#creado por herbert tamayo: hftamayo@gmail.com
#2010-06-18


bg_path=/home/htamayo/grub2splash
extensions="tga png TGA PNG"
temp_bg_list=/tmp/bg_change_list

rm -f $temp_bg_list

for extension in $extensions
do
find $bg_path -iregex ".*.$extension" >> "$temp_bg_list"
done

cnt=`wc -l "$temp_bg_list" | cut -f1 -d " "`
all_bgs=$(expr "$RANDOM" % "$cnt")

selected_bg=`head -n$all_bgs "$temp_bg_list" | tail -n1`

#sebastian.tga -> uso el nombre de mi primogenito, love you son, God bless you
cp $selected_bg $bg_path/sebastian.tga
exit 0

11. ya esta, guarda los cambios y sal de nano
12. hagamos el script ejecutable:
#>chmod +x grub2chsplash.sh

13. Ejecutamos el script asi:
$>./grub2chsplash.sh

Dirigete al directorio de grub2splash y veras que hay un nuevo archivo llamado sebastian.tga, este archivo ira cambiando cada vez que se ejecute el script.


14. Bien, ahora editaremos el fichero de configuracion de grub2:
#>nano /etc/grub.d/05_debian_theme
localizaremos la siguiente linea:
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga}

y la vamos a cambiar por esta:
for i in {/boot/grub,/usr/share/images/desktop-base,/home/htamayo/grub2splash}/sebastian.{png,tga}

guardamos cambios y salimos

15. luego:
#>update-grub

y ya esta!!!, si todo sale bien deberias ver una salida similar a esta:
Generating grub.cfg ...
Found Debian background: sebastian.tga
Found linux image: /boot/vmlinuz-2.6.30-8-generic
Found initrd image: /boot/initrd.img-2.6.30-8-generic
Found linux image: /boot/vmlinuz-2.6.29-02062903-generic
Found initrd image: /boot/initrd.img-2.6.29-02062903-generic
Warning: update-grub_lib is deprecated, use grub-mkconfig_lib instead
Found memtest86+ image: /boot/memtest86+.bin
Found Moblin release 2 (Moblin) on /dev/sda3

16. Reinicia y veras que hay un nuevo splash en tu grub2, mucho mejor que el que viene por default.

17. Consideraciones: recuerda que en el script y en el archivo de conf de grub2, donde aparece "htamayo" debes cambias por el nombre de tu /home; asi mismo puedes cambiar el nombre del archivo generado por el script.

ya esta, en otro post te explico como poner este script en el init.d para que se ejecute siempre que el sistema se carga

happy coding!!!

Comandos utilisimos para saber modelo de tu sound card, version de ALSA y otros

Bueno, despues de mas de un mes de ausencia -2 semanas trabajando en un POST aun sin concluir y 3 semanas dedicado a un rollo estrictamente personal - escribo este POST sobre algunos comandos que me han servido mucho para obtener informacion sobre mi tarjeta de sonido, mi version de ALSA y tambien los codecs que la tarjeta utiliza; en verdad les digo que estos comandos son de mucha utilidad cuando tenemos algun rollo con todo lo relacionado al audio de tu equipo.

1. Averiguar el modelo de mi tarjeta de sonido:
$>lspci -vv | grep Audio
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)

2. Desplegar la version instalada de ALSA:
$>cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.16

3. Desplegar informacion sobre la compatibilidad de tu tarjeta :
$>cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel

HDA Intel at 0xd0400000 irq 22
1 [pcsp ]: PC-Speaker - pcsp
Internal PC-Speaker at port 0x61

4. Desplegar informacion de los codecs que la tarjeta usa:
$>cat /proc/asound/card*/codec* | grep Codec
Codec: Analog Devices AD1981


5. Modulos habilitados en kernel relativos al sonido:
$>lsmod | grep -i snd
snd_pcsp 8576 0

snd_hda_intel 324248 0
snd_pcm_oss 32800 0
snd_mixer_oss 12320 1 snd_pcm_oss
snd_pcm 62596 3 snd_pcsp,snd_hda_intel,snd_pcm_oss
snd_timer 17800 1 snd_pcm
snd 45604 6 snd_pcsp,snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore 6368 1 snd
snd_page_alloc 7816 2 snd_hda_intel,snd_pcm

Happy coding!!

domingo, 9 de mayo de 2010

instalar el driver para las wifi Broadcom en Ubuntu

Debo decir que este ha sido uno de los post mas raros que voy a relatar, puesto que inverti cerca de 12 horas para entender que estaba pasando en mi equipo y como hacerlo funcionar al fin. Este proceso no aplica para Debian, puesto que instalar este modulo en dicho OS es muchisimo mas facil y ordenado, razon por la cual me tomo como 20 minutos hacerlo versus las horas que inverti para lograr lo mismo en Ubuntu.

1. Estoy usando UbuntuStudio 9.10 con el kernel 2.6.31-21-generic

2. Luego de finalizar de instalar UbuntuStudio en el primer login, aparecio el famoso "hardware drivers" indicandome que podia instalar por mi el driver privativo para mi tarjeta wifi, a lo cual accedi y todo bien, el driver aparecia en uso, sin embargo nunca pude conectarme a mi router, inclusive reiniciando el sistema, para no hacer largo el rollo decidi "debianizar" el proceso tomando el control sobre que cosa se estaba instalando en mi OS

3. lo primero es saber el chipset de mi wifi, para ello:
>sudo lspci | grep Broadcom
efectivamente tengo una Broadcom BCM4312

4. asi mismo, necesito saber si mi tarjeta es soportada por el driver b43, para ello:
>sudo lspci -vnn | grep 14e4
aparece que mi PCI-ID es el 14e4-4315

5. uso el link de linuxwireless y en la tabla reviso si mi PCI-ID es soportado por el driver b43; aparece que mi tarjeta es soportada a partir del kernel 2.6.32, es decir, que no puedo usar este driver si no que el wcl

6. antes de instalarlo, debo verificar si los modulos b43, ssb, bcm43xx estan activos, a lo cual hago:
>sudo lspci | grep b43
>sudo lspci | grep ssb
>sudo lspci | grep bcm43xx

Pues bueno, encontre que b43 y ssb estaban activos, lo cual me llamo la atencion, googleando me di cuenta que el paquete de Ubuntu -STA- instala los modulo b43 y wcl, asi que debia desacativar todo lo que le estorbe a wcl.

7. pongo en el blacklist a lo innecesario:
> sudo rmmod b43
>echo "blacklist b43 | tee -a /etc/modprobe.d/blacklist.conf"
>sudo apt-get remobe b43-fwcutter
>sudo mv /lib/firmware/b43 /lib/firmware/b43.backup
>sudo mv /lib/firmware/b43legacy /lib/firmware/b43legacy.backup

8. instalo los paquetes necesarios
>sudo apt-get install build-essential debhelper module-assistant quilt wireless-tools linux-headers-`uname -r` bcmwl-kernel-source

9. levanto el modulo_
>sudo modprobe wcl

10. a estas alturas ya se supone que todo esta listo, instalaremos un applet gestor de las conexiones de red:
>sudo apt-get install wicd

11. reiniciamos el sistema

12. el wicd en la barra de estado, podemos visualizar los accespoint que encontre el modulo wl, muy bien, ubica tu accespoint, escribe la WPA2 y listo, ya tenes conexion.

Y fin, debo decir que googlee mucho sobre esto y no encontre un POST que me ayudara adecuadamente, asi mismo debo decir que en este punto Ubuntu me ha decepcionado porque incluir 2 modulos que generalmente son antagonistas y sin informarle al usuario, me parece practicas del "dark side" pero bueno, espero que este POST sea de utilidad para alguien que tiene rollo con su wifi; de hecho en El Salvador muchas laptop vienen con este chipset.

Happy coding!

sábado, 8 de mayo de 2010

Instalar el driver de ATI en la laptop HP Pavilion dv2-1010la

En la red hay muchos sitios donde nos muestran el proceso para instalar el driver para las tarjetas ATI, en mi caso para poder instalarlo tuve que combinar 2 ó 3 post de los que me encontre para lograrlo, es por eso que decido hacer este post condensado:

0. Como siempre todo el proceso es realizado desde una terminal. El proceso que describiremos aplica para el driver privativo -fglrx, que ATI pone a disposicion- aunque hay un driver 'open' he decidido utilizar fglrx ya que lo he utilizado desde tiempo atras en otro equipo y me parece bastante satisfactorio, asi tambien prefiero utilizarlo ya que es producido por ATI lo que 'supone' me da acceso a soporte -en el foro de www.phoronix.com- asi como tambien me brinda cierta 'tranquilidad psicologica' al ser el fabricante del hardware el que lo pone a disposicion.

1. saber que tipo de tarjeta tiene mi laptop:
#>lspci | grep VGA
01:05.0 VGA compatible controller: ATI Technologies Inc RS690M [Radeon X1200 Series]

La tarjeta es una Radeon X1200 Series, segun la siguiente tabla, la radeon x1200 es soportada por fglrx, asi que todo bien.

2. #>apt-get install module-assistant auto-install fglrx-driver fglrx-source fglrx-glx fglrx-control fglrx-atieventsd fglrx-kernel-src mesa-utils

3. #>aticonfig --initial
En algunos post encontre que este paso nos deja un xorg.conf mas dificil de depurar para futuras ocasiones, sin embargo fue el que me funciono, ya que editando yo mismo el xorg.conf nunca me funciono el driver.

4. en teoria ya esta todo listo, carga las X y nuevamente abre una terminal de gnome:
$>glxinfo | grep direct
Si aparece 'direct rendering: yes' es porque ya tenemos el driver correctamente funcionando.

Hasta aca este post

Happy coding!

montar un archivo de imagen ISO como sistema de archivos

Este proceso es de suma importancia, alguna vez nos llega a nuestras manos algun archivo de imagen ISO o talvez hemos descargado algo bajo este formato, pues seguramente antes de quemarlo en un CD/DVD necesitamos acceder a la informacion dentro de la imagen, pues lo hacemos de esta forma:

1. Desde la terminal de gnome creamos una carpeta donde se montara la imagen ISO:
$> mkdir isomounted
2. Seguidamente usamos el siguiente comando:
#>mount -o loop -t iso9660 /ruta_raiz/directorio_arc_iso /directorio/directorio objetivo
en este caso el directorio objetivo es: /home/isomounted; quedaria algo asi:
#>mount -o loop -t iso9660 /home/htamayo/downloads/bt4final.iso /home/htamayo/isomounted

3. Eso es todo, de esta forma accedemos a la carpeta isomounted y podemos usar el contenido de la imagen ISO.

Happy coding!

formatear tu memoria USB en Debian

Para formatear tu USB en Debian desde la terminal, debes hacer lo siguiente:
1. Desde la terminal de gnome tecleamos:
#> apt-get install util-linux-ng dosfstools
#>Conecta a tu equipo tu USB y teclea lo siguiente:

Esto te permite saber a que dispositivo virtual esta vinculado tu hardware

2. Desmonta tu USB tecleando el comando:
#>umount /media/dir_donde_esta_montado

3. finalmente tecleamos:
#>mkfs -t vfat /dev/dispositivo_virtual

4. Para probar el resultado dirigete a un gestor de archivos grafico - como nautilus- y verifica el tamaño y el estado de tu nueva particion. ya debes estar en la capacidad de poder almacenar informacion.

Happy coding!

instalar las fuentes M$ windows:

Un post corto que nos muestra como instalar los paquetes que contienen las fonts de M$, tal como Arial, Tahoma, Times New Roman, etc:
#> apt-get install ttf-bitstream-vera msttcorefonts gsfonts-x11

Es importante mencionar que los paquetes anteriores sirven de 'intermediario', ya que por medio de ellos los archivos de las fuentes son adquiridos conectandose a un sitio web que no tiene nada que ver con los repos de debian - de hecho, me parece que el paquete msttcorefonts es el que hace esto-. Menciono esto porque si por alguna razon decidis descargar los paquetes de los repos e instalarlos por medio de dpkg no podras hacerlo a menos que tengas conexion a internet ya que busca conectarse a un sitio web; esto me sucedio una vez en un equipo que no tenia conexion.

Happy coding!

Desplegar el estado de la bateria de tu laptop en modo texto

Los siguientes paquetes nos muestran el estado de la bateria de tu laptop en modo texto, algo que es de mucha utilidad puesto que algunas veces necesitamos realizar ciertas actividades sin necesidad de levantar el entorno grafico- De hecho, en mi laptop Debian inicia en modo texto- esto me permite gestionar de manera optima los recursos de mi equipo y el factor tiempo, ya que si necesitamos logearnos al server via ssh, revisar logs de apache, reiniciar servicios, etc, no es necesario la GUI.

los paquetes son acpi, ibam y gnuplot; para instalarlos hacemos lo siguiente:
1. desde una terminal tecleamos:
#> apt-get install acpi
#> apt-get install ibam
#> apt-get install gnuplot

2. Para utilizar acpi, desde la terminal tecleamos:
$> acpi . Nos muestra de manera resumida el tiempo de descarga de la bateria
$>acpi -V, nos da mas detalle, desde tiempo de descarga, coolers fan activos, temperatura interna del equipo.

De igual forma, ibam nos muestra el estado de nuestra bateria asi como otra informacion adicional:
#>ibam -a

Tu decides cual usar, personalmente acpi me parece una herramienta muy buena.

Happy coding!

Agregar los repositorios debian-multimedia y debian-backports

Adicionalmente a los repositorios oficiales de Debian, es muy util contar con otros repositorios que nos ofrecen diversos paquetes que contribuyen a facilitar y mejorar el uso de Debian como sistema operativo, en este post detallaremos el proceso para agregar dos repositorios muy utiles: debian-multimedia y debian-backports.

1. Abrimos gnome-terminal y como 'su' tecleamos:
#> apt-get install debian-multimedia-keyring
#> apt-get install debian-backports.keyring
#> nano /etc/apt/sources.list
2. Agregamos al archivo las siguientes lineas:
deb http://debian.ues.edu.sv/debian-multimedia stable main
deb-src http://debian.ues.edu.sv/debian-multimedia stable main

deb http://www.backports.org/debian lenny-backports main contrib non-free

3. Grabamos los cambios y luego tecleamos:
#>apt-get update
#>apt-get update

Ya esta listo, de esta manera podemos acceder a paquetes como cinelerra, aw32codecsw y otros que pertenecen a los nuevos codecs.

Happy coding

jueves, 29 de abril de 2010

Crear archivo de imagen ISO a partir de un CD o DVD

En alguna ocasion un amigo(a) o compañero(a) de trabajo puede tener un CD o DVD con el contenido de mucho interes para vos, hablemos desde un album musical, una pelicula, video tutoriales, software y muchas otras cosas que pueden grabarse en un dichos medios de almacenamiento. Pues bueno, en caso que no tu CD/DVD Drive no tenga la opcion de quemar informacion, podemos crear un archivo de imagen ISO para posteriormente quemarlo.

El comando es el siguiente:
$> dd if=/dev/cdrom of=/ruta/nombrearchivo.iso

Al terminar el proceso el comando dd te dara la informacion del tamaño de tu archivo de imagen ISO, tiempo empleado y tasa de transferencia.

Personalmente pienso que este comando es de mucha utilidad, pues de manera inmediata puedes respaldar un CD o DVD, sin necesidad de utilizzar un aplicativo en entorno grafico o peor aun tener que utilizar una herramienta bajo licenciamiento privativo para realizar el proceso

Happy coding!

martes, 27 de abril de 2010

Desplegar la cantidad de objetos y el tamaño de un directorio



Cuando necesitamos saber la cantidad de archivos y directorios asi como tambien el tamaño en MB, usando la consola de Linux podemos utilizar los siguientes comandos:
  1. Desplegar la cantidad de archivos:
  • Abres una terminal
  • ubicate en el directorio deseado
  • luego tecleas el siguiente comando: ls | wc -l
2. Calcular el tamaño en MB del directorio:
  • estando en el directorio deseado tecleamos el comando: du -ch | grep total
Happy coding!

lunes, 26 de abril de 2010

Parental Advisory: Explicit Content!

Saludos desde El Salvador, el primer POST orienta al visitante sobre los objetivos de este blog:
  1. Ser una fuente de informacion permanente dirigida a todos los beginners hispanoparlantes -en especial salvadoreños- que estan incursionando en el mundo de GNU/Linux, J2SE, J2EE y J2ME.
  2. Contribuir a la proliferacion de conocimientos de las tecnologias anteriormente descritas entre hispanoparlantes
  3. Crear entre los cibernautas salvadoreños un referente de consulta en temas de Tecnologia y las Comunicaciones, sin necesidad de pertenecer a "pseudo asociaciones de usuarios" las cuales por ser elitistas y carentes de vision dificultan que la comunidad de usuarios crezca
  4. Ser un blog de Tecnologia y las Comunicaciones donde no se celebren aspectos aberrantes de los autores, entiendase sesiones para alcoholizarse, palabras de mal gusto, prepotencias y un sin fin de adjetivos a los cuales los "precursores" del GNU/Linux en El Salvador nos tienen acostumbrados

Los autores del contenido de este blog son:
  • Guadalupe Martinez de Fernandez: J2SE y J2EE
  • Herbert Fernandez Tamayo: GNU/Linux, J2EE y J2ME

Las secciones de este blog son las siguientes:
  • GNU/Linux
  • J2EE
  • J2SE
  • J2ME
  • LAMP
  • Seguridad
  • Off Topic

Sin mas que hablar... Happy Coding