RasPi: configuración de la red inalámbrica

En la mayoría de casos, nuestra pi detectará e instalará nuestro dispositivo wifi (normalmente un stick usb o wifi usb dongle) de manera automática, sin muchos problemas. Pero algunas veces no parece tan sencillo y simplemente lo detecta… pero la configuración base del sistema operativo no es suficiente para que quede correctamente instalado. En este caso podemos optar por dos opciones, o bien entramos en el entorno gráfico y bsucamos la configuración de conexión a redes (muy parecido a Windows) o bien lo hacemos desde la consola. Este segundo caso suele ser el mas común cuando nuestro sistema se va a dedicar a trabajar en segundo plano y no dispone de entorno gráfico (como por ejemplo, un servidor web, una estación multimedia, etc…).

Nos centramos en el segundo caso, que quizá sea el mas engorroso.

Detectar e instalar los drivers del dispositivo wifi

Lo primero que debemos hacer es comprobar que nuestra pi ha detectado el dispositivo usb correctamente. Para ello, realizamos una petición que nos muestre los dispositivos usb conectados al sistema.

Haremos uso de la órden lsusb (list usb):

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Bus 001 Device 028: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 029: ID 07b5:0213 Mega World International, Ltd Thrustmaster Firestorm Digital 3 Gamepad
Bus 001 Device 030: ID 04fc:05d8 Sunplus Technology Co., Ltd Wireless keyboard/mouse

Podemos observar el listado de dispositivos usb conectados a nuestra pi. En este caso, el interesante es:

Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

Se trata de un adaptador wireless con chipset RT5370 (es un mini wifi dongle usb de Conceptronics). Del mismo modo, podemos observar que el fabricante es Ralink Technology.

El siguiente paso será obtener e instalar los drivers o firmware del dispositivo, una vez conocemos su fabricante. De manera sencilla, podemos realizarlo a través de apt-get install:

pi@raspberrypi ~ $: sudo apt-get install firmware-ralink wireless-tools

Si conocemos cuál es la versión o fabricante de nuestro dispositivo, podemos hacer este último paso en primer lugar.

Configurar la conexión a la red

El siguiente paso será configurar manualmente la conexión a red. Para ello, lo primero que haremos será ver si el sistema ha detectado y conectado el dispositivo.

Mediante la órden ifconfig, comprobamos el estado de las conexiones a red:

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:74 errors:0 dropped:0 overruns:0 frame:0
          TX packets:74 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9360 (9.1 KiB)  TX bytes:9360 (9.1 KiB)

wlan0     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4759 errors:0 dropped:0 overruns:0 frame:0
          TX packets:807 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 KiB)  TX bytes:0 (0.0 KiB)

El punto interesante es el dispositivo wlan0. Como observamos, está activado pero no está conectado (los parámetros RX y TX no describen actividad de datos). Ahora vamos a configurar la conexión.

Paramos el dispositivo wlan0 mediante la órden ifdown (si no está activo este paso no es necesario):

p1@raspberrypi ~ $ sudo ifdown wlan0

Ahora podemos configurar la red a la que se conectará el dispositivo wlan0 en /etc/network/interfaces

pi@raspberrypi ~ $ sudo nano /etc/network/interfaces
#; ORIGINAL
#################################################
auto lo

iface lo inet loopback
iface eth0 inet dhcp

#; auto wlan0
#; iface wlan0 inet dhcp
#; wpa-conf /opt/selector/wifiwpa.config
#################################################

auto wlan0
iface wlan0 inet dhcp
wireless-essid   SSID_NAME
wireless-channel 11
wireless-mode    managed

Observemos su contenido:

  • de la línea 1 a la 11 es el contenido original del fichero de configuración.
  • he comentado las líneas 8 a 10, ya que mi conexión, en este caso, será abierta y no precisa de configuración WPA.
  • líneas 3 y 5: configuración automática de la conexión de loopback (lo) en el arranque
  • línea 6: configuración de eth0 (ethernet) para conexión mediante dhcp
  • línea 13: conexión automática de wlan0 en el arranque
  • línea 14: configuración del dispositivo wlan0 mediante dhcp (servicio router)
  • línea 15: indicamos el nombre de nuestro SSID (endpoint del router)
  • línea 16: canal de conexión wifi (por defecto suele ser el 11)
  • línea 17: wireless mode managed (lo gestiona el router)

Esta es la configuración básica para una conexión wifi abierta (sin seguridad). Para realizar una conexión segura, deberéis comentar las líneas 13 a 17 y descomentar las 8 a 10, de modo que la configuración de SSID y contrasela wpa deberá encontrarse dentro del fichero

/opt/selector/wifiwpa.config

Para más información al respecto, podéis consultar la documentación de Debianhttp://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_wireless_lan_interface_with_wpa_wpa2

Iniciar el servicio de conexión wifi

Ahora ya estamos en disposición de conectarnos a nuestra red a través del dispositivo wifi que hemos configurado:

pi@raspberrypi ~ $ sudo ifup wlan0

Y observamos el resultado:

Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/xx:xx:xx:xx:xx:xx
Sending on   LPF/wlan0/xx:xx:xx:xx:xx:xx
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.1.1
DHCPACK from 192.168.1.1
Reloading /etc/samba/smb.conf: smbd only.
bound to 192.168.1.135 -- renewal in 110003 seconds.

Vemos que el servicio se ha iniciado correctamente, que dhcp nos ha otorgado una ip privada, la 192.168.1.135, que la puerta de enlace es la 192.168.1.1 y que la identidad se renovará dentro de 110003 segundos.

Con esto, ya estamos conectados a la red inalámbrica y, si nuestro router lo permite, a internet:

pi@raspberrypi ~ $ ping www.google.es
PING www.google.es (173.194.45.24) 56(84) bytes of data.
64 bytes from lis01s06-in-f24.1e100.net (173.194.45.24): icmp_req=1 ttl=54 time=55.8 ms
64 bytes from lis01s06-in-f24.1e100.net (173.194.45.24): icmp_req=2 ttl=54 time=60.8 ms
64 bytes from lis01s06-in-f24.1e100.net (173.194.45.24): icmp_req=3 ttl=54 time=58.8 ms
64 bytes from lis01s06-in-f24.1e100.net (173.194.45.24): icmp_req=5 ttl=54 time=317 ms
64 bytes from lis01s06-in-f24.1e100.net (173.194.45.24): icmp_req=8 ttl=54 time=276 ms
^C
--- www.google.es ping statistics ---
10 packets transmitted, 5 received, 50% packet loss, time 9024ms
rtt min/avg/max/mdev = 55.880/153.958/317.585/117.591 ms

Para cualquier comentario o pregunta, no dudéis en poneros en contacto conmigo.

Espero haberos sido de ayuda.

 

Jordi

Share Button

Related Images:

5 comentarios

    • Muy buenas, y gracias por tu comentario.

      No, en un principio con ifup deberías poder ver el resultado de la activación del wlan0. Lo mismo sucede si usas ifdown. Es probable que no se haya cumplido correctamente la configuración anterior y por ese motivo no ves nada… En cualquier caso, tras escribir el comando, ¿acaba funcionando la wlan0? Si miras algunas de las imágenes que hay publicadas en otros foros, coinciden con este resultado (esta, por ejemplo, o esta otra para eth0).

      Intenta forzar la salida del resultado añadiendo el comando -v (verbose).

      Por favor, dime si te ha sido posible reporoducirlo.

  1. Muy buenas.
    Al ejecutar el comando lsusb encuentro: “Ralink Technology, Corp. RT2870 Wireless Adapter.”
    Ejecuto: “pi@raspberrypi ~ $: sudo apt-get install firmware-ralink wireless-tools”
    Y al hacer: ifconfig no encuentro wlan0.
    ¿qué debo hacer?

    Gracias de antemano.

    • Muy buenas Jesús,

      Gracias por tu comentario, y perdona la tardanza.

      Veamos, huelga decirlo, pero recuerda siempre que lo primero que debemos hacer es actualizar por completo la Pi (apt-get update / upgrade…). Luego, veo que el chipset es diferente del mío. No sé exactamente si están incluidos los drivers de tu chipset en la distribución de Raspbian que estás utilizando (u otro sistema operativo). Por lo tanto, es muy probable que no sirvan los mismos que yo he indicado en este post. He indagado un poco por la red, y veo que cabe la posibilidad de que te pueda servir los siguientes: rt2870 o rt2870sta. Habría que ver desde dónde descargarlos, si es que no se incluyen en los ralink. Prueba a ver con sudo apt-get install firmware-realtek.

      Otro punto importante es ejecutar la actualización de firmware para que intente hacer una auto detección. Prueba con esto:

      • sudo rpi-update
      • sudo reboot

      A ver si tenemos suerte. Coméntame algo, ¿ok?

      Suerte!

      Jordi

  2. Pingback: Configurando la conexión wifi de la Raspberry Pi » Internet of things

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.