Hola, gracias por tu respuesta!
estoy con la version de ncam
Version NCAM: 6.6-r1
Build: 07-12-2022
Compiler: x86_64-linux-gnu-libusb-pcsc
los lectores que tengo son:
Bus 001 Device 002: ID 076b:3031 OmniKey AG 3x21 Smart Card Reader
Bus 001 Device 003: ID 076b:3031 OmniKey AG 3x21 Smart Card Reader
Tengo el pc con ncam en remoto por lo que la unica solucion que encuentro es reiniciarlo y ultimamente es varias veces al día.
Lo tenia con ubuntu 18 por lo que monte otro pc con ubuntu 24 por si era tema de la version, pero me sigue pasando.
he probado tambien con stop y start a pcsc y pcsc.socket y a veces los vuelve a detectar pero se quedan sin
entitlements los 2 lectores.
Muchas gracias.
Saludos,
he hecho este script que si dectecta card unavaliable desconecta el puerto usb y lo vuelve a conectar, pero se quedan
entitlements y añadi que parase y arrancase el servicio ncam pero tampoco consigo que vuelva a arrancar de nuevo
#!/bin/bash
# Archivo de log opcional
LOGFILE="/var/log/ncam_restart.log"
# Función para escribir en el log
log() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOGFILE"
}
log "Verificando estado de las tarjetas en pcsc_scan..."
# Ejecutar pcsc_scan en segundo plano, capturar la salida y matarlo después de 5 segundos
OUTPUT=$(timeout 5s pcsc_scan)
# Comprobar si alguna tarjeta tiene "Card state: Status unavailable"
if echo "$OUTPUT" | grep -q "Card state: Status unavailable"; then
log "Al menos una tarjeta está en estado 'Status unavailable'. Reiniciando controlador USB..."
# Reiniciar el controlador USB
echo -n "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/unbind
sleep 5
echo -n "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/bind
log "Controlador USB reiniciado. Relanzando NCAM..."
# Detener NCAM si ya está en ejecución
pkill -f "ncam"
# Relanzar NCAM en segundo plano
ncam -b &
log "NCAM iniciado correctamente."
else
log "Todas las tarjetas están en estado normal. No se requiere reinicio."
fi
.