lunes, 6 de julio de 2015

Failed to load rt73.bin en Debian

Si disponemos de una tarjeta wifi Ralink RT2501USB tenemos que tener en cuenta que el firmware no está de manera nativa en Debian y lo tendremos que instalar desde los repositorios "non-free".
En un primer momento no me di cuenta de esto porque al verificar mis interfaces wifi con el comando iwconfig me aparecía como disponible:


Sin embargo al lanzar el comando ifconfig wlan0 up me daba un error de "SIOCSIFFLAGS: No se pudo asignar memoria":

root@debian8:~#  ifconfig wlan0 up
SIOCSIFFLAGS: No se pudo asignar memoria

Y cuando lanzaba el comando iwlist wlan0  para ver las redes cercanas me indicaba que la tarjeta estaba caída:

root@debian8:~# iwlist wlan0  scan
wlan0     Interface doesn't support scanning : Network is down

Después de ver estos errores que indicaban que la tarjeta no estaba funcionando verifiqué el estado del firmware con el comando dmesg | grep firmware, obteniendo la siguiente salida:

root@debian8:~# dmesg | grep firmware
[  503.897731] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt73.bin'
[  503.897741] rt73usb 1-2:1.0: firmware: failed to load rt73.bin (-2)
[  503.897745] rt73usb 1-2:1.0: Direct firmware load failed with error -2


Solución

Para solucionar este error deberemos modificar el archivo /etc/apt/sources.list añadiendo el repositorio "main contrib non-free" de nuestra versión (en mi caso era: deb http://http.debian.net/debian/ jessie main contrib non-free)


Después lanzamos el comando apt-get update && apt-get install firmware-ralink para instalar el paquete firmware-ralink

root@debian8:~# apt-get update && apt-get install firmware-ralink
Obj http://ftp.es.debian.org jessie InRelease                                                       
Obj http://ftp.es.debian.org jessie-updates InRelease                                                                                                
Obj http://security.debian.org jessie/updates InRelease                                                                                              
Obj http://ftp.es.debian.org jessie/main Sources                                                          
Obj http://ftp.es.debian.org jessie/main amd64 Packages                                                                   
Obj http://security.debian.org jessie/updates/main Sources                                                                
Obj http://ftp.es.debian.org jessie/main Translation-es                                                                   
Obj http://security.debian.org jessie/updates/main amd64 Packages                                                             
Obj http://ftp.es.debian.org jessie/main Translation-en                                                                       
Obj http://security.debian.org jessie/updates/main Translation-en                                                             
Obj http://ftp.es.debian.org jessie-updates/main Sources                                                                      
Des:1 http://ftp.es.debian.org jessie-updates/main amd64 Packages/DiffIndex [505 B]                 
Des:2 http://ftp.es.debian.org jessie-updates/main Translation-en/DiffIndex [229 B]                 
Des:3 http://http.debian.net jessie InRelease [134 kB]                                                                                                                                        
Des:4 http://http.debian.net jessie/main amd64 Packages [6.768 kB]                                                                                                                            
Des:5 http://http.debian.net jessie/contrib amd64 Packages [50,1 kB]                                                                                                                          
Des:6 http://http.debian.net jessie/non-free amd64 Packages [83,6 kB]                                                                                                                         
Des:7 http://http.debian.net jessie/contrib Translation-en [38,4 kB]                                                                                                                          
Des:8 http://http.debian.net jessie/main Translation-es [314 kB]                                                                                                                              
Des:9 http://http.debian.net jessie/main Translation-en [4.585 kB]                                                                                                                            
Des:10 http://http.debian.net jessie/non-free Translation-en [72,2 kB]                                                                                                                        
Descargados 12,0 MB en 1min 1s (195 kB/s)                                                                                                                                                     
Leyendo lista de paquetes... Hecho
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes NUEVOS:
  firmware-ralink
0 actualizados, 1 nuevos se instalarán, 0 para eliminar y 1 no actualizados.
Se necesita descargar 22,2 kB de archivos.
Se utilizarán 103 kB de espacio de disco adicional después de esta operación.
Des:1 http://http.debian.net/debian/ jessie/non-free firmware-ralink all 0.43 [22,2 kB]
Descargados 22,2 kB en 15s (1.461 B/s)    
Seleccionando el paquete firmware-ralink previamente no seleccionado.
(Leyendo la base de datos ... 121856 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../firmware-ralink_0.43_all.deb ...
Desempaquetando firmware-ralink (0.43) ...
Configurando firmware-ralink (0.43) ...


Tras instalar el paquete firmware-ralink tendremos nuestra tarjeta 100% operativa.

4 comentarios:

  1. Gracias me funciono de maravilla en debian 8 jessie y hp 1000 (y)

    ResponderEliminar
  2. sos un groso. Tenia el mismo problema. Pregunta de curioso. Porque hay que agregar este repositorio?

    ResponderEliminar
    Respuestas
    1. El motivo es porque el driver que viene por defecto está obsoleto y tiene bugs, lo que provoca que no funcione correctamente. En el repositorio non-free encontramos drivers que no cumplen con la severa política opensource de Debian y es donde acostumbran a estar los drivers propietarios de las compañías.
      Mil gracias por comentar.

      Eliminar