Raspberry Pi 3: configurando el built-in WiFi sin dongle USB

¡Buenas a todos! Hoy os traigo un breve tutorial para configurar el WiFi que viene integrado en la nueva Raspberry Pi 3, que salió a la venta hace una semana. Por suerte, la empresa para la que estoy trabajando se las ha apañado para conseguir un par de estos ordenadores de bolsillo nada más salir a la venta. Espero que disfrutéis de esta especie de exclusiva :) Antes de comenzar, me gustaría destacar las mejoras con respecto al modelo anterior (raspi 2), que son las siguientes:

  • Aproximadamente un 50% más rápida
  • Bluetooth 4.1 integrado
  • WiFi integrado
  • Mismo precio que el modelo anterior

Obviamente existen algunas nuevas características adicionales, pero creo que con las 4 que he citado os podéis hacer una idea de lo que mola el nuevo modelo. Por encima de todas, en este artículo me centraré en la tercera. Si habéis utilizado modelos anteriores de raspi sabréis que conectarla sin cables requería comprar un dongle USB adicional. Este hecho no solo incrementaba el precio, sino que además ocupaba un puerto USB. En resumen: los creadores de Raspberry Pi han conseguido abaratar la placa todavía más. Como estoy seguro de que os los estáis preguntando, a continuación os indico dónde han ubicado el chip de radio + antena para permitir la conectividad WiFi y Bluetooth:

Una vez comentados los aspectos más interesantes de la nueva Raspberry Pi 3, vamos al lío. En teoría, tanto el WiFi como el Bluetooth integrados en este nuevo modelo deberían funcionar "out of the box", pero la realidad es que de momento, y hasta que no solucionen el bug, conseguir conectarla no es tan sencillo. A fecha de hoy, la última versión de Raspbian salió el 26 de febrero. Si tenemos en cuenta que la Raspberry Pi 3 comenzó a venderse 3 días después, queda claro que estamos en un periodo en el que es comprensible que no esté todo perfectamente ajustado. Insisto en que en un futuro próximo no hará falta seguir estos pasos, pero hasta entonces, si tenéis la suerte de ser pioneros en el uso de este nuevo modelo, os aconsejo que realicéis los siguientes cambios: [ecko_alert color="blue"]Para seguir el tutorial debéis acceder a la terminal de vuestra raspi, ya sea por SSH o a través de la interfaz gráfica (VNC)[/ecko_alert] Parece de cajón, pero a veces nos olvidamos. Lo primero: actualizar Raspbian con update+upgrade: sudo apt-get update sudo apt-get -y upgradeDesconectamos el dongle USB para ver si funciona el WiFi integrado. Deberemos volver a buscar la IP del dispositivo con el comando nmap. Si con el dongle USB nuestra IP era 192.168.1.45, debería aparecer la sucesiva (en el caso del ejemplo sería 192.168.1.46) al ejecutar nmap: nmap -sn 192.168.1.0/24Este comando sirve para mostrar la IP de los dispositivos conectados a nuestra red WiFi. Si no encontráis la raspi, deberéis reemplazar un par de archivos en /lib/firmware/brcm/ En concreto, en esa carpeta deberán incluirse los siguientes dos archivos:

  • brcmfmac43430-sdio.bin

Para obtener este archivo, deberás ejecutar en la terminal de tu ordenador el siguiente comando: wget 'http://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/firmware-brcm80211_0.43+rpi4_all.deb'Una vez descargado, simplemente descomprime el archivo y encontrarás tanto el binario como el .txt en la ruta que he comentado anteriormente.

  • brcmfmac43430-sdio.txt

#brcmfmac43430-sdio.txt # NVRAM file for BCM943430WLPTH # 2.4 GHz, 20 MHz BW mode # The following parameter values are just placeholders, need to be updated. manfid=0x2d0 prodid=0x0727 vendid=0x14e4 devid=0x43e2 boardtype=0x0727 boardrev=0x1101 boardnum=22 macaddr=00:90:4c:c5:12:38 sromrev=11 boardflags=0x00404201 boardflags3=0x08000000 xtalfreq=37400 nocrc=1 ag0=255 aa2g=1 ccode=ALL pa0itssit=0x20 extpagain2g=0 #PA parameters for 2.4GHz, measured at CHIP OUTPUT pa2ga0=-168,7161,-820 AvVmid_c0=0x0,0xc8 cckpwroffset0=5 # PPR params maxp2ga0=84 txpwrbckof=6 cckbw202gpo=0 legofdmbw202gpo=0x66111111 mcsbw202gpo=0x77711111 propbw202gpo=0xdd # OFDM IIR : ofdmdigfilttype=18 ofdmdigfilttypebe=18 # PAPD mode: papdmode=1 papdvalidtest=1 pacalidx2g=42 papdepsoffset=-22 papdendidx=58 # LTECX flags ltecxmux=0 ltecxpadnum=0x0102 ltecxfnsel=0x44 ltecxgcigpio=0x01 il0macaddr=00:90:4c:c5:12:38 wl0id=0x431b deadman_to=0xffffffff # muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG muxenab=0x1 # CLDO PWM voltage settings - 0x4 - 1.1 volt #cldo_pwm=0x4 #VCO freq 326.4MHz spurconfig=0x3 edonthd20l=-75 edoffthd20ul=-80Una vez incorporados estos dos archivos a nuestra Raspberry Pi, podemos desconectar el dongle USB para comprobar que funciona el WiFi integrado en la placa. Solo nos queda ejecutar de nuevo el comando nmap para obtener la dirección IP de nuestra raspi y poder acceder a ella a través de SSH o VNC, como estábamos haciendo con el dongle USB. Recordad que la dirección IP será sucesiva. Si todavía no lográis conectar, podéis volver a conectar el dongle USB y desde la terminal de la raspi, desactivar el modo de ahorro de energía con el comando: sudo iwconfig wlan0 power offSegún palabras de Eben Upton: [ecko_quote source="Eben Upton"]We’ll be shipping a patch at some point to give people the option to disable the power saving.[/ecko_quote] Como veis, este es el precio que hay que pagar por ser los primeros en probar la nueva Raspberry Pi 3. ¡Espero que el tutorial sea de utilidad!