Conceptronic c54ri PCI en Linux con ndiswrapper

Esta tarjeta usa el chip ralink, este serie de chips (rt2500, rt61 …) esta soportado en linux por el propio fabricante.

El problema es que la serie rt en ubuntu tiene el siguiente bug : https://bugs.launchpad.net/ubuntu/+bug/34902.

La solución que propongo es bajarnos la última versión de la web del fabricante, y nos vamos a Support -> Windows (!!) y nos bajamos el que indice como part Number PCI/mPCI/CB(RT256x/RT266x. En definitiva, necesitamos el driver de windows, ya sea el del cd de conceptronic, o mejor el último que haya en la web de conceptronic. (El del CD a mí me da muy poca señal, además el nuevo nos vendra bien, nos añade soporte WPA2 …). Vamos a extraer la información del driver de windows para generar un driver para linux. Como sabréis esto lo hace ndiswrapper.

ndiswrapper

Al contrario que muchos piensan ndiswrapper no emula nada, simplemente con el fichero inf o sys es capaz de extraer toda la información para instalar el driver de forma nativa (como wine = Wine Is Not Emulator). Por pasos:

  • Doy por hecho que teneis localizados los ficheros esenciales del driver, estos son : rt61.sys y el rt61.inf.
  • Nos bajamos el código fuente de la última versión estable de ndiswrapper, cuando escribí esto era la 1.52:
    • unp ndiswrapper-1.52.tar.gz (unp es un script que descomprime, olvidandose de si es rar, zip, tar.bz2 …)
    • cd ndiswrapper-1.52
  • Ahora compilamos con los siguientes comandos:
  • Nos aseguramos que tenemos lo minimo para compilar : sudo apt-get install build-essential
  • Para compilar ejecutamos : make
  • No tiene dependencias asi que no deberían salir errores. Por ultimo instalamos con sudo make install
  • Estando en el directorio de trabajo de donde tenemos el driver escribimos : sudo ndiswrapper -i rt61.inf
  • Comprobamos que esta con : ndiswrapper -l
  • Instalar el modulo : sudo ndiswrapper -mi
  • Por último solo falta evitar que se carga el driver bugeado que viene con ubuntu : sudo gedit /etc/modprobe.d/blacklist y añadimos al final la linea : blacklist rt61pci

Ya esta, para no complicarnos la vida cargando y descargando modulos, reiniciamos : sudo shutdown -r now . Si Despues de esto el driver os funciona pero vuestro problema es del software de ubuntu que gestiona la wifi, como por ejemplo que ignore la conexión cuando se establece conexión con ip estática, os pide contraseña cada vez que iniciais … etc. Entonces obligatoriamente deberías instalaros wicd, como explico en este otro post.

Espero que le sirva a alguien :P

El mejor gestor WIFI/Cable : wicd vs NetworkManager

Personalmente pienso que el gestor de conexiones wifi/cable que viene con ubuntu (NetworkManager) apesta por los siguientes motivos (principalmente con el WIFI):

  • Cuando el WIFI es itinerante me pide contraseña de root para el desbloqueo del anillo.
  • Graves problemas de refresco con la lista de red WIFI.
  • No puede conectar a redes WIFI con el SSID oculto.
  • A veces se le olvida las contraseñas.
  • En algunas configuraciones wifi solo he conseguido conectar en modo itinerante, es decir por dhcp, esto no me vale para abrir puertos por ip.
  • Si pierdes la señal del AP, rara vez reconecta.
  • Me machaca el /etc/resolv.conf, lo necesito para el servidor DNS local dnsmasq
  • Gran dependencia con gnome.

Aqui una lista más completa de bugs, en mi opinión es un programa que funciona perfectamente para cable pero para wifi parece una versión pre-alpha.

Vamos a instalar wicd, que soluciona todos estos problemas, hasta ahora no he encontrado ningun problema, ire actualizando el post si lo tuviera. Pero antes una pqqueña enumeración de las características de wicd:

  • Sirve para cable/wifi
  • Funciona en cualquier gestor de ventanas (gnome,kde,fluxbox …)
  • No depende del gestor de ventanas, tiene su propio demonio.
  • Distintos perfiles para cada conexion wifi y cable.
  • Sin problemas con ips estaticas y listas de 3 dns.

Vamos a instalarlo:

  • Añadimos el repositorio (donde pone gutsy podría ser dapper, edgy o feisty) y actualizamos : echo deb http://apt.wicd.net gutsy extras | sudo tee -a /etc/apt/sources.list && sudo apt-get update
  • Instalamos el wicd (OJO! nos pedira desinstalar cualquier otro programa que gestione la wifi y pueda entrar en conflicto con él, tal y como wifi-radar o el networkManager) : sudo apt-get install wicd
  • Ahora os recomiendo que os añadais el Monitor de redel applet del panel de gnome para ver la fuerza de la señal wifi Wicd viene con un indicador de la configuración actualmente establecida, IP, señal wifi … mejor que el que viene con gnome. En el wiki de wicd explica que hay hacer lo siguiente:
    • Escribimos gedit en consola y pasteamos lo siguiente :
      #!/bin/sh
      sleep 20
      /opt/wicd/tray.py
    • Guardarlo en vuestra carpeta de scripts de usuario (es a gustos), yo por ejemplo en mi pc, la ruta completa con el nombre del script quedaría: /home/makiolo/scripts/panelWICD
    • Por último lo ponemos en la sesión, vamos a Sistemas->Preferencias->Sesione y ponemos wicd en todos los campos de texto excepto en comando que ponemos /home/makiolo/scripts/panelWICD
  • Pongo un par de ejemplos de configuraciones,por cable con DHCP y por wifi con ip estática, respectivamente:

wicd cablewicd wifi

En ambos casos le damos a conectar y listo. Por último aclarar que si no entendeis como gestiona los perfiles, o los lugares es muy sencillo crea automáticamente un nuevo perfil para cada MAC que encuentre, si nos vamos a la UNI, o a cualquier sitio que wicd recuerde su MAC, conectará automáticamente (siempre y cuando lo hayais configurado para ello).