domingo, 19 de abril de 2026

Linux NVMe PCIe Hardware

Reinicios aleatorios en Linux: cómo el DPC mató mi sistema de archivos

Linux Mint  ·  Intel Comet Lake  ·  ADATA Falcon NVMe (Realtek 10ec:5763)  ·  Kernel 5.15

El sistema reiniciaba sin previo aviso, sin kernel panic visible, sin patrón claro de horario ni carga. Después de analizar kern.log, syslog y la salida de lspci -vvv, encontramos la causa raíz.

El culpable: PCIe AER + DPC con Trigger:1

El SSD NVMe ADATA Falcon usa un controlador Realtek 10ec:5763, conocido por generar errores corregibles de capa física (RxErr) durante transiciones de estado de energía (ASPM). Estos errores aparecen en el log así:

pcieport 0000:00:1d.0: AER: Corrected error message received
pcieport 0000:00:1d.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
pcieport 0000:00:1d.0:    [ 0] RxErr

El problema real no es el error en sí — es que el puerto PCIe tenía DPC (Downstream Port Containment) configurado con Trigger:1:

DpcCtl: Trigger:1 Cmpl- INT+ ErrCor- ...

Con Trigger:1, el DPC se dispara ante cualquier error corregible. Al dispararse, desconecta el puerto PCIe — y con él, el NVMe donde vive el sistema de archivos raíz. El kernel pierde / en pleno vuelo: reinicio inmediato, sin log, sin aviso.

Datos del SMART que confunden (pero no mienten)

CampoValorInterpretación
media_errors0El SSD físicamente está sano
num_err_log_entries871Entradas de log, NO errores reales
unsafe_shutdowns260 / 2554 ciclos1 de cada 10 apagados fue abrupto — síntoma, no causa
percentage_used1%SSD prácticamente nuevo en desgaste
num_err_log_entries es el contador de entradas del log NVMe, no un contador de errores reales. El nvme error-log mostraba todas las entradas en SUCCESS.

La solución

Deshabilitar ASPM en el bus PCIe evita que el controlador Realtek entre en estados de bajo consumo y genere los RxErr al despertar:

# 1. Editar GRUB
sudo nano /etc/default/grub

# Modificar esta línea:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=0 pcie_aspm=off"

# 2. Aplicar y reiniciar
sudo update-grub && sudo reboot

Verificar que no haya más errores tras el reinicio:

sudo journalctl -b -k | grep -i "RxErr\|AER.*Corrected\|DPC.*Trigger"
Resultado: 2+ semanas sin ningún reinicio aleatorio. Sin RxErr en los logs desde la primera sesión con el parche.

Diagnóstico rápido para el mismo problema

Si tu sistema reinicia aleatoriamente sin kernel panic visible, verificá:

# ¿Hay RxErr en el kernel actual?
sudo journalctl -b -k | grep -i "RxErr\|AER.*Corrected"

# ¿El DPC está en Trigger:1?
sudo lspci -vvv -s 00:1d.0 | grep "DpcCtl"

# ¿Qué controlador NVMe tenés?
sudo lspci -n | grep "0108"

Hardware: AORUS (Gigabyte) · Intel Comet Lake (10th gen) · ADATA Falcon 512GB (Realtek 10ec:5763) · Linux Mint · Kernel 5.15.0-174

domingo, 27 de junio de 2021

Conectar Cámara Deportiva Genérica Indefinidamente

 Conectar la cámara al puerto USB y lanzar los siguientes comandos: 

Verificar que conecto:

lsusb

Poner el Dispositivo en modo "Cámara"

adb devices -l; adb devices; adb start-server
Verificar el nuevo dispositivo de Video:

ll /dev/video*

Detener el Servidor de adb:

adb kill-server


Listar todos los dispositivos de vídeo:

v4l2-ctl --list-devices 

Vídeo Virtual Linux [ v4l2loopback ] - Configuraciones

GESTIÓN DINÁMICA DE DISPOSITIVOS

Las opciones que proporcionó al cargar el módulo (por ejemplo, a través de modprobe) no se pueden cambiar fácilmente sobre la marcha. Para cambiar estas opciones, primero debe descargar el módulo con rmmod (que solo funcionará si ninguna aplicación ya está accediendo a uno de los dispositivos de loopback) y luego cargarlo nuevamente (con las nuevas opciones).
Puede crear (y eliminar) dispositivos de bucle invertido sobre la marcha, utilizando los comandos add(resp. delete) De la utilidad v4l2loopback-ctl .
Al crear un nuevo dispositivo, es posible que se ignoren las opciones del módulo. Por lo que debe especificarlos explícitamente.
Para crear un nuevo dispositivo /dev/video7 que tenga la etiqueta "MiWebCam1", use:
$ sudo v4l2loopback-ctl add -n "MiWebCam1" /dev/video7

Eliminar dispositivos es tan simple como:

$ sudo v4l2loopback-ctl delete /dev/video7

CONTROLES V4L2

v4l2-ctl -d /dev/video0 -l

    keep_format(0/1)
    sustain_framerate(0/1)
    timeout(integer)
    timeout_image_io(0/1)

CARGAR 4 DISPOSITIVOS DE VIDEO VIRTUALES

modprobe v4l2loopback devices=4

Creará 3 dispositivos ( /dev/video3, /dev/video4 , /dev/video7)

modprobe v4l2loopback video_nr=3,4,7 card_label="Nombre3","Nombre4","Nombre7"

/dev/video3-> Nombre3
/dev/video4-> Nombre4
/dev/video7-> Nombre7

DETECTAR DISPOSITIVO 

modprobe v4l2loopback exclusive_caps=1 

CONFIGURAR DISPOSITIVOS CARGADOS  

ll /etc/modprobe.d/  

martes, 2 de febrero de 2021

Instalar y desinstalar Compiz en Ubuntu MATE

Instalar

1. Abrimos un terminal y ejecutamos:
sudo apt-get install compiz compiz-plugins compizconfig-settings-manager
 

2. Lanzamos el Gestor de Configuración CompizConfig y en Sistema->Preferencias->CompizConfig->Efectos, marcamos "Decoración de ventanas". Guardamos y cerramos.
 

3. Pulsamos ALT+F2 y ejecutamos para probar de que los efectos son los deseados:
compiz –replace
Los probamos con Alt+Tab, maximizar, miniminzar,...

4. Si nos gusta y funciona correctamente, ejecutamos finalmente para ejecutarlo de forma predeterminada en un terminal:
gsettings set org.mate.session.required-components windowmanager compiz

Para eliminarlo y volver ha dejar el sistema como antes:

1. Ejecutamos desde un terminal:
settings reset org.mate.session.required-components windowmanager
 

2. Y desde el mismo terminal, ejecutamos:
sudo apt-get purge compiz compiz-plugins-default compiz-plugins compizconfig-settings-manager

viernes, 18 de septiembre de 2020

Como Instalar Wine 5.0 en Ubuntu y derivados (How to)

 

Para salir del INFIERNO DE DEPENDENCIAS DE WINE 5:

He instalado Wine 5.0 en Ubuntu 19.10 con éxito siguiendo los pasos sin ningún problema de dependencia.

 

1) Correr este comando con todas las dependencias:

    sudo apt-get install libgnutls30:i386 libldap-2.4-2:i386 libgpg-error0:i386
    libxml2:i386 libasound2-plugins:i386 libsdl2-2.0-0:i386 libfreetype6:i386
    libdbus-1-3:i386 libsqlite3-0:i386

 2) Ejecute el comando para habilitar la arquitectura de 32 bits:

    sudo dpkg --add-architecture i386

3) Descargue e instale la clave del repositorio y Agregar repositorio

wget -nc https://dl.winehq.org/wine-builds/winehq.key; sudo apt-key add winehq.key

 

sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ eoan mai

 

sudo add-apt-repository ppa:cybermax-dexter/sdl2-backport

 

4) Actualizar Repositorios e instalar

       sudo apt update && sudo apt install --install-recommends winehq-stable




martes, 15 de septiembre de 2020

Tutorial: uso de su teléfono inteligente Android como cámara web en Ubuntu 20.04

FUENTE: https://semuada.com/articles/geek/221-tutorial-using-your-android-smartphone-as-webcam-in-ubuntu-20-04?ref=ratna

Voy a usar DroidCam de Dev47Apps. Droidcam es una aplicación de Android y el controlador v4l2 (Video para Linux 2) correspondiente que permite que un sistema Linux acceda a la cámara en un teléfono Android a través de una red de área local, conexión USB o mediante un navegador web. 



Antes de comenzar, instale la aplicación de Android en su teléfono inteligente, diríjase a la tienda de Google Play  aquí e instale DroidCam de Dev47Apps.

En su Ubuntu 20.04, abra una terminal y siga las siguientes instrucciones

1. Asegúrese de que las siguientes dependencias estén instaladas:

~ $ sudo apt install gcc make

 2. Descargue e instale el cliente más reciente:

~ $ cd / tmp /

~ $ wget https://files.dev47apps.net/linux/droidcam_latest.zip

 3. Instale DroidCam

~$ unzip droidcam_latest.zip -d droidcam && cd droidcam

~$ sudo ./install

Asegúrese de que el dispositivo de video esté instalado 

~ $ lsmod | grep v4l2loopback_dc

Debería ver v4l2loopback_dc en la salida.

Abra Cheese, en las preferencias, puede ver su dispositivo allí

  

Cambiar la resolución de la cámara

~ $ sudo gedit /etc/modprobe.d/droidcam.conf

Cambiar ancho = 960 y alto = 720

Otras resoluciones son: 640 × 480, 960 × 720, 1280 × 720 (720p), 1920 × 1080 (1080p)

En mi caso, necesito reiniciar mi sistema antes de que la resolución de la cámara tenga efecto

4. Instale soporte de sonido

~ $ sudo ./install-sound

5. Crear lanzador de inicio

~ $ gedit ~ / .local / share / applications / droidcam.desktop

Luego ingrese lo siguiente en el archivo

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=DroidCam
Exec=droidcam
Comment=Use your Android phone as a wireless webcam or an IP Cam!
Icon=droidcam
Categories=GNOME;GTK;Video;Android;
Name[it]=droidcam

 

6. Conexión mediante Wifi

Abra la aplicación Droidcam en su dispositivo Android y tome nota de la dirección IP.

Abra la aplicación Droidcam e ingrese la dirección IP anotada en el teléfono

Haga clic en conectar y abra queso o una aplicación similar. y pruebe la calidad de la imagen.

 

7. Conexión de cable

La conexión por cable proporciona una conectividad más estable. 

En tu teléfono Android

Vaya a Configuración > Acerca del teléfono y toque Número de compilación siete veces. Regrese a la pantalla anterior para encontrar las opciones de desarrollador en la parte inferior.

En tu Linux

~ $ sudo apt install libcanberra-gtk-module

~ $ sudo apt-get install adb

 

Ejecute DroidCam, elija USB (sobre ADB), luego haga clic en Conectar

 

 

...

miércoles, 12 de agosto de 2020

Droidcam | Usa tu Android como webcam USB con ADB y Linux

 

Droidcam | Usa tu smartphone como webcam | Para Linux y Windows

 

Sitio del proyecto Droidcam: https://www.dev47apps.com/
Instalación para Linux (Comandos):

Dependencias:

apt-get install build-essential
cd /tmp/
wget https://files.dev47apps.net/linux/droidcam_latest.zip
unzip droidcam_latest.zip -d droidcam && cd droidcam
sudo ./install
Iniciar  droidcam:

droidcam

Instalación de servicio en Adroid:
https://play.google.com/store/apps/developer?id=Dev47Apps


Droidcam | Usa tu Android como webcam USB con ADB y Linux

 

.......................

// Android Debug Bridge
// Antes de instalar  activa el modo depurador
// en tu dispositivo

//Debian/Ubuntu
sudo apt-get install adb


//Centos/Fedora/openSUSE
sudo dnf install android-tools


//ArchLinux y derivados
sudo pacman -Sy android-tools

//Comandos  de ADB para este tutorial
adb version


//detener el proceso del  servidor adb
adb kill-server 


//iniciar  servidor adb
adb start-server


//marca el dispositivo  conectado
adb devices


//lista la información de los dispositivos
adb devices -l



//iniciar  droidcam y conectar