Archivo de la categoría: ubuntu

Mi Longman en Linux

Para el Profesorado de Inglés me compré el diccionario: Longman Dictionary of Contemporary English, NEW EDITION, FOR ADVANCED LEARNERS y este viene con un DVD. La verdad que al principio no le dí ni bola y lo primero que pensé era que podía probarlo con WINE y ver cómo me iba. Pero al llegar a casa sólo lo despegué del libro y ahí quedó.

Después me puse a leer en la contratapa que también hablaba de una versión para celulares y leyendo eso ví que el software que está en el DVD está soportado en Mac y en Linux también! Wow! Lo segundo que pensé es que seguramente anda como el orto en Linux o no tiene la misma funcionabilidad.

Hoy, bah, recién, me decidí a probar a ver cómo era la historia. Entro al cd y veo una carpeta que se llama linux, y dentro de ésta un archivo ejecutable que se llama setup.sh al cual llamé con bash setup.sh y en 5 minutos tenía el programa instalado en mi pc.

 Y lo mejor de todo… FUNCIONA!

 Me pone contento saber que esta gente se tomó el trabajo de que su software funcione en Windows, Mac y Linux sobre todo! 🙂

Google llamó a casa

Un poco de historia. Como todos (o al menos muchos) saben, hace dos semanas fue el PyCamp en La Falda, Córdoba, al cual asistí y por cierto estuvo muy muy bueno. Yo fui un par de días antes de que este empiece y me alojé en lo de Matías Herranz, un groso.

Estuvimos laburando un par de días ahí, hablando mucho, compartiendo muy buenos momentos y demás. Uno de esos días, como cualquier otro, Matías me dice que lo contactaron de Google vía Linkedin para ofrecerle hacer una entrevista por teléfono. Me mostró el thread entero y me explicó porqué no era el momento para meterse en eso.

Uno de los últimos mails que Sonu (de Google) le envió, le preguntaba si tenía algún amigo para recomendar que crea que pueda ser un buen candidato (aunque en el mail no decía nada sobre qué había que hacer o qué tipo de conocimientos debía tener esta persona). Así que Matías me preguntó a mí si quería que me recomiende… Lo pensé un rato, hablamos sobre esto y al final le terminé diciendo que sí, que total no tenía nada que perder.

Así que así fue. Empezamos a intercambiar algunos mails con Sonu para coordinar una entrevista en los próximos días después de que vuelva del PyCamp y al final terminó siendo en primera instancia el Miércoles pasado, después de pasó al Viernes pasado, después al Lunes y finalmente a hoy (Martes) a las 18:30hs (Argentina).

El Miércoles pasado la entrevista se suspendió porque Sonu me llamaba y mi teléfono no sonaba. Tuvimos algunos problemas para poder «enganchar» la llamada telefónica de alguna manera. A las 15:15hs (la reunión era a las 15hs) -yo volaba en nervios porque no sonaba el teléfono- me llega un mail diciendo que nadie levantaba el teléfono: weeee, me re deseperé y terminamos intercambiando algunos mails más con distintas formas de llamar.

Lamentablemente Sonu tenía otra reunión a la brevedad y tuvimos que suspenderla y así decidimos hacerla el Viernes. Aunque le pedí que por favor antes de suspenderla que intentemos todas las formas que le había pasado para llamar aunque sea para decir «Hello» y saber que el Viernes siguiente la entrevista se iba a poder hacer. Probamos eso y por suerte funcionó, aunque se escuchaba bajito pude entender lo poco y nada que hablamos sin problemas.

Durante este tiempo en el que la entrevista se fue re-programando, yo estaba haciendo el curso de ingreso a la Universidad para el Profesorado de Inglés y estaba teniendo algunos problemas ya que es bastante complicado y había algunos temas que no sabía y nunca había dado. Así que estaba bastante cagado en ese sentido también. Igualmente estuve estudiando un montón ya que si no aprobaba el curso perdía el año y «de paso» este estudio me servía también para tener una mejor fluidez a la hora de hablar con Sonu en la entrevista.

Después de tanto tiempo que se hizo esperar hoy finalmente tuve la entrevista. A las 14hs tenía facultad hasta las 18hs y de ahí tenía pensado tomarme un remís para llegar a horario. «Por suerte» no tuvimos la clase de práctica de una materia así que para las 16:30hs ya estaba volviendo para casa y así tener un poquito de tiempo más para repasar algunas cosas y practicar algunas palabras con las que sé que tengo problemas.

Lamentablemente, este tiempo «extra» no sirvió para nada más que para hacerme volar en nervios y, fuera de joda, me temblaban las patas y me dolía la panza. Mucho. Una sensación muy fea. Además, también estaba nervioso porque no tenía ni idea de qué se trataba la entrevista, ni la más mínima idea de qué íbamos a hablar, sólo sabía que era para Google y la persona que me iba a entrevistar se llamaba Sonu, nada más.

Lo que hice fue preparar las cosas que posiblemente iba a necesitar, me puse cerca todas las hojas con los tópicos que había estado estudiando, un teléfono que tiene un buen volumen por las dudas, la netbook, agua, y mientras me sacaba los nervios haciendo «la vueltita» con la clava…

Llegó el momento, sonó el teléfono…. «¡Listo! Estoy al horno» – pensé y levanté el teléfono-. «¿Hello?». AAARRRGGGHH, había un ruído de puta madre en la línea y no me dejaba escuchar lo que Sonu me decía. Le pedí que por favor me espere un ratito mientras cambiaba de teléfono. Me pasé al otro y se seguía escuchando más, subo el volumen, y me doy cuenta que no sólo había un ruido en la línea sino que se escuchaba bajito y saturado el parlante, como cuando le gritás a un micrófono casero.

Me empecé a desesperar y ya el inglés se me iba para cualquier lado. Esto se mezcló con los nervios que ya tenía de antes y me empezó a preguntar varias cosas a las que me harté de decir: «Sorry, I can’t hear you» o similares. Después de un par de veces de eso me dijo: «Yo te escucho bien, así que hablá nomás, contame» (esto deduzco yo que dijo, porque no se escuchaba un corno).

Así que me mandé a hablar, al ratito que estaba hablando (no sabía qué decir si no había ninguna pregunta o tópico para hablar) me dice algo así como si tenía conocimientos en Linux/Unix (también deducido). Le empecé a contar que uso Linux todos los días y que blah blah, y ahí me preguntó por sistemas distruibuidos (pero ni idea qué, porque no pude escuchar nada). Otra vez «Sorry, sorry, sorry» hasta que se pudrió y me dijo que le mande el CV por mail y vemos de hacer otra entrevista en otra oportunidad.

Le dije que bueno, que lo sentía mucho y que «fue un placer». Aunque en realidad no lo fue y yo estaba reee caliente porque cuando se escuchaba bien entendía perfectamente lo que me preguntaba, que en realidad era lo que más temía: no entender una goma, pero el factor problemático resultó ser otro y que no dependía de mí ya que no había nada que pueda hacer.

Intentó cortar y llamarme de nuevo, pero no hubo caso, seguíamos con el problema y finalmente decidió finalizar la charla. Corté y rajé una puteada como loco. Tomé un trago de agua y le mandé un mail diciendo que había entendido que me pidió el CV y que se lo estoy mandando por mail y que lamentaba que no hayamos podido hablar por teléfono 😦

Y así terminó la historia o quizás no ya que quedamos en que si «encajo» en el perfil nos podemos volver a comunicar y buscar una mejor forma de hacer la entrevista. Mientras tanto tengo que preocuparme en mejorar mi Inglés 🙂

Y sí, estoy re caliente, no lo puedo evitar. Por más que no haya sido culpa mía o todo lo que quieras. Se me escapó la tortuga.

Los quiero mucho, gracias por el aguante que me hicieron todos a los que les rompí las pelotas con el Inglés consultando cosas y demás. Ustedes saben quienes son.

Encore ENUWI-G2 (RTL8187b) en Debian

/me pone música porque se viene para largo…

En el transcurso del fin de semana estuve peleando con la placa de red USB Encore ENUWI-G2, pero al final conseguí hacerla funcionar y de la forma que pretendía hacerlo.

Hace algunos meses que tenía ganas de comprarme una placa de red wifi para estudiar algunos conceptos y ver la forma de analizar paquetes con encriptación. Algunas de estas cosas las vimos muy por arriba en la facu y me quedó picando el bichito de ver como es esto de las redes wifi.

En aquél momento averigué por todos lados sobre placas PCI, que suponía que eran más barata y que además me daba la impresión de que tenían más alcance al tener una antenita por afuera. Después de esta recorrida no decidí comprarme nada porque estaban un poco caras, algo así como $100 o más. No quería gastar esa plata para algo que no necesitaba ya que era sólo por investigación.

Pasó cierto tiempo, empecé a trabajar, me pelié con muchas placas wifi en el trabajo y mi ignorancia me mataba frente a este tipo de redes. Me dí muchas veces la cabeza contra la pared cuando quería conectarme a un AccessPoint: me mataba depender de un entorno gráfico para poder conectarme (estaba usando el KWifiManager), asique me decidí a aprender todo este tipo de cosas.

El viernes por la tarde, me fui a promocionar la 3ra Jornada de Python en Santa Fe con un amigo al centro en busca de sponsors y de paso aprovechaba para preguntar sobre una placa wifi en algunos lugares que quedaban por el centro. Me fui de casa con la idea de comprar una TP-Link que estoy seguro que funciona ya que es la que pudimos configurar en el trabajo: mediante ndiswrapper.

Los precios que manejaban las casa de computación eran al rededor de los $80 para arriba y todas eran placas que no conocía, asique no me gustaba para nada. Igualmente le preguntaba si sabían que estas funcionen en linux para luego ir a averiguar si en alguna me decían que si. La mayoría no tenía ni idea, asique seguía mi camino.

Por último fui a un lugar que venden DVD’s, CD’s y un montón de accesorios pero… Por las dudas fui igual. Me encontré con la placa del título de este post a un precio de $60, anoté el modelo porque era interesante este precio y le dije que iba a averiguar si funcionaba en Linux y que si era así volvía a comprarla. Antes de irme le pregunté si sabía si funcionaba y me dijo: «Anda!», nada más.

Encore ENUWI-G2

Encore ENUWI-G2

Cuando me estoy yendo mi amigo me dice: «¿Y porqué no la llevás si sabés que anda?», a lo cual le contesto delante de los vendedores: «Me quiero asegurar». Salimos de ahí y nos estábamos volviendo para casa, para supuestamente volver al día siguiente (Sábado) a comprarla luego de buscar en internet. Se me ocurrió ir a un cyber para verificar esto y comprarla ese mismo día.

Lo primero que encontré es que muchos la habían hecho funcionar con ndiswrapper, tal y como yo sabía que funcionaba la TP-Link, asique ya estaba dicho: «La tenía que comprar». Salí del cyber y la compré.

Cuando llegué a mi casa seguí buscando información sobre cómo instalarla y por todos lados estaba la misma descripción del que había encontrado en el cyber asique me puse a hacerlo de esta forma. Esto era instalar ndiswrapper, cargar el driver de Windows XP y levantar el módulo del kernel de ndiswrapper, pero… Oh! sorpresa me encuentro que el módulo del kernel no levanta. Buscando en Google encontré que tenía que compilar el módulo para la versión específica de mi kernel (2.6.24-amd64) ya que no venía precompilado.

Manos a la obra entonces. Instalé los paquetes necesarios y compilé el paquete:

 apt-get install module-assistant ndiswrapper-source
 m-a a-i ndiswrapper

Una vez que tenía esto andando, pude hacer modprobe ndiswrapper y que carge correctamente este módulo, aunque en los logs (/var/log/message) me estaba indicando que tenía un driver para 32bit y que yo tenía un kernel de 64bit. ¡Qué mala suerte!. Busqué por todo el CD los drivers para XP64bit y no los encontré, asique los bajé la página oficial de encore y estos sí funcionaron.

Luego investigué como hacer para conectarme a mi AccessPoint, busqué por internet e hice muchas pruebas antes de lograrlo. Lo primero que me fijé en realidad era el comando iwlist (del paquete wireless-tools) que entre otras cosas sirve para escanear las redes y ver los essid’s que exportan los AccessPoint. Por suerte veía el mío, y la calidad de la señal era de 60 más o menos estando a 1,5 metros de distancia. Esto no me sorprendío porque calidad de la señal que teníamos en el trabajo con las otras placas era más o menos igual.

En poco tiempo logré configurar la conexión sin encriptación y funciona sin problemas. Luego probé hacerlo con WEP y también funcionaba. Asique quise pasar al siguiente paso: sniffear la red utilizando la placa en el modo Monitor. Cuando intento cambiar el modo de la interfaz, el mismísimo driver me dice que la placa esta no soporta este modo, nah!. Me fui a la página oficial y efectivamente dice que sólo funciona en Ad-Hoc (punto a punto) y en modo Managed (contra un AccessPoint).

Seguí buscando por todos lados, no me podía dar por vencido. Encontré por todos lados un proyecto de drivers libres para el modelo rtl8187, que aunque esa página no está muy completa, tiene unos links que resultaron interantes. Y como siempre sucede, uno nunca lee la página completa, lee un poquito y se va directamente a ejecutar los comando 🙂 , luego me encontré con que el chipset rtl8187b no estaba soportado por ese driver 😦

También encontré una modificación a este driver que parece funcionar con este modelo de chipset. Mmm… vamos a probar. Me pelié mucho para compilarlo, hice un poco de magia negra y salió andando. Me lo detectaba y todo lindo, pero cada 2 o 3 minutos recibía un hermoso Kernel Panic, lo cual me llevó a hacer algunas pruebas más y descartarlo por completo si quería que mi sitema siga funcionando 🙂 .

Ya eran las 2 de la mañana de anoche y yo seguía dando vueltas con mi placa de red wifi, no encontraba la solución que buscaba. Sí tenía la placa funcionando con ndiswrapper, pero no la podía sniffear ni tampoco me gustaba que los drivers no sean libres (lo único que tengo no-libre son los de NVIDIA porque no encontré solución aún 😦 ). Me fui directo al código fuente del kernel y me puse a leer los ChangeLogs, vi que se estaba trabajando para el chipset rtl8187 y me volvieron las esperanzas nuevamente. También vi que Linus Torvalds hizo un commit el 23 de Diciembre de 2007: ¡Que capo!

A todo esto me dijo: «¿Y porqué no?, ya estoy en el baile. Me compilo el kernel y lo saco andando». Me bajé el kernel (2.6.27-rc6) de la página oficial y seguí una guía muy buena que explica como hacerlo a la manera Debian, esto sería creando un paquete .deb y luego instalándolo.

Por supuesto que lo primero que hice cuando hay que configurar las opciones fue verificar que estaba tildada la opción de mi placa de red wireless 🙂 . Además tuve que cambiar unas cositas en esa guía, primero, el comando fakeroot por fakeroot-sysv porque el primero comando me decía que no lo tengo. Segundo, me saltié el paso de crear un ramdisk (el paso 8) de la guía. Al terminar la instalación completa me daba este error al intentar bootear con el nuevo kernel:

Kernel panic - not syncing VFS: Unable to mount root fs on unknown - block (0,0)

Esto tengo entendido que es por ese paso que me saltié, pero no lo hice porque no me gustaba nada tener que bajar un paquete que no conocía de un lugar que no fueran los repositorios de debian, además era una versión del kernel muy vieja y decía que era algo novedoso la forma en que se trataba el RamFS. Quizás una maña mía nomás. Al final lo terminé haciendo de otra forma:

update-initramfs -c -v -k 2.6.27-rc6-rtl8187b-1

Esto me generó el archivo /boot/initrd.img-2.6.27-rc6-rtl8187b-1 el cual tuve que agregar a la entrada del nuevo kernel el archivo /boot/grub/menu.lst para que funcione correctamente.

Reinicié la máquina, bootié con este kernel y me fijé si se había detectado la placa wifi: perfecto. Me conecté al router, hice algunas pruebas, intenté switchear sobre los distintos modos (Managed, Monitor, etc) y funcionaba. Wiiii!

Pero todo no se puede, no tenía X porque los drivers de NVIDIA no estaban funcionando en este kernel 🙂 . Igualmente lo que me importaba era testear a full este nuevo driver y pude hacerlo. Cuando hice un iwlist scan me detectó la red de mi casa con una señal de 100. Wow!! Nada que ver a los drivers que estaba usando con ndiswrapper, y cada tanto veo que oscila entre 90 y 100.

El próximo paso fue investigar como hacer para que funcionen correctamente los drivers de NVIDIA en el kernel 2.6.27-rc6 que es en dónde me está funcionando la placa wifi… Tema para otro post.

Update: Martes 23 de Septiembre

NOTA: la primer parte (instalación con ndiswrapper) fue probada en un Live-CD (32bit y 64bit) de Ubuntu también. La compilación de los kernel’s no, pero debe ser exactamente lo mismo. Mejorando esto, lo que conviene hacer es bajarse los drivers Beta de NVIDIA ya que no tienen ningún problema para instalarse.