Este es el comando fwts que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
fwts: un conjunto de pruebas de firmware para identificar errores de firmware.
SINOPSIS
fwts [opciones] [prueba (s)]
DESCRIPCIÓN
Esta página de manual documenta brevemente la fwts suite de prueba de firmware. La herramienta fwts is
compuesto por más de cincuenta pruebas que están diseñadas para examinar y probar diferentes aspectos de
Firmware de PC. Muchas de estas pruebas necesitan acceso de superusuario para extraer tablas e interactuar
con el firmware y ACPI, por lo que se ejecuta fwts Se requiere usar sudo.
Correr fwts sin opciones, se ejecutarán todas las pruebas por lotes que no requieren usuario
Interacción. Sin embargo, uno puede seleccionar solo pruebas específicas para ejecutar si es necesario.
Por defecto fwts envía los resultados de la prueba al archivo de registro resultados.log sin embargo una diferente
El nombre del archivo de registro se puede especificar y, si es necesario, la salida a stderr o stdout se puede
seleccionado.
Tenga en cuenta que existe una variedad de pruebas, incluidas las pruebas que potencialmente pueden colgar una máquina
(como suspender / hibernar / reanudar).
OPCIONES
Las opciones de fwts son las siguientes:
- salida de resultados a stdout.
--acpica
habilitar las opciones del modo de ejecución ACPICA. Estos se pueden especificar separados por comas
lista de una o más opciones. Las opciones disponibles son: serializado (serializado
ejecución de AML), holgura (ejecutar en modo menos pedeante), ignorar errores (ignorar ACPICA
errores de excepción), deshabilitar la reparación automática (deshabilitar ACPICA para que no se solucione automáticamente
controles ACPICA rotos). Tenga en cuenta que el modo de holgura activará retornos implícitos de
cero en los métodos de control para intentar permitir que AML con errores funcione en aplicaciones que no sean de Windows
.
--acpica-depuración
habilite los mensajes de error y advertencia de depuración de ACPICA al invocar el subsistema ACPICA.
Esto es principalmente para que los desarrolladores de fwts ayuden a rastrear cualquier problema de interfaz ACPICA
con fwts.
--acpicumplimiento
ejecutar solo aquellas pruebas que verifican específicamente el cumplimiento de la ACPI
especificaciones. Este puede ser un subconjunto de las pruebas de ACPI.
-a --todas
ejecutar todas las pruebas.
--arch = nombre
especificar la arquitectura de destino cuyo firmware se está probando. Esto permite fwts
para ejecutarse en una arquitectura (el host) pero realizar pruebas para una diferente
arquitectura (el objetivo). Las cadenas de arquitectura conocidas son: x86, x86_32 o x86_64
para Intel; ia64 para Itanium; arm64 o aarch64 para ARMv8. A menos que esta opción sea
especificado, se supone que el destino es el mismo que el host.
-B, --lote
ejecutar las pruebas por lotes no interactivas. Las pruebas por lotes no requieren la interacción del usuario.
- experimental por lotes
ejecutar solo pruebas experimentales por lotes.
--desmontar-aml
desensamblar el código de bytes AML (lenguaje de máquina ACPI). Esto intenta desmontar AML
en las tablas DSDT y SSDT y genera fuentes DSDT.dsl y SSDTx.dsl.
-D, --vertedero
extrae los datos del firmware y los vuelca en archivos de registro. Esto genera:
acpidump.log: contiene un volcado hexadecimal de las tablas ACPI (que se puede leer usando
extracto de acpix).
dmesg.log: contiene los mensajes de registro del kernel actuales.
dmidecode.log: contiene la salida de dmidecode.
lspci.log: contiene la salida de lspci -vv -nn
cpuinfo.log: contiene la salida de cat. / proc / cpuinfo
README.txt: contiene una marca de tiempo y la información de la versión del kernel.
--dumpfile = acpidump.log
cargue tablas ACPI desde la salida generada desde acpidump o desde sudo fwts --dump. los
Se prefiere este último ya que fwts --dump puede volcar más tablas que acpidump. Esta
permite volcar tablas de una máquina y procesarlas con fwts en otra
maquina
--uefi-get-var-múltiple
especifica el número de veces que se obtiene una variable en la variable uefirtvariable get
prueba de esfuerzo
--uefi-set-var-múltiple
especifica el número de veces que se debe establecer una variable en la variable de conjunto uefirtvariable
prueba de esfuerzo
--uefi-consulta-var-múltiple
especifica el número de veces para consultar una variable en la consulta uefirtvariable
prueba de esfuerzo variable.
--filter-error-descartar
especifica los errores que uno quiere ignorar en silencio. Uno proporciona una coma
lista detallada de etiquetas de mensajes de error de fwts que uno quiere que los fwts no informen como
errores. fwts ejecutará la prueba, pero si hay una falla en la prueba y la etiqueta coincide
el que se proporciona en esta lista fwts simplemente ignorará este error. Esto no puede ser
utilizado con --filter-error-keep.
--filter-error-mantener
especifica los errores que se quieren mantener, todos los demás errores se ignoran en silencio.
Uno proporciona una lista dividida por comas de etiquetas de mensajes de error de fwts que uno quiere fwts
reportar como errores, otras fallas de prueba no serán reportadas y silenciosamente ignoradas.
No se puede usar con --filter-error-discard.
-F, --fuerza de limpieza
crea un nuevo archivo de registro de resultados, en lugar de simplemente agregarlo a uno existente
(defecto).
-h, --ayuda
muestra la página de ayuda interna.
-I, --interactivo
ejecutar las pruebas interactivas. Estas pruebas requieren la interacción del usuario.
--interactivo-experimental
ejecutar solo pruebas experimentales interactivas.
-j, --json-ruta-de-datos
especifica la ruta a los archivos de datos fwts json. Estos archivos contienen json formateado
tablas de configuración, por ejemplo, patrones de escaneo de klog.
-k, --klog = archivo
leer el registro del kernel del archivo especificado en lugar del anillo de registro del kernel
buffer. Esto permite ejecutar las pruebas de escaneo de registros del kernel como klog contra
datos de registro recopilados previamente.
--campos de registro
muestra los campos de filtrado de registros disponibles. Especificando estos campos con --log-filter
para seleccionar qué campos desea registrar.
--filtro de registro
especificar qué tipos particulares de datos de registro se enviarán al archivo de registro. Cada
La línea de datos de registro está etiquetada con un marcador especial según el tipo de registro.
se está emitiendo información. Los tipos disponibles se pueden ver usando --log-fields.
Especifique los tipos de registro deseados con una lista separada por comas. Para deshabilitar un campo, prefijo
el nombre con ~, por ejemplo:
--log-filter = RES, SUM registra solo los resultados y las líneas de resumen.
--log-filter = ALL, ~ INF registra todas las líneas excepto las de información.
--formato de registro
especifique la información en cada línea de registro. Están disponibles los siguientes especificadores:
% fecha - fecha
%tiempo tiempo
% campo - campos de filtro de registro
% propietario: nombre de la rutina de prueba
% nivel - nivel de falla de la prueba
% line - línea de registro
por ejemplo, --log-format = "% fecha% hora [% campo] (% propietario):"
--nivel de registro [crítico | alto | medio | bajo | información | todos]
especifique el nivel de falla de la prueba para registrar. Pruebe los niveles de falla iguales y superiores a
los especificados se registran y registran como fallas. El valor predeterminado es 'todos' (que es
idéntico a 'info'). Por ejemplo, un nivel de registro de 'medio' solo registrará la prueba
fallas de nivel 'medio', 'alto' y 'crítico', donde como un nivel logarítmico de
'crítico' solo registrará fallas de nivel 'crítico'.
- tipo de registro
especifique el tipo de registro. Actualmente, los tipos de registro de texto plano, json y xml están disponibles y
el valor predeterminado es texto sin formato.
--lspci = ruta
especifique la ruta completa y el nombre de archivo al binario lspci.
-PAG, - estados de poder
ejecutar pruebas de estado de energía S3 y S4 (pruebas s3, s4)
--resultados-sin-separadores
no hay una bonita impresión de separadores horizontales en el archivo de registro de resultados.
-r, --results-output = nombre de archivo
especificar el archivo de registro de salida de resultados. También se puede especificar stdout y stderr para
redirigir a estos flujos de salida.
-R, --rsdp = physaddr
especifique la dirección física de ACPI RSDP. Esto es útil en algunos sistemas donde
no se puede detectar automáticamente.
--pm-method = método
especifique el método de energía que se utilizará para ingresar S3 o S4 (o se usará la autodetección).
Están disponibles los siguientes especificadores:
logind: el método predeterminado, cuando esté disponible (requiere dbus y logind).
pm-utils: el método predeterminado anterior, ahora en desuso.
sysfs: el respaldo, utilizado cuando logind no está disponible.
por ejemplo, --pm-method = sysfs
--s3-delay-delta = N
tiempo que se agregará al retraso entre cada iteración de S3.
--s3-verificación-dispositivo
Verifique las diferencias entre las configuraciones del dispositivo durante un ciclo S3. Tenga en cuenta que esto agrega 15
segundos de retraso después de cada reanudación de s3 para permitir que el wifi se vuelva a asociar.
--s3-device-check-retraso
especificar el tiempo de espera mientras los dispositivos se reconfiguran (por ejemplo, wifi para volver a asociar,
ethernet para conectar ..) antes de que se ejecute una verificación de configuración del dispositivo. El valor predeterminado es
15 segundos. Si se utiliza esta opción, se asume la verificación del dispositivo, por lo que no se
también es necesario utilizar la marca --s3-device-check.
--s3-híbrido
permite que fwts ejecute Hybrid Sleep.
--s3-min-delay = N
tiempo mínimo entre iteraciones de S3.
--s3-max-delay = N
tiempo máximo entre iteraciones de S3.
--s3-multiple = N
especificó el número de varias pruebas de suspensión / reanudación de S3 que se ejecutarán. El valor predeterminado es 2
pruebas.
--s3-quirks = - peculiaridad [, - peculiaridad]
especificar una lista separada por comas de argumentos peculiares para pasar a pm-suspend, para
ejemplo: --s3-quirks = - quirk-s3-bios, - quirk-save-pci
--s3-sleep-delay = N
dormir N segundos desde el inicio de la suspensión hasta la hora del despertador. Tenga en cuenta que esto
El tiempo DEBE ser mayor que el tiempo que se tarda en suspender la máquina, de lo contrario el
El temporizador de activación se disparará durante el estado de suspensión. El valor predeterminado es 30 segundos.
--s3-suspend-time = N
especifique el tiempo máximo de suspensión permitido en segundos. Si suspender tarda más de
esto entonces se registra un error.
--s3-resume-time = N
especifique el tiempo máximo de reanudación permitido en segundos. Si reanudar tarda más de
esto entonces se registra un error.
--s3power-sleep-delay = N
especifique la duración de la suspensión en segundos. Cuanto mayor sea el valor, más preciso
el resultado de la prueba s3power. No se recomiendan duraciones inferiores a 10 minutos.
--s4-delay-delta = N
tiempo que se agregará al retraso entre cada iteración de S4.
--s4-verificación-dispositivo
Verifique las diferencias entre las configuraciones del dispositivo durante un ciclo S4. Tenga en cuenta que esto agrega 15
segundos de retraso después de cada reanudación de s3 para permitir que el wifi se vuelva a asociar.
--s4-device-check-retraso
especificar el tiempo de espera mientras los dispositivos se reconfiguran (por ejemplo, wifi para volver a asociar,
ethernet para conectar ..) antes de que se ejecute una verificación de configuración del dispositivo. El valor predeterminado es
15 segundos. Si se utiliza esta opción, se asume la verificación del dispositivo, por lo que no se
también es necesario utilizar la marca --s4-device-check.
--s4-min-delay = N
tiempo mínimo entre iteraciones de S4.
--s4-max-delay = N
tiempo máximo entre iteraciones de S4.
--s4-multiple = N
especificó el número de varias pruebas de hibernación / reanudación de S4 que se ejecutarán. El valor predeterminado es 2
pruebas.
--s4-quirks = - peculiaridad [, - peculiaridad]
especificar una lista separada por comas de argumentos peculiares para pasar a pm-hibernate, para
ejemplo: --s4-quirks = - quirk-save-pci
--s4-sleep-delay = N
dormir N segundos desde el inicio de la hibernación hasta la hora de activación. Tenga en cuenta que esto
El tiempo DEBE ser más largo que el tiempo que se tarda en hibernar la máquina.
El temporizador de activación se activará durante el estado de hibernación. El valor predeterminado es actualmente 90
segundos.
-pag, --mostrar-progreso
muestra el progreso de las pruebas que se están ejecutando. Cada prueba se identificará a medida que se
correr. Para pruebas largas, se mostrará un porcentaje del tiempo de finalización. A partir de fwts
0.19.06 esto está habilitado de forma predeterminada y se puede deshabilitar con --quiet (o -q).
-q, --tranquilo
ejecutar silenciosamente sin salida a stdout.
-RE, --mostrar-progreso-diálogo
mostrar el progreso de las pruebas que se están ejecutando en una forma que se puede canalizar en el cuadro de diálogo
herramienta con la opción --gauge.
-s, --mostrar-pruebas
mostrar los nombres de las pruebas disponibles. De forma predeterminada, se mostrarán todas las pruebas. Utilice el - lote,
--interactive, --batch-experimental, --interactive-experimental, --utils opciones para
mostrar estas pruebas específicas.
--mostrar-pruebas-completas
muestra todas las pruebas disponibles enumeradas por descripción de prueba menor. Por defecto se mostrará
todas las pruebas. Utilice --batch, --interactive, --batch-experimental,
- opciones interactivas-experimentales para mostrar estas pruebas específicas.
--show-tests-categorías
muestra todas las pruebas disponibles y las categorías a las que pertenecen.
--skip-test = test [, test ..]
especificar pruebas para omitir y no ejecutar. La lista debe estar separada por comas.
--stdout-resumen
salida SUCCESS o FAILED a stdout al final de las pruebas.
-t, --table-path = ruta
especifique la ruta que contiene las tablas ACPI. Estas tablas deben nombrarse en el
formato: tablename.dat, por ejemplo DSDT.dat, por ejemplo, extraído usando
acpidump o fwts --dump y luego acpixtract.
-tu, --útiles
ejecutar utilidades. Diseñado para volcar información del sistema, como tablas ACPI anotadas,
Memoria CMOS, mapa de memoria Int 15 E820, datos de la ROM del firmware.
-v, --versión
número de versión de salida y fecha de compilación del fwts .
-w, --ancho = N
especifique el ancho en caracteres del archivo de registro de salida. El valor predeterminado es 130.
EJEMPLOS
Ejecute todas las pruebas por lotes y agregue los resultados al registro predeterminado results.log:
sudofwts
Ejecute todas las pruebas interactivas e inicie un registro de resultados limpio llamado interactive.log:
sudo fwts -i -f -r interactivo.log
Ejecute todas las pruebas, interactivas y por lotes:
sudo fwts-i-b
Ejecute solo las pruebas de batería y cpufreq:
sudo fwts batería cpufreq
Ejecute todas las pruebas por lotes y defina un nuevo formato de registro utilizando solo la fecha y el número de línea:
sudo fwts --log-format = "% date% line:"
Ejecute todas las pruebas interactivas y registre solo los resultados, la información y los datos resumidos:
sudo fwts -i --log-filter = RES, INF, SUM
Vierta toda la información interesante del firmware en archivos de registro para analizarla más tarde:
sudo fwts --volcado
Vea la versión del kernel y el controlador ACPI y la información del BIOS:
sudo fwts -w 80 -r versión stdout bios_info --log-filter = INF --log-format = ""
Muestre las pruebas experimentales por lotes y por lotes:
fwts --show-tests --batch --batch-experimental
Ejecute múltiples pruebas S3 con un retraso entre cada prueba que varía de 1 segundo a 10 segundos
con un retardo delta por prueba de 0.2 segundos
sudo fwts s3 --s3-multiple = 100 --s3-min-delay = 1 --s3-max-delay = 10
--s3-delay-delta = 0.2
Use fwts en línea usando los servicios de onworks.net