El módulo del Kernel r8169
para las placas de red Realtek
RTL8111/8168/8411 tienen soporte para ASPM (Active State Power
Management), pero el mismo presenta inconvenientes que terminan por
congelar e incluso hasta reiniciar el equipo, por ello es necesario
deshabilitar desde la BIOS la Administración de energía de estado
activo.
Existen 3 maneras posibles de realizar esta tarea:
A. Deshabilitar manualmente desde la BIOS.
B. Deshabilitar desde USB utilizando la Instalación replicada.
C. Deshabilitar desde GNU/Linux utilizando hp-repsetup
.
En breve voy a crear un rol de ansible
para automatizar el
deshabilitar ASPM y también establecer otros ajustes de BIOS desde
AWX garantizando que todos los equipos queden con la misma
configuración.
[A] Deshabilitar ASPM manualmente #
- Ir a menú Avanzado y seleccionar /*Opciones de administración de
encendido*/
-
Deshabilitar Administración de energía PCI Express
-
Volver al menú Principal y seleccionar Guardar cambios y salir
-
Confirmar Guardar los cambios
[B] Deshabilitar ASPM mediante Instalación replicada #
Es posible generar una copia en USB de los ajustes de BIOS de un equipo y luego restaurarlos en otros equipos.
Antes de continuar, deshabilitar ASPM como se indica en el paso [A]
-
Ir a Instalación replicada en menú Principal
-
/*Crear una copia de seguridad de los ajustes actuales en un
dispositivo USB*/
-
Insertar el dispositivo USB con formato FAT32 antes de continuar.
-
Confirmar guardar en USB
La copia de seguridad de los ajustes actuales de BIOS se almacenan en
un archivo HpSetup.txt
(en formato UTF-16) en el dispositivo USB.
- Restaurar los ajustes actuales desde un dispositivo USB
Para restaurar los ajustes desde un dispositivo (previamente guardados), es necesario seleccionar en el menú Principal la opción Instalación Replicada, insertar el dispositivo USB y luego ir a la opción Restaurar los ajustes actuales desde un dispositivo USB.
-
Confirmar restaurar desde dispositivo USB
-
Volver al menú Principal y seleccionar /*Guardar cambios y
salir*/
- Confirmar Guardar los cambios
[C] Deshabilitar ASPM desde GNU/Linux utilizando hp-repsetup
#
HP provee una serie de herramientas de consola para interactuar con la BIOS de los equipos ProDesk 400 G5 Desktop Mini.
Tener en cuenta que estas utilidades son experimentales y sin garantía:
DISCLAIMER OF WARRANTY
The following software: 'hp-flash' and 'hp-repsetup' are experimental
and is provided as a courtesy, free of charge, "AS-IS" by HP Development Company, L.P.
HP shall have no obligation to maintain or support this software.
HP MAKES NO EXPRESS OR IMPLIED WARRANTY OF ANY KIND REGARDING THIS
SOFTWARE INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT. HP SHALL NOT BE LIABLE
FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
WHETHER BASED ON CONTRACT, TORT OR ANY OTHER LEGAL THEORY, IN CONNECTION
WITH OR ARISING OUT OF THE FURNISHING, PERFORMANCE OR USE OF THIS SOFTWARE.
Descargar sp111455.tgz
#
En el FTP público de HP estan disponibles las tools necesarias en
sp111455.tgz
1wget https://ftp.hp.com/pub/softpaq/sp111001-111500/sp111455.tgz
2
Descomprimir sp111455.tgz
#
1tar xvf sp111455.tgz
2
3-rwxrwxrwx 0/0 172890 2020-08-07 16:00 docs/HP Linux Tools Readme.pdf
4-rwxrwxrwx 0/0 117825 2020-08-07 16:00 docs/HP Linux Tools Readme.rtf
5-rwxrwxrwx 0/0 12913 2020-08-07 16:00 docs/HP Linux Tools Readme.txt
6-rwxrwxrwx 0/0 130077 2020-08-07 16:00 non-rpms/hp-flash-3.21_x86_64.tgz
7-rwxrwxrwx 0/0 12828 2020-08-07 16:00 non-rpms/hpuefi-mod-3.03.tgz
8-rwxrwxrwx 0/0 2404 2020-08-07 16:00 README.txt
9-rwxrwxrwx 0/0 19964 2020-08-07 16:00 rpms/hp-flash-3.21-1.rh610.x86_64.rpm
10-rwxrwxrwx 0/0 19956 2020-08-07 16:00 rpms/hp-flash-3.21-1.rh70.x86_64.rpm
11-rwxrwxrwx 0/0 21181 2020-08-07 16:00 rpms/hp-flash-3.21-1.rh80.x86_64.rpm
12-rwxrwxrwx 0/0 20605 2020-08-07 16:00 rpms/hp-flash-3.21-1.sled12.x86_64.rpm
13-rwxrwxrwx 0/0 20793 2020-08-07 16:00 rpms/hp-flash-3.21-1.sled15.x86_64.rpm
14-rwxrwxrwx 0/0 17336 2020-08-07 16:00 rpms/hpuefi-mod-3.03-1.src.rpm
15
Descomprimir hpuefi-mod-3.03.tgz
#
1tar xvzf hpuefi-mod-3.03.tgz
2
3drwxr-xr-x user/user 0 2020-08-07 20:04 hpuefi-mod-3.03/
4-rw-r--r-- user/user 1756 2020-08-07 15:00 hpuefi-mod-3.03/README
5-rw-r--r-- user/user 75 2020-08-07 15:00 hpuefi-mod-3.03/mkdevhpuefi
6-rw-r--r-- user/user 18092 2020-08-07 15:00 hpuefi-mod-3.03/COPYING
7-rw-r--r-- user/user 22466 2020-08-07 15:00 hpuefi-mod-3.03/hpuefi.c
8-rw-r--r-- user/user 445 2020-08-07 20:04 hpuefi-mod-3.03/Makefile
9-rw-r--r-- user/user 1800 2020-08-07 15:00 hpuefi-mod-3.03/hpuefi.h
10
Descomprimir hp-flash-3.21_x86_64.tgz
#
1cd non-rpms
2
3tar xvf hp-flash-3.21_x86_64.tgz
4
5drwxr-xr-x user/user 0 2020-08-17 15:00 hp-flash-3.21_x86_64/
6drwxrwxr-x user/user 0 2020-08-17 15:00 hp-flash-3.21_x86_64/docs/
7-rw-r--r-- user/user 5973 2020-08-17 15:00 hp-flash-3.21_x86_64/docs/hp-flash-README
8-rw-r--r-- user/user 7139 2020-08-17 15:00 hp-flash-3.21_x86_64/docs/hp-repsetup-README
9drwxrwxr-x user/user 0 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/
10-rwxrwxr-x user/user 32336 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-repsetup.u2004
11-rwxrwxr-x user/user 32520 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-flash.u2004
12-rwxr-xr-x user/user 28327 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-repsetup.sled12
13-rwxrwxr-x user/user 26800 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-repsetup.rh80
14-rwxrwxr-x user/user 28040 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-repsetup.u1804
15-rwxrwxr-x user/user 23717 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-flash.rh610
16-rwxrwxr-x user/user 24335 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-repsetup.rh70
17-rwxrwxr-x user/user 24384 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-repsetup.u1604
18-rwxrwxr-x user/user 24712 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-flash.u1604
19-rwxr-xr-x user/user 32752 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-flash.sled12
20-rwxrwxr-x user/user 31224 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-flash.rh80
21-rwxr-xr-x user/user 28112 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-repsetup.sled15
22-rwxr-xr-x user/user 3189 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/test-distro.sh
23-rwxrwxr-x user/user 24680 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-flash.rh70
24-rwxr-xr-x user/user 32512 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-flash.sled15
25-rwxrwxr-x user/user 23388 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-repsetup.rh610
26-rwxrwxr-x user/user 28224 2020-08-17 15:00 hp-flash-3.21_x86_64/builds/hp-flash.u1804
27-rwxr-xr-x user/user 807 2020-08-17 15:00 hp-flash-3.21_x86_64/install.sh
28-rwxr-xr-x user/user 1674 2020-08-17 15:00 hp-flash-3.21_x86_64/hp-flash
29drwxrwxr-x user/user 0 2020-08-17 15:00 hp-flash-3.21_x86_64/bin/
30-rwxr-xr-x user/user 1677 2020-08-17 15:00 hp-flash-3.21_x86_64/hp-repsetup
31
Compilar e instalar módulo de kernel hpuefi
#
Es necesario contar con los headers
del kernel actual y las
herramientas básicas de compilación
1apt install build-essential
2
3apt install linux-headers-$(uname -r)
4
5cd non-rpms/hpuefi-mod-3.03
6
7make
8
9make -C /lib/modules/4.15.0-106-generic/build M=/home/ansible/non-rpms/hpuefi-mod-3.03 modules
10make[1]: se entra en el directorio '/usr/src/linux-headers-4.15.0-106-generic'
11CC [M] /home/ansible/non-rpms/hpuefi-mod-3.03/hpuefi.o
12Building modules, stage 2.
13MODPOST 1 modules
14CC /home/ansible/non-rpms/hpuefi-mod-3.03/hpuefi.mod.o
15LD [M] /home/ansible/non-rpms/hpuefi-mod-3.03/hpuefi.ko
16make[1]: se sale del directorio '/usr/src/linux-headers-4.15.0-106-generic'
17
18make install
19
20install -D -m 0644 hpuefi.ko /lib/modules/4.15.0-106-generic/kernel/drivers/hpuefi/hpuefi.ko
21depmod
22install -D -m 0744 mkdevhpuefi /lib/modules/4.15.0-106-generic/kernel/drivers/hpuefi
23
24modprobe hpuefi
25
26lsmod | grep hpuefi
27
28hpuefi 16384 0
29
30chmod +x mkdevhpuefi
31
32./mkdevhpuefi
33
34ls -l /dev/hpuefi
35
36crw-r--r-- 1 root root 240, 0 sep 7 10:55 /dev/hpuefi
37
Obtener ajustes BIOS y verificar estado ASPM #
1cd non-rpms/hp-flash-3.21_x86_64/builds
2
3./hp-repsetup.u1804 -a -g | grep -A2 'PCI Express Power Management'
4
5PCI Express Power Management
6*Disable
7Enable
8
Obtener ajustes BIOS en archivo HPSETUP.TXT
#
1./hp-repsetup.u1804 -g
2
3ls -lht HPSETUP.TXT
4
5-rw-r--r-- 1 root root 20K sep 7 11:03 HPSETUP.TXT
6
Establecer ajustes BIOS desde archivo HPSETUP.TXT
#
Para utilizar hp-repsetup
para establecer valores desde un archivo, es
conveniente ajustar los valores de la BIOS manualmente y luego
obtenerlos usando hp-repsetup
.
Al establecer los valores de BIOS desde un archivo HPSETUP.TXT
se
informarán con Access Denied los ajustes que no estan permitidos
cambiar y que son propios de cada equipo:
1./hp-repsetup.u1804 -s HPSETUP.TXT
2
3HP Replicated Setup Utility for Linux v3.21, 08/07/2020
4(c) Copyright 2020 HP Development Company, L.P.
5
6Errors were encountered when programming the following settings:
7Secure Erase Hard Disk Serial Number(Access Denied)
8Secure Erase Hard Disk Model Number(Access Denied)
9Secure Erase Completion Date(Access Denied)
10Secure Erase Completion Status(Access Denied)
11Feature Byte(Access Denied)
12Build ID(Access Denied)
13Remote HP PC Hardware Diagnostics Last Execution Time Stamp(Access Denied)
14Product Name(Access Denied)
15Serial Number(Access Denied)
16SKU Number(Access Denied)
17Universally Unique Identifier (UUID)(Access Denied)
18UUID (standard format)(Access Denied)
19System Board CT Number(Access Denied)
20Product Family(Access Denied)
21HP_Disk0MapForUefiBootOrder(Access Denied)
22Memory Size(Access Denied)
23System BIOS Version(Access Denied)
24BIOS Build Version(Access Denied)
25ME Firmware Version(Access Denied)
26ME Firmware Mode(Access Denied)
27Audio Controller(Access Denied)
28Video BIOS Version(Access Denied)
29Reference Code Revision(Access Denied)
30Super I/O Firmware Version(Access Denied)
31Born On Date(Access Denied)
32System Board ID(Access Denied)
33
Para que se apliquen los cambios es necesario reiniciar:
1reboot
2
Identificar placa de red utilizando lspci
#
lspci | grep Realtek
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
Verificar estado de ASPM utilizando lspci
#
En caso de estar deshabilitado se muestra ASPM L1 Enabled
:
1lspci -vv -s 02:00.0 | grep 'LnkCtl: ASPM'
2
3LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
4
En caso de estar deshabilitado se muestra ASPM Disabled
:
1lspci -vv -s 02:00.0 | grep 'LnkCtl: ASPM'
2LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ChangeLog #
2021-10-14 05:54
agregar Deshabilitar ASPM en BIOS ProDesk 400 G5 Desktop Mini desde GNU/Linux utilizandohp-repsetup