...e non solo in Ubuntu, dato che tutti i Linux recenti ne sono affetti. Da molte versioni di Ubuntu, almeno dalla Edgy in poi, con schede madri basate su chipset nvidia nforce2 o superiori come la mia Asus P5N32-SLI SE Deluxe (ma anche con altre schede madri), il sottosistema usb non si spegne allo spegnersi del pc. Il problema è che i led di webcam, mouse, lettori di memory card e altri accessori usb rimangono sempre accesi, costringendo a spegnere il pc con l'interruttore generale posteriore.
Invece, in caso di sospensione o ibernazione le porte usb si spengono correttamente.
Il problema, dopo tanto tempo, è stato individuato nel kernel. Per fortuna, dopo anni di discussioni sia sulla mailing list del kernel a più riprese che nel launchpad , è stata presentata una patch fatta da Alan Stern, mostrata qui per il kernel 2.6.22 (gutsy), funziona anche con leggere modifiche con il 2.6.20 (feisty) e probabilmente funzionerà anche con i prossimi kernel (hardy):
Siccome molto probabilmente non verrà mai inclusa questa patch nel kernel di default, dato che ufficialmente questo è un bug del BIOS e potrebbe generare problemi con sistemi non affetti da questo bug, ho provveduto quindi a patchare e ricompilare il kernel di Gutsy. Si può reperire il pacchetto binario e/o il sorgente su questo sito . In alternativa, si può aggiungere questo repository al file /etc/apt/sources.list (attenzione perchè potrebbero essere presenti altri pacchetti!):
deb http://ppa.launchpad.net/armalite/ubuntu gutsy main
deb-src http://ppa.launchpad.net/armalite/ubuntu gutsy main
Farò del mio meglio per riuscire a tenere sempre il kernel patchato in sincrono con l'ultima versione del kernel disponibile ufficialmente in Ubuntu stabile.
UPDATE: Il seguente paragrafo relativo a dpkg è obsoleto, il bug a cui mi riferisco (pacchetto che richiede di essere aggiornato infinitamente, bug LP:#165230 ) è stato corretto. Quindi la soluzione preferibile è quella descritta sopra, aggiungere il repository al sources.list e aggiornare i pacchetti del kernel.
L'unico problema attualmente è che (per non precisati motivi, visto che con i pacchetti di applicazioni non ho problemi di questo tipo) synaptic/apt-get/aptitude vogliono sempre aggiornare il kernel patchato da me con lo stesso kernel patchato. Suggerisco quindi di scaricare singolarmente il pacchetto e installarlo con dpkg -i.
Con questo kernel, il sottosistema usb si spegne allo spegnimento del pc in maniera corretta. Non è necessario reinstallare o scaricare un nuovo pacchetto linux-restricted-modules, mentre per gli utilizzatori di Envy potrebbe essere necessario reinstallare i drivers nvidia.
Ovviamente, un grazie particolare a Sebastian Kemper che per primo ha segnalato il problema e Alan Stern per la patch risolutiva.