Expediente X con Wi-Fi en Debian

Veréis, estoy probando diversas distribuciones de Linux para instalar en mi portátil. El proceso que sigo es el siguiente:

1. Paso la iso LiveCD/Install de la distro a USB (con Universal USB Installer)
2. La pruebo, trasteo.
3. La instalo (en otro USB)

El problema viene a partir de que siendo Debian la que más me agrada es en la que no puedo hacer funcionar el Wi-Fi. De momento con Fedora y CentOS (y Windows 10) el Wi-Fi va perfecto, pero en Debian, a pesar de conectarse al router, coger IP, DNS, todo bien, luego no es capaz ni de hacer un PING al router ni otros equipos de la red (a sí mismo, en la IP proporcionada por el router, sí responde al PING). Esto ocurre ya en la misma instalación, donde lo testeo abriendo una consola después de configurar el Wi-Fi y haciendo PING.

Por ethernet todo va perfecto, así que no entiendo nada :-?

El portátil es un Packard Bell TM85 y monta una tarjeta Wi-Fi de Realtek, RTL8192SE, el firmware lo pongo en forma de paquete .deb en el USB, aunque si lo instalo después de instalar el sistema operativo mediante repositorio tampoco funciona.

¿Alguna idea?

Edito para comentar que he probado Xubuntu y coge el Wi-Fi perfectamente.
Otra edición, Debian Testing sí coge bien el Wi-Fi [hallow]
Podría ser porque en las otras distros usan un driver distinto o el mismo pero en una versión corregida o más actualizada, por la versión del kernel que tienen o algo.
De todas formas yo probaría a compilar el driver en ese Debian en el que no te iba bien, normalmente los pasos son sencillos: extraer el driver en una carpeta, entrar con la consola y hacer el configure, make y después sudo make install, si el configure falla se puede buscar en el repositorio el paquete que contenga lo que te falta, instalarlo y hacer el proceso de nuevo.

Aquí se puede descargar el driver desde la página oficial: http://www.realtek.com/downloads/downlo ... #RTL8192SE
remyeol escribió:Veréis, estoy probando diversas distribuciones de Linux para instalar en mi portátil. El proceso que sigo es el siguiente:

1. Paso la iso LiveCD/Install de la distro a USB (con Universal USB Installer)
2. La pruebo, trasteo.
3. La instalo (en otro USB)

El problema viene a partir de que siendo Debian la que más me agrada es en la que no puedo hacer funcionar el Wi-Fi. De momento con Fedora y CentOS (y Windows 10) el Wi-Fi va perfecto, pero en Debian, a pesar de conectarse al router, coger IP, DNS, todo bien, luego no es capaz ni de hacer un PING al router ni otros equipos de la red (a sí mismo, en la IP proporcionada por el router, sí responde al PING). Esto ocurre ya en la misma instalación, donde lo testeo abriendo una consola después de configurar el Wi-Fi y haciendo PING.

Por ethernet todo va perfecto, así que no entiendo nada :-?

El portátil es un Packard Bell TM85 y monta una tarjeta Wi-Fi de Realtek, RTL8192SE, el firmware lo pongo en forma de paquete .deb en el USB, aunque si lo instalo después de instalar el sistema operativo mediante repositorio tampoco funciona.

¿Alguna idea?

Edito para comentar que he probado Xubuntu y coge el Wi-Fi perfectamente.
Otra edición, Debian Testing sí coge bien el Wi-Fi [hallow]

Si en testing funciona, has actualizado el debian stable bien?
Hola, gracias por responder.

Aaron89 escribió:Podría ser porque en las otras distros usan un driver distinto o el mismo pero en una versión corregida o más actualizada, por la versión del kernel que tienen o algo.
De todas formas yo probaría a compilar el driver en ese Debian en el que no te iba bien, normalmente los pasos son sencillos: extraer el driver en una carpeta, entrar con la consola y hacer el configure, make y después sudo make install, si el configure falla se puede buscar en el repositorio el paquete que contenga lo que te falta, instalarlo y hacer el proceso de nuevo.

Aquí se puede descargar el driver desde la página oficial: http://www.realtek.com/downloads/downlo ... #RTL8192SE


He descargado el driver y probaré a instalarlo de esa manera. No tengo mucha fe porque el .bin para mi tarjeta Wi-Fi es exactamente el mismo que el que tiene Debian. Pero quizá cambie algo al instalarlo.

lovechii5 escribió:Si en testing funciona, has actualizado el debian stable bien?


Solo estaba probando hasta ahora con instalaciones limpias, el portátil tiene 4 o 5 años ya y los problemas con su Wi-Fi (según un hilo de 2012 que leí por ahí) se solucionaban actualizando al kernel de aquella época. Voy a probar actualizando todo.

Un saludo y gracias a los dos.
remyeol escribió:Hola, gracias por responder.

Aaron89 escribió:Podría ser porque en las otras distros usan un driver distinto o el mismo pero en una versión corregida o más actualizada, por la versión del kernel que tienen o algo.
De todas formas yo probaría a compilar el driver en ese Debian en el que no te iba bien, normalmente los pasos son sencillos: extraer el driver en una carpeta, entrar con la consola y hacer el configure, make y después sudo make install, si el configure falla se puede buscar en el repositorio el paquete que contenga lo que te falta, instalarlo y hacer el proceso de nuevo.

Aquí se puede descargar el driver desde la página oficial: http://www.realtek.com/downloads/downlo ... #RTL8192SE


He descargado el driver y probaré a instalarlo de esa manera. No tengo mucha fe porque el .bin para mi tarjeta Wi-Fi es exactamente el mismo que el que tiene Debian. Pero quizá cambie algo al instalarlo.

lovechii5 escribió:Si en testing funciona, has actualizado el debian stable bien?


Solo estaba probando hasta ahora con instalaciones limpias, el portátil tiene 4 o 5 años ya y los problemas con su Wi-Fi (según un hilo de 2012 que leí por ahí) se solucionaban actualizando al kernel de aquella época. Voy a probar actualizando todo.

Un saludo y gracias a los dos.

Tiene pinta que si actualizas deberia funcionar. Sino igualmente, testing suele estar ser más indicado para ordenadores de escritorio.
Hola de nuevo.

lovechii5 escribió:Tiene pinta que si actualizas deberia funcionar. Sino igualmente, testing suele estar ser más indicado para ordenadores de escritorio.


He actualizado y sigo igual, los repositorios que tengo puestos son los típicos, main, updates, contrib, non-free. Creo que Debian me trolea. También instalé el firmware de ATI y uno llamado "tg3" porque saltaba un aviso diciendo que faltaba (he leído que es de la tarjeta de red, pero no ha cambiado nada).

@Aaron89

He probado a compilar el driver pero me salen errores:

root@debian-usb3:/tmp/rtl_92se# make
make -C /lib/modules/3.16.0-4-amd64/build M=/tmp/rtl_92se modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-4-amd64'
  CC [M]  /tmp/rtl_92se/base.o
/tmp/rtl_92se/base.c: In function ‘_rtl_init_mac80211’:
/tmp/rtl_92se/base.c:319:6: error: ‘IEEE80211_HW_BEACON_FILTER’ undeclared (first use in this function)
      IEEE80211_HW_BEACON_FILTER |
      ^
/tmp/rtl_92se/base.c:319:6: note: each undeclared identifier is reported only once for each function it appears in
/tmp/rtl_92se/base.c:349:4: error: ‘struct ieee80211_hw’ has no member named ‘channel_change_time’
  hw->channel_change_time = 100;
    ^
/tmp/rtl_92se/base.c: In function ‘rtl_action_proc’:
/tmp/rtl_92se/base.c:858:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
       rx_status.freq = hw->conf.channel->center_freq;
                                ^
/tmp/rtl_92se/base.c:859:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
       rx_status.band = hw->conf.channel->band;
                                ^
/tmp/rtl_92se/base.c:861:25: error: ‘RX_FLAG_MACTIME_MPDU’ undeclared (first use in this function)
       rx_status.flag |= RX_FLAG_MACTIME_MPDU;
                         ^
/tmp/rtl_92se/base.c: In function ‘rtl_beacon_statistic’:
/tmp/rtl_92se/base.c:1132:2: error: implicit declaration of function ‘compare_ether_addr’ [-Werror=implicit-function-declaration]
  if (compare_ether_addr(hdr->addr3, rtlpriv->mac80211.bssid))
  ^
/tmp/rtl_92se/base.c: In function ‘rtl_send_smps_action’:
/tmp/rtl_92se/base.c:1414:16: error: ‘struct <anonymous>’ has no member named ‘sta’
   info->control.sta = sta;
                ^
/tmp/rtl_92se/base.c:1415:24: error: ‘struct ieee80211_conf’ has no member named ‘channel’
   info->band = hw->conf.channel->band;
                        ^
cc1: some warnings being treated as errors
/usr/src/linux-headers-3.16.0-4-common/scripts/Makefile.build:262: recipe for target '/tmp/rtl_92se/base.o' failed
make[4]: *** [/tmp/rtl_92se/base.o] Error 1
/usr/src/linux-headers-3.16.0-4-common/Makefile:1352: recipe for target '_module_/tmp/rtl_92se' failed
make[3]: *** [_module_/tmp/rtl_92se] Error 2
Makefile:181: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64'
Makefile:27: recipe for target 'all' failed
make: *** [all] Error 2


Estoy verde para entender qué y por qué falla completamente.

Pongo más datos por si sirve de algo:

root@debian-usb3:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 88:ae:1d:5e:ad:2a 
          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)
          Interrupt:16

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:57 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5365 (5.2 KiB)  TX bytes:5365 (5.2 KiB)

wlan0     Link encap:Ethernet  HWaddr 70:f1:a1:88:ec:bc 
          inet addr:192.168.1.8  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::72f1:a1ff:fe88:ecbc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1116 errors:0 dropped:0 overruns:0 frame:0
          TX packets:119 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:94122 (91.9 KiB)  TX bytes:16818 (16.4 KiB)

root@debian-usb3:/# uname -r
3.16.0-4-amd64
root@debian-usb3:/# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    1024   0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0


Ese "1Mb/s" en la configuración del NetworkManager me mosquea, es como si el Wi-Fi estuviese "sordo". Pero por ethernet va perfecto.

Adjuntos

No compiles el driver, es una perdida de tiempo. Luego, cada vez que cambies el kernel, deberás volverlo a compilar si no tiene opción de dkms.

Yo tiraria de testing, que seguramente será lo que mas se adapte al uso que le des.
El problema de Testing, que creo que olvidé comentar, es que me da error la instalación al "Seleccionar paquetes". Haré más pruebas a ver si lo consigo, pero algo me dice que el problema del Wi-Fi es una chorrada.

De todas formas, muchas gracias por la ayuda.
Al parecer el problema esta en el kernel, agrega los backports a tu repositorio para que puedas instalar un kernel mas reciente.

Saludos.
Bueno, tras cargarme ayer el sistema al tratar de pasar de Jessie a Testing, después de no saber bien cómo actualizar con los backports, hoy he instalado el sistema de 0, versión Testing, y todo funciona bien (o eso creo). Viendo como va el sistema instalado en un USB 2.0 con un acceso aleatorio penoso (bastante bien la verdad), cuando lo ponga en el SSD va a ser digno de ver.

Me quedará por afinar el tema de la gestión de la energía cuando el portátil utilice la batería y la aceleración gráfica, que no sé muy bien cómo comprobar que funciona.

Un saludo y gracias por la ayuda.
9 respuestas