Re: actualizar kernel para problema con wifi
El 8/3/22 a las 15:12, Jhosue rui escribió:
El jue, 24 feb 2022 a las 23:04, Daniel
(<aydanieldaniel@yahoo.com.ar>) escribió:
Hola. Consulta bastante de novato, disculpas por eso (uso consola pero
me suelo manejar mas en GUI).
Tengo una Notebook Lenovo "ThinkPad L15 Gen 2" con i5-1135G7. Instalado
Debian 11, kernel 5.10.0.11-amd64, KDE Plasma 5.20.5. Por ahora
instalación básica, sólo agregado Synaptic y poco más.
Pude hacer funcionar casi todo, pero no el WiFi (MediaTek Wi-Fi 6 MT7921).
Tengo instalado el paquete de Firmware non-free. Busqué en web por
varios lados y por lo que encuentro aparentemente el problema está en la
versión del kernel que todavía no contiene controlador para este hard.
En configuración de redes aparece (pero inútil) la opción de agregar
coexión Wifi (me pide SSID y etc.) Entiendo que no puede manejar el
dispositivo y/o lo reconoce parcialmente.
En información de dispositivos USD indica:
Wireless_Device: Fabricante: MediaTec Inc.
Clase 239 (Mescellaneous Device)
Subclase 2 (?)
Protocolo 0
Versión USB 2.10
ID del fabricante 0x489 (Foxconn/Hon Hai)
ID del producto 0xe0cd
Revisión 0
Velocidad 480 Mbits/s
Canales 0
Tamaño máximo de paquete 64
El equipo conecta perfecto cableado a Rj45.
La pregunta es: ¿es factible y aconsejable actualizar el kernel
(solamente) a una versión posterior para solucionar el problema como
encontré recomendado por allí?
y en ese caso: ¿un procedimiento adecuado seguro sería agregar el
repositorio "testing" y actualizar el kernel al disponible en Synaptic?
Bueno, desde ya gracias y disculpen la molestia.
Daniel
Saludos, hace poco enfrenté un problema similar con una portátil dell
con procesador de 11av generacion cuya tarjeta de sonido no estaba
soportada por el kernel 5.10, la solución fue utilizar el kernel 5.15
de los backports de bullseye, pero tuve que compilar el modulo "in
tree" de la tarjeta ya que si estaba en el kernel, pero no estaba
incluido dentro de la configuración original del kernel compilado.
Consulta cual es el procedimiento para compilar un módulo "in tree" en
la documentación oficial. Por otra parte, para saber qué módulo me
faltaba, arranqué la máquina con un live CD de ubuntu, que si
reconoció la tarjeta, tomo nota del módulo necesario y a compilar.
Como nota al margen, tendrás que desactivar el secure boot porque tu
módulo no estará firmado y por lo tanto el kernel se rehusará a
cargarlo a menos que desactives el secure boot.
Suerte
Hola Jhosue. Muchísimas gracias por tu recomendación. Por temas de
trabajo-tiempo, no intentaré ahora hacer andar la placa MediaTec
incorporada pero volveré seguramente a esa batalla en cuanto pueda.
Para salir del paso tengo ahora un económico pen wifi usb "Nisuta
NS-WIU300N" (chip "Realtek 8192EU"). En teoría compatible con Linux pero
por el momento se resiste. Por suerte no necesito movilizarme con
conectividad así que uso el cable de red.
El pen viene con su driver y también ofrecen alternativas en web pero no
para la versión de kernel actual sino 4.... y 3... Traté de compilarlo
pero da errores.
Si (a diferencia de la placa Mediatek) el pen es reconocido por la
máquina e incluso detecta y muestra las redes wifi de la zona, pero no
logro que se conecte.
Por si puede ser simple (probé varias cosas encontradas en web pero tal
vez no la adecuada) y alguien anda en problemas similares copio un par
de datos aquí al final, pero vuelvo a comentar: no es urgente, ya
funcionará.
Abrazos y ultra vez gracias.
Copio:
Segmento de la respuesta de "lsusb -tv":
|__ Port 9: Dev 6, If 0, Class=Vendor Specific Class,
Driver=rtl8xxxu, 480M
ID 0bda:818b Realtek Semiconductor Corp. RTL8192EU 802.11b/g/n
WLAN Adapter
|__ Port 10: Dev 5, If 2, Class=Wireless, Driver=, 480M
ID 0489:e0cd Foxconn / Hon Hai
Semento final (con errores) de compilar mediante el install.sh provisto:
In file included from
/home/daniel/Temp01/delDVD_penNisuta/Linux/RTL81888192EUS_linux_v4.3.0.4_11485.20140519/driver/rtl8188EUS_linux_v4.3.0.4_11485.20140519/include/osdep_service.h:41,
from
/home/daniel/Temp01/delDVD_penNisuta/Linux/RTL81888192EUS_linux_v4.3.0.4_11485.20140519/driver/rtl8188EUS_linux_v4.3.0.4_11485.20140519/include/drv_types.h:32,
from
/home/daniel/Temp01/delDVD_penNisuta/Linux/RTL81888192EUS_linux_v4.3.0.4_11485.20140519/driver/rtl8188EUS_linux_v4.3.0.4_11485.20140519/core/rtw_cmd.c:22:
/home/daniel/Temp01/delDVD_penNisuta/Linux/RTL81888192EUS_linux_v4.3.0.4_11485.20140519/driver/rtl8188EUS_linux_v4.3.0.4_11485.20140519/include/osdep_service_linux.h:
In function ‘_init_timer’:
/home/daniel/Temp01/delDVD_penNisuta/Linux/RTL81888192EUS_linux_v4.3.0.4_11485.20140519/driver/rtl8188EUS_linux_v4.3.0.4_11485.20140519/include/osdep_service_linux.h:253:8:
error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’
253 | ptimer->data = (unsigned long)cntx;
| ^~
/home/daniel/Temp01/delDVD_penNisuta/Linux/RTL81888192EUS_linux_v4.3.0.4_11485.20140519/driver/rtl8188EUS_linux_v4.3.0.4_11485.20140519/include/osdep_service_linux.h:254:2:
error: implicit declaration of function ‘init_timer’; did you mean
‘_init_timer’? [-Werror=implicit-function-declaration]
254 | init_timer(ptimer);
| ^~~~~~~~~~
| _init_timer
cc1: some warnings being treated as errors
make[3]: ***
[/usr/src/linux-headers-5.10.0-11-common/scripts/Makefile.build:285:
/home/daniel/Temp01/delDVD_penNisuta/Linux/RTL81888192EUS_linux_v4.3.0.4_11485.20140519/driver/rtl8188EUS_linux_v4.3.0.4_11485.20140519/core/rtw_cmd.o]
Error 1
make[2]: *** [/usr/src/linux-headers-5.10.0-11-common/Makefile:1846:
/home/daniel/Temp01/delDVD_penNisuta/Linux/RTL81888192EUS_linux_v4.3.0.4_11485.20140519/driver/rtl8188EUS_linux_v4.3.0.4_11485.20140519]
Error 2
make[1]: *** [/usr/src/linux-headers-5.10.0-11-common/Makefile:185:
__sub-make] Error 2
make[1]: se sale del directorio '/usr/src/linux-headers-5.10.0-11-amd64'
make: *** [Makefile:1318: modules] Error 2
##################################################
Compile make driver error: 2
Please check error Mesg
##################################################
----------------
Y este es el "install.sh" usado, que viene con el pen wifi bajo el
rótulo "RTL81888192EUS_linux_v4.3.0.4_11485.20140519" (por eso creo que
no se corresponde, tengo el kernel 5.10.0-11-amd64 y el chip del pen es
RealTec 8192EU)
#!/bin/bash
# Auto install for 8192cu
# September, 1 2010 v1.0.0, willisTang
#
# Add make_drv to select chip type
# Novembor, 21 2011 v1.1.0, Jeff Hung
################################################################################
echo "##################################################"
echo "Realtek Wi-Fi driver Auto installation script"
echo "Novembor, 21 2011 v1.1.0"
echo "##################################################"
################################################################################
# Decompress the driver source tal ball
################################################################################
cd driver
Drvfoulder=`ls |grep .tar.gz`
echo "Decompress the driver source tar ball:"
echo " "$Drvfoulder
tar zxvf $Drvfoulder
Drvfoulder=`ls |grep -iv '.tar.gz'`
echo "$Drvfoulder"
cd $Drvfoulder
################################################################################
# If makd_drv exixt, execute it to select chip type
################################################################################
if [ -e ./make_drv ]; then
./make_drv
fi
################################################################################
# make clean
################################################################################
echo "Authentication requested [root] for make clean:"
if [ "`uname -r |grep fc`" == " " ]; then
sudo su -c "make clean"; Error=$?
else
su -c "make clean"; Error=$?
fi
################################################################################
# Compile the driver
################################################################################
echo "Authentication requested [root] for make driver:"
if [ "`uname -r |grep fc`" == " " ]; then
sudo su -c make; Error=$?
else
su -c make; Error=$?
fi
################################################################################
# Check whether or not the driver compilation is done
################################################################################
module=`ls |grep -i 'ko'`
echo "##################################################"
if [ "$Error" != 0 ];then
echo "Compile make driver error: $Error"
echo "Please check error Mesg"
echo "##################################################"
exit
else
echo "Compile make driver ok!!"
echo "##################################################"
fi
if [ "`uname -r |grep fc`" == " " ]; then
echo "Authentication requested [root] for remove driver:"
sudo su -c "rmmod $module"
echo "Authentication requested [root] for insert driver:"
sudo su -c "insmod $module"
echo "Authentication requested [root] for install driver:"
sudo su -c "make install"
else
echo "Authentication requested [root] for remove driver:"
su -c "rmmod $module"
echo "Authentication requested [root] for insert driver:"
su -c "insmod $module"
echo "Authentication requested [root] for install driver:"
su -c "make install"
fi
Reply to: