Kabosu - Creando cosas
Publicado: 2024-07-14 (actualizado 2024-08-02)
Etiquetas: Linux
Al parecer, cuando instalas Ubuntu y detecta que el dispositivo es un portátil, activa una opción de ahorror de energía para el wifi llamada Power Management que sirve para aumentar la duración de la batería pero a cambio hace más lentas las conexiones entrantes. El ping puede pasar de 5ms sin power management a más de 300 con la opción activada. Esto es un problema si usamos un portátil como servidor o tenemos un miniordenador, como Slimbook Zero en mi caso, que Ubuntu confunde con un portátil.
Es tan sencillo cómo ejecutar el comando iwconfig
que muestra información sobre el wifi. Debería aparecer una línea que ponga Power Management=on/off
En mi portátil Ubuntu tengo:
wlp8s0 IEEE 802.11 ESSID:"red_wifi"
Mode:Managed Frequency:5.22 GHz Access Point: 01:02:03:04:05:06
Bit Rate=433.3 Mb/s Tx-Power=14 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=70/70 Signal level=-38 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
El mismo comando iwconfig
permite desactivar el modo de ahorro de energía. Solo hay que conocer el nombre del dispositivo wifi que tenemos. En mi caso, como se ve en la sección anterior, es wlp8s0
. Ojo que hay que usar sudo
esta vez.
sudo iwconfig wlp8s0 power off
Tras ejecutar este comando, podemos consultar la configuración del wifi con iwconfig
y debería aparecer
Power Management:off
Esta solución está bien para salir del paso si vas a hospedar un servidor durante un rato pero la opción de power management se volverá a activar la próxima vez que cambies de wifi o reinicies el ordenador.
Para que el modo de ahorro de energía esté siempre desactivado tenemos que indicárselo al Network Manager. Yo lo he hecho editando sus ficheros de configuración. Desconozco si se puede conseguir lo mismo con alguna interfaz gráfica.
El fichero que hay que modificar es /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
cuyo nombre ya da pistas de que incluye la configuración de ahorro de energía del wifi.
En mi portátil el fichero tiene únicamente dos líneas:
[connection]
wifi.powersave = 3
Según la documentación de Network Manager, los posibles valores son:
NM_SETTING_WIRELESS_POWERSAVE_DEFAULT
(0): use the default valueNM_SETTING_WIRELESS_POWERSAVE_IGNORE
(1): don't touch existing settingNM_SETTING_WIRELESS_POWERSAVE_DISABLE
(2): disable powersaveNM_SETTING_WIRELESS_POWERSAVE_ENABLE
(3): enable powersave.El valor 3
indica que el Power Management está activado y es el que pone Ubuntu cuando cree que está instalado en un portátil. Para desactivarlo hay que poner 2 en su lugar.