Messaggi di warning causati da apcupsd —
Mi sono trovato con una sequela praticamente infinita di pessaggi di questo tipo nel syslog:
2026-07-10T04:02:07.439726+02:00 aliseo kernel: [542013.839213] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:02:19.408209+02:00 aliseo kernel: [542025.807111] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:02:31.376721+02:00 aliseo kernel: [542037.775111] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:02:43.409396+02:00 aliseo kernel: [542049.807217] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:02:55.377961+02:00 aliseo kernel: [542061.775223] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:03:07.410512+02:00 aliseo kernel: [542073.807216] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:03:19.443073+02:00 aliseo kernel: [542085.839217] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:03:31.347648+02:00 aliseo kernel: [542097.743237] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:03:43.508197+02:00 aliseo kernel: [542109.903220] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:03:55.412751+02:00 aliseo kernel: [542121.807219] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:04:07.445361+02:00 aliseo kernel: [542133.839275] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:04:19.413857+02:00 aliseo kernel: [542145.807216] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:04:31.446448+02:00 aliseo kernel: [542157.839234] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:04:43.414985+02:00 aliseo kernel: [542169.807217] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:04:55.511573+02:00 aliseo kernel: [542181.903234] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:05:07.416105+02:00 aliseo kernel: [542193.807220] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:05:19.384663+02:00 aliseo kernel: [542205.775219] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:05:31.865240+02:00 aliseo kernel: [542218.255208] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:05:43.385664+02:00 aliseo kernel: [542229.775102] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:05:55.354346+02:00 aliseo kernel: [542241.743224] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2) 2026-07-10T04:06:07.450928+02:00 aliseo kernel: [542253.839242] hid-generic 0003:051D:0002.0001: Event data for report 8 was too short (3 vs 2)
Una rapida ricerca in Internet mi ha portato a trovare:
Questo errore si verifica perché il driver USB HID del kernel Linux riceve pacchetti di dati di lunghezza inattesa da un UPS American Power Conversion (APC). Il driver HID si aspetta un certo numero di byte (ad esempio, 3), ma l’UPS invia solo pacchetti più corti (ad esempio, 2), generando una serie di avvisi nei log del kernel.
Innocuo ma decisamente fastidioso…
Soluzione:
silenziare gli avvisi del kernel passando un parametro al modulo usbhid.
Passaggio 1: Creare un file di configurazione per Modprobe
Creare un nuovo file di configurazione per il modulo USB HID utilizzando l’editor preferito:vim /etc/modprobe.d/usbhid.conf
Passaggio 2: Aggiungere il parametro Quirk
Aggiungere la seguente riga al file. Questo comando indica al driver USB HID del kernel di applicare un “quirk” (ignora o gestisce specifici limiti di segnalazione) per l’ID fornitore APC (051D) e l’ID prodotto (0002)
options usbhid quirks=0x051D:0x0002:0x0004
(Nota: 0x0004 rappresenta HID_QUIRK_BAD_INPUT_BYTES, che indica al kernel di accettare pacchetti corti senza generare un errore)
Passaggio 3: Aggiornare l’Initramfs e riavviare
Poiché il modulo usbhid viene spesso caricato all’inizio del ciclo di avvio, è necessario aggiornare le immagini dell’Initramfs affinché la modifica abbia effetto: update-initramfs -u -k all
chkboot (se installato per evitare warning alle succesive login)
reboot
e il fastidio è risolto.
Categorised as: Linux | Logging | Sistemi operativi
Comments are disabled on this post