"No se pudieron configurar los indicadores de interfaz wlan0 (ARRIBA): error de entrada/salida" RT3290

"No se pudieron configurar los indicadores de interfaz wlan0 (ARRIBA): error de entrada/salida" RT3290

Me encontré con un problema muy desconcertante con mi tarjeta WiFi en Ubuntu. Después de reiniciar, siempre está deshabilitado y no hay otra forma de recuperarlo que no sea suspender o apagar la computadora portátil. El estado según Network Manager es "dispositivo no listo". Esto ocurre constantemente.

Algunos antecedentes sobre mi sistema:

  • El portátil es HP 350 G1.
  • La tarjeta WLAN es la infame Ralink RT3290. (Si hubiera sabido cuántos problemas tendría con él, nunca lo habría comprado).
  • Ubuntu es el último LTS 16.04, actualizado recientemente.
  • El kernel es 4.4.9-040409-generic(era 4.4.0-22-genericantes de actualizar desde la línea principal, no hay diferencia con WiFi).

Antes de actualizar la distribución, estaba usando una versión del rt3290sta/2.6.0.0controlador (compilada desde el código fuente y cargada mediante DKMS) que funcionó en su mayoría bien, pero no funciona con los kernels más nuevos y parece abandonada de todos modos. Así que ahora tuve que volver rt2800y tener este problema desde entonces.

Este parece ser un problema muy antiguo pero recurrente. Leí todos los hilos que pude encontrar, pero hasta ahora no tuve suerte. Afortunadamente, no es crítico para mí porque rara vez reinicio, pero al menos sigue siendo molesto y desconcertante.

A continuación se muestran los resultados de algunos comandos que podrían ser de interés (este es el estado después del reinicio):

lshw -c networkdice que la interfaz está deshabilitada:

# lshw -c network
*-network               
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: eth0
       version: 10
       serial: c4:34:6b:05:5f:ff
       size: 10Mbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl8168g-3_0.0.1 04/23/13 latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:43 ioport:4000(size=256) memory:b2504000-b2504fff memory:b2500000-b2503fff
  *-network DISABLED
       description: Wireless interface
       product: RT3290 Wireless 802.11n 1T/1R PCIe
       vendor: Ralink corp.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlan0
       version: 00
       serial: 00:71:cc:6b:fe:f1
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rt2800pci driverversion=4.4.9-040409-generic firmware=0.37 latency=0 link=no multicast=yes wireless=IEEE 802.11bgn
       resources: irq:17 memory:b2410000-b241ffff
  *-network DISABLED
       description: Ethernet interface
       physical id: 1
       logical name: virbr0-nic
       serial: 52:54:00:e5:13:31
       size: 10Mbit/s
       capabilities: ethernet physical
       configuration: autonegotiation=off broadcast=yes driver=tun driverversion=1.6 duplex=full link=no multicast=yes port=twisted pair speed=10Mbit/s

Sin embargo, rfkill listno está de acuerdo:

# rfkill list
0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

# iwconfig 
virbr0-nic  no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off

virbr0    no wireless extensions.

lo        no wireless extensions.

Aunque no podemos mencionarlo:

# ifconfig wlan0 up
SIOCSIFFLAGS: Input/output error

dmesgmuestra un par de estos errores:

# dmesg
...
[   27.648857] ieee80211 phy0: rt2800_wait_wpdma_ready: Error - WPDMA TX/RX busy [0x00000068]
[   29.248929] ieee80211 phy0: rt2800_wait_wpdma_ready: Error - WPDMA TX/RX busy [0x00000068]
[   29.248936] ieee80211 phy0: rt2800pci_set_device_state: Error - Device failed to enter state 4 (-5)
...

Finalmente, parte de syslogeso me parece relevante:

# cat /var/log/syslog | grep -i wlan
...
May 10 22:09:25 hp350g1 NetworkManager[820]:   [1462910965.2639] devices added (path: /sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0/net/wlan0, iface: wlan0)
May 10 22:09:25 hp350g1 NetworkManager[820]:   [1462910965.2639] device added (path: /sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0/net/wlan0, iface: wlan0): no ifupdown configuration found.
May 10 22:09:25 hp350g1 NetworkManager[820]:   [1462910965.6626] (wlan0): using nl80211 for WiFi device control
May 10 22:09:25 hp350g1 NetworkManager[820]:   [1462910965.6645] device (wlan0): driver supports Access Point (AP) mode
May 10 22:09:25 hp350g1 NetworkManager[820]:   [1462910965.6813] manager: (wlan0): new 802.11 WiFi device (/org/freedesktop/NetworkManager/Devices/0)
May 10 22:09:25 hp350g1 NetworkManager[820]:   [1462910965.6882] device (wlan0): state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
May 10 22:09:25 hp350g1 kernel: [    5.704724] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
May 10 22:09:29 hp350g1 NetworkManager[820]:   [1462910969.0227] device (wlan0): supplicant interface state: init -> starting
May 10 22:09:32 hp350g1 wpa_supplicant[1339]: Could not set interface wlan0 flags (UP): Input/output error
May 10 22:09:32 hp350g1 wpa_supplicant[1339]: nl80211: Could not set interface 'wlan0' UP
May 10 22:09:32 hp350g1 wpa_supplicant[1339]: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
May 10 22:09:35 hp350g1 wpa_supplicant[1339]: Could not set interface wlan0 flags (UP): Input/output error
May 10 22:09:35 hp350g1 wpa_supplicant[1339]: WEXT: Could not set interface 'wlan0' UP
May 10 22:09:35 hp350g1 wpa_supplicant[1339]: wlan0: Failed to initialize driver interface
May 10 22:09:35 hp350g1 NetworkManager[820]:  [1462910975.4904] sup-iface[0x2450570,wlan0]: error adding interface: wpa_supplicant couldn't grab this interface.
May 10 22:09:35 hp350g1 NetworkManager[820]:   [1462910975.4904] device (wlan0): supplicant interface state: starting -> down
May 10 22:09:46 hp350g1 NetworkManager[820]:   [1462910986.0143] device (wlan0): re-acquiring supplicant interface (#1).
May 10 22:09:49 hp350g1 wpa_supplicant[1339]: Could not set interface wlan0 flags (UP): Input/output error
May 10 22:09:49 hp350g1 wpa_supplicant[1339]: nl80211: Could not set interface 'wlan0' UP
May 10 22:09:49 hp350g1 wpa_supplicant[1339]: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
May 10 22:09:52 hp350g1 wpa_supplicant[1339]: Could not set interface wlan0 flags (UP): Input/output error
May 10 22:09:52 hp350g1 wpa_supplicant[1339]: WEXT: Could not set interface 'wlan0' UP
May 10 22:09:52 hp350g1 wpa_supplicant[1339]: wlan0: Failed to initialize driver interface
May 10 22:09:52 hp350g1 NetworkManager[820]:  [1462910992.4485] sup-iface[0x24506d0,wlan0]: error adding interface: wpa_supplicant couldn't grab this interface.

... (after couple more tries)

May 10 22:11:00 hp350g1 NetworkManager[820]: [1462911060.4668] device (wlan0): supplicant interface state: starting -> down May 10 22:11:00 hp350g1 NetworkManager[820]: [1462911060.4669] device (wlan0): supplicant interface keeps failing, giving up

Respuesta1

El controlador rt2800pci necesita descargar el firmware del dispositivo que persiste durante el reinicio. En Ubuntu 16.04, antes de reiniciar, debe ejecutar el siguiente comando:

sudo rmmod rt2800pci

luego reinicie.

Para automatizar la tarea de reinicio, cree un script de shell /etc/init.d/rt3290removedrivercon el siguiente contenido:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          skeleton
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.  This example start a
#                    single forking daemon capable of writing a pid
#                    file.  To get other behavoirs, implemend
#                    do_start(), do_stop() or other functions to
#                    override the defaults in /lib/init/init-d-script.
### END INIT INFO

# /etc/init.d/rt3290removedriver

case "$1" in
   start)
       echo "Removal of driver rt2800pci success" > /home/youruser/rt2800pci.txt
       echo "Power Down" 
   ;;
   stop)
       rmmod rt2800pci
       echo "Removal of driver rt2800pci success" > /home/youruser/rt2800pci.txt
       echo "Power Down"
       exit 1
   ;;
   *)
       rmmod rt2800pci
       echo "Removal of driver rt2800pci success" > /home/youruser/rt2800pci.txt
       echo "Power Down"
       exit 1
   ;;
esac
exit 0

Luego actualice los scripts con el comando

sudo update-rc.d rt3290removedriver defaults

Y ya está. Reemplace su usuario en el script con su nombre de usuario. Probado en un HP Pavilion con Ubuntu 16.04 y tarjeta pci wifi rt3290.

Respuesta2

En caso de que tenga arranque dual con Windows, intente cargar Windows y luego regrese a Ubuntu. Windows tiende a anular la configuración del BIOS en algunas computadoras portátiles.

Tengo ProBook 4540 con el mismo problema y esto lo solucionó.

Sospeché cuando cargué un USB en vivo con Ubuntu 14.04. Recibí el mismo mensaje en el menú del administrador de red que en la versión 16.04 instalada.

Respuesta3

No pude hacerlo funcionar. SOLUCIÓN ENCONTRADA:

http://www.mediafire.com/download/zyfql95clzs24z0/RT3290_u16.tar.gz

sudo ifconfig -a

enumerará todas las interfaces Ethernet disponibles. Ahora active su interfaz WIFI mediante:

sudo ifconfig interface-name up

Autoría del Dr. Imam Hossain

información relacionada