Este no blog no va a ser actualizado más, me he mudado a http://conocimientoabierto.es

miércoles, 22 de agosto de 2007

Un regalo liberador

Gracias a la bitacora de un usuario de barrapunto (no recuerdo el nick, lo siento) me he encontrado con una joyita que quería compartir con vosotros. La página en cuestión da los códigos necesarios para liberar un motón de móviles sin más que introducir el IMEI del teléfono y la compañía.

Recomiendo encarecidamente leer el texto que sale en la web para no cometer ningún error, ni yo (ni nadie) se va a hacer responsable de lo que le pase a vuestro teléfono haciendo estas cosas. Para poner el cuadro central en inglés hay que pulsar sobre la banderita adecuada abajo a la izquierda.

Desde mi punto de vista hay varias razones por las que deberías liberar tu teléfono.
  • Libertad. La libertad no es escoger otra cosa sino que yo y cada uno de nosotros tengamos la posibilidad de escoger otra cosa.
  • Ecología. Entendido en sentido amplio. Hay mucha gente que tiene más de un móvil en casa (porque te lo han regalado al cambiar de compañia por ejemplo), si se estropea el nuevo siempre podrás volver a usar el viejo...
Por último releed la letra pequeña de vuestros contratos, muchos de ellos dirán que el móvil no se puede liberar hasta pasado un año o tendrán otros compromisos parecidos con lo que estariais incurriendo en una ilegalidad de liberarlo.

jueves, 16 de agosto de 2007

Driver para modem adsl usb en linux mandriva 2007

En mi anterior entrada comenté que había conseguido conectar a internet usando el driver eciadsl para un modem adsl por usb d-link dsl-200 b1 desde Ubuntu Feisty (v 7.04). Pués bien, a pesar de que si que conseguí conectar no lograba una conexión estable y además en muchas ocasiones no lograba conectar al primer intento. Esto, sumado a que no me adaptaba a Gnome y Ubuntu, acostumbrado desde hace unos 6 años a Mandrake/Mandriva y KDE hicieron que volviera a mi distro de toda la vida.

Así que para completar la guía anterior voy a describir alguna de las particularidades para poder instalar el driver en la Mandriva (y alguna otra cosilla que se quedó en el tintero). Que conste que es mucho más fácil que con Ubuntu, lo único de lo que debemos preocuparnos si usamos la Mandriva 2007.0 es de instalar el kernel adecuado (no se cual trae de serie la 2007.1 o 2007 Spring). Mandriva 2007.0 viene por defecto con el kernel 2.6.17-5 que no funciona correctamente con el driver eciadsl. Debemos pasar a uno superior. (Preferiblemente de 2.6.17.8 a 2.6.17.14, porque a partir de 2.6.18 hace falta parchear el driver). Yo he instalado los paquetes kernel-2.6.17.14mdv-1-1mdv2007.0.i586.rpm y kernel-source-2.6.17.14mdv-1-1mdv2007.0.i586.rpm. Con este kernel la versión eciadsl-usermode-0.11.tar.gz del driver sin ningún parche me funciona de fábula. Atención a bajarse los paquetes que pongan mdv2007.0 o mdv2007.1 según si tenemos la Mandriva 2007 normal o la Mandriva 2007 Spring. Para buscar paquetes en rpm yo suelo usar la página es http://rpm.pbone.net (en concreto para este caso podemos usar la opción 3 y buscar por kernel-2.6.17*mdv* o algo parecido)

Una vez hayamos descargado el kernel y el kernel-source con hacer doble clik sobre ellos y darle siempre a aceptar deberían instalarse correctamente. Después añadimos la línea dabusb a /etc/hotplug/blacklist y reiniciamos. Descomprimimos el driver en una carpeta, lo compilamos y lo instalamos como root (./configure && make && make install). A continuación descomprimimos el archivo con los ficheros .bin en /etc/eciadsl. Para configurar el driver (siempre como root) usamos el comando eciadsl-config-tk.

Las opciones que yo uso usando como proveedor ONO son las siguientes:

Fichero de Sincronización: gs7470_synch04.bin
PPP Mode: VCM_RFC2364
VPI:8 VCI:35
Provider DNS: ES.Auna


A continuación voy a comentar algunas dudas sueltas que he visto que salen en los foros sobre estos temas.

  • A pesar de que en la herramienta para configurar el hardware de Mandriva aparezca una entrada que identifique el dispositivo USB como un modem no significa que pueda configurarse desde allí.
  • En la documentación de la página de eciadsl da la impresión de que al encender el ordenador no debe haber ninguna luz encendida en el modem. En mi modem siempre hay una luz encendida y conecto sin problemas.
  • Otros ficheros de sincronización que creo que van bien para mi son: gs7470_synch06.bin, gs7470_synch01a.bin y gs7470_synch18.bin
  • Si notas que las páginas web cargan muy despacio aunque luego las descargas van a velocidad normal es probable que sea un problema con los servidores DNS. Puedes copiar la dirección ip primaria y secundaria de la configuración que uses en windows o tomarlas por ejemplo de la página OpenDNS.
    Una vez anotadas esas dos ips, puedes ejecutar de nuevo el comando eciadsl-config-tk e introducirlas a mano seleccionando other en provider dns. Aunque yo creo que es mejor editar el fichero /etc/resolv.conf comentar todas las lineas que aparezcan (poniendo el síbolo # al principio de cada línea) y añadir dos lineas al estilo
    nameserver ip1
    nameserver ip2
  • Si aparece un error como nice: pppd: No existe el fichero o el directorio en el 4 punto [EciAdsl 4/5] Connecting to provider... es que no tenemos instalado el paquete ppp. Para ello vamos Sistema -> Confiración -> Configurar su computadora -> Instalar sofware.

    Buscamos "ppp" en la casilla de busca e instalamos los paquetes ppp, ppp-pppoatm. (Según que proveedor tengamos puede ser necesario instalar también los paquetes ppp-pppoe y rp-pppoe). En algún momento del proceso nos pedirán que introducizcamos el DVD de instalación de Mandriva.
  • Si todo parece ir bien pero cuando ejecutamos eciadsl-start se queda colgado en el punto 4 [EciAdsl 4/5] Connecting to provider, podemos pulsar Ctrl+Z y después teclear el comando bg (o killall -9 eciadsl-start si bg no funciona) Con esto debería conectar. Tener en cuenta que esto generará ficheros basura de nombre core en el directorio /root que debemos borrar periodicamente.
  • Hay un hilo del foro en el que hablan de ello. A mi me ha funcionado el editar el archivo /usr/local/bin/eciadsl-start, buscar la línea que pone nice --20 pppd call adsl updetach (es la línea 546), borrarla y añadir estas dos:
    pppd unit 1 call adsl
    pppd unit 0 call adsl updetach
  • Algunos comando útiles para saber los módulos que tenemos cargados y los dispositivos usb conectados: lsmod, dmesg | grep usb, lsusb


A continuación algunos enlaces que pueden resultar útiles:

jueves, 9 de agosto de 2007

Instalar driver para D-Link DSL200 en Ubuntu 7.04

El principal problema que puedes encontrarte en un sistema operativo es tener algún dispositivo hardware para el que no existan drivers, es decir que los programas de tu ordenador no puedan usar el cacharro que te has comprado. Yo soy un insatisfecho cliente de ONO, para conectarme por ADSL uso el modem usb d-link dsl 200 b1, que sólo viene con drivers para sistemas privativos. Por suerte en el activo mundo del software libre alguien se ha preocupado de programar un driver llamado eciadsl válido para una gran cantidad de modem adsl por usb.

Como la instalación del citado driver puede dar algún que otro quebradero de cabeza, voy a tratar de hacer una pequeña guia de los pasos que he seguido yo para poder conectarme a internet, particularizando para mi modem con ONO desde una Ubuntu Feisty (v 7.04)

  1. Comprobar que nuestro modem está soportado por el driver en esta página
  2. Comprobar que cumplimos los prerequisitos en cuanto a los paquetes que tenemos instalados. No voy a comentar nada de este paso porque deberían cumplirse para cualquier distribución moderna.
  3. En la sección de downloads de la página podemos ver que archivo descargar en función de nuestro kernel y si tendremos que parchearlo. En general para distros seminuevas nos bajaremos el archivo eciadsl-usermode-0.11.tar.gz sin más.

    Si nuestro kernel es superior a la versión 2.6.18 (como sucede con Ubuntu Feisty el driver por defecto no funciona. Debemos parchearlo con el synch.patch o bajarnos esta versión del driver ya parcheada:eciadsl-usermode-0.11-synch.patch.tar.bz2 (descargable desde el hilo 2.6.18 kernel problem del foro de eciadsl
    Para conocer la versión de nuestro kernel empleamos el comando uname -r

  4. El resto de pasos deben hacerse desde un terminal e identificados como root. Podemos hacer esto anteponiendo la orden sudo a cada uno de los comandos que aparecen aquí o directamente escribiendo su root en el terminal (a partir de ese momento se ejecutan todos los comandos como root.

    En Ubuntu no funciona automaticamente lo de hacer su root para solucionarlo: Sistema -> Administración -> Gestión de Usuarios y Grupos -> y cambiar la clave de root (que por defecto es la de nuestro usuario habitual)
    Con esto ya deberia funcionar.

  5. Descomprimimos el archivo y en el directorio donde lo hayamos hecho tecleamos las siguientes instrucciones (Doy por hecho que estamos usando el archivo ya parcheado):
    ./configure
    make
    make install


    Si tenemos el ubuntu de serie es probable que el configure falle con el siguiente error C compiler cannot create executables. Esto puede ser debido a varias cosas pero seguramente lo solucionaremos instalando algunos paquetes. Para ello introducimos el CD de Ubuntu. Después vamos a Sistema -> Administración -> Gestor de paquetes Synaptic.
    Buscamos el paquete build-essential. Tras unos instantes nos dirá que se necesitan instalar varios paquetes más, aceptamos y después le damos a Aplicar
    Con esto ya deberiamos poder crear los ejecutables tecleando los comandos anteriores.

  6. A continuación debemos descargar el fichero eciadsl-synch_bin.tar.bz2 también disponible en la sección de downloads y descomprimirlo en el directorio /etc/eciadsl. Este archivo contiene los archivos de sincronización .bin (son las información que necesita el modem para conectarse con el proveedor en la etapa en que uno de los leds parpadea)
  7. El siguiente paso es comprobar que tenemos el módulo dabusb deshabilitado. Para curarnos en salud lo que debemos hacer es (tras arrancar el ordenador con el modem desconectado)
    • Si existe el fichero /etc/hotplug/blacklist editarlo y añadir una línea con la palabra dabusb
    • Si no existe el fichero mencionado teclearemos en un terminal eciadsl-remove-dabusb
    A continuación podremos volver a conectar el modem.
  8. Toca configurar el driver. Para ello podemos emplear el comando eciadsl-config-tk(en modo gráfico) o eciadsl-config-text(en modo texto). Si tenemos el ubuntu de serie es poco probable que venga instalado tcl/tk necesario para usar el modo de configuración gráfico de modo que tendremos que emplear el modo texto.

    Si nos toca usar el modo texto y usamos ubuntu es probable que nos encontremos con más problemas. Si aparece algún error a la hora de introducir los datos (especialmente con la clave de conexión) puede ser porque la shell que usemos sea distinta a la que enlaza /bin/sh. En la configuración por defecto de mi Ubuntu 7.04 usa una shell bash pero /bin/sh apunta a una shell dash.

    Podemos ver cual es nuestra shell mediante echo $SHELL y este valor debería coincidir con el que haya en ls -l /bin/sh. Si no es así debemos cambiarlo. Esto podría variar de unos sistemas a otros pero en general será algo así como: ln -fs /bin/bash /bin/sh.

    Tras configurar el driver si queremos podemos volver /bin/sh a su estado original o dejarlo así. Para deshacer el cambio. Si cuando hicimos ls -l /bin/sh apuntaba a una shell que no fuera dash esa es la que debemos emplear en lugar de /bin/dash: ln -fs /bin/dash /bin/sh


    Cuando ejecutemos eciadsl-config-text tendremos que seguir (aproximadamente) los siguientes pasos.
    1. Configure all your settings
    2. Introducir el nombre de usuario que nos haya dado nuestro proveedor de acceso a internet
    La clave que nos hayan dado. (si no sabemos alguno de estos tendremos que llamar al servicio de atención al cliente)
    3. Seleccionamos nuestro proveedor. Si no aparece en la lista podemos seleccionar el 58 que es other con lo cual después tendremos que introducir a mano nuestro servidor DNS o bien seleccionar uno cualquiera de nuestro propio país que en general debería funcionar correctamente.
    4. Damos intro dos veces para aceptar los DNS por defecto (o escribimos los que queramos)
    5.VPI suele ser 8. VCI suele ser 35 (al menos estos son valores correctos para ONO en Pontevedra.
    6. A continuación seleccionamos nuestro modem.
    7. Después 5 intros aceptando los valores por defecto.
    8. A continuación vienen varias opciones que son dependientes del proveedor. En mi caso funciona escogiendo todas las opciones por defecto hasta que pregunta si nuestro proveedor usa DHCP que en mi caso es No y si usas IP estática que en general también será No. El fichero de sincronización que uso es gs7470_synch04.bin

    Aunque es probable que nos valgan varios ficheros de sincronización .bin distintos si cuando estemos conectando pone Synchronization successful y luego Couldn't get channel number: Input/output error debemos probar otros ficheros. También podemos probar otros ficheros si notamos problemas de desconexiones o la sincronización es lenta. En el propio foro de soporte de eciadsl uno de los desarrolladores comenta que no conocen exactamente el protocolo de sincronización y que en caso de errores es conveniente probar otros ficheros. Para ello, debemos ejecutar eciadsl-config-text y seleccionar la opción 3 para escoger un nuevo fichero de la lista. A continuación podemos volver a ejecutar eciadsl-start para comprobar si hay mejoras.
    A la hora de probar un nuevo fichero lo mejor es apagar y encender el ordenador (no reiniciar) aunque desconectando y conectando el modem unos instantes después debería ser suficiente.

  9. Si todo ha ido bien ya deberíamos poder conectarnos a internet para ello tecleamos eciadsl-start y cruzamos los dedos.


Actualización: El proceso para escribir este post no fue lineal ya que no conseguí hacer funcionar el driver a la primera. Una de las cosas que probé fue a desinstalar el paquete restricted-manager pero no creo que sea necesario, aunque si estas desesperado quítalo. También deberías probar la versión vcs del driver, distintos ficheros .bin, a cambiar el kernel... En todo caso no desesperes en el foro de eciadsl hay multitud de mensajes y seguro que alguno se ajusta a tu problema. ¡Suerte!