Duas soluções aqui: uma é rápida de aplicar, embora resolva o problema apenas parcialmente, a outra é a completa, mas requer que você compile seu próprio kernel.
A resposta correta é um patch do kernel.
Robin H. Johnson escreveu um patch para o driver do kernel SATA ( encontra-o no site de troca de pilha Unix / Linux ) que esconde completamente o drive.
Update 1 O patch agora é upstream (pelo menos no 3.12.7 kernel estável), veja o repositório git . Eu pedi por backport na barra de lançamento do Ubuntu .
Update 2 O patch está no kernel padrão do Ubuntu Trusty Thar 14.04; então agora apenas a seguinte adição ao parâmetro de inicialização é necessária.
Quando o patch estiver instalado, adicione
libata.force=2.00:disable
para os parâmetros de inicialização do kernel irá esconder o disco do kernel do Linux. Verifique novamente se o número está correto; pesquisar pelo nome do dispositivo pode ajudar:
(0)samsung-romano:~% dmesg | grep iSSD
[ 1.493279] ata2.00: ATA-8: SanDisk iSSD P4 8GB, SSD 9.14, max UDMA/133
[ 1.494236] scsi 1:0:0:0: Direct-Access ATA SanDisk iSSD P4 SSD PQ: 0 ANSI: 5
Para adicionar um parâmetro do kernel (bot temporariamente e permanentemente), você pode verificar este Q & amp; A: Como eu adiciono um parâmetro de inicialização do kernel?
Solução alternativa
Pelo menos, o problema de ativar a suspensão-continuação foi resolvido pelo usuário Emmanuel do Unix StackExchange no link . Como root, emita o comando:
echo 1 > /sys/block/sdb/device/delete
antes de suspender.
Para torná-lo permanente, adicione o seguinte arquivo em /etc/pm/sleep.d/
e torne-o executável:
-rwxr-xr-x 1 root root 204 Dec 6 16:03 99_delete_sdb
com conteúdo:
#!/bin/sh
# Delete the failing disk so that it will not block suspend
case "" in
suspend|hibernate)
if [ -d /sys/block/sdb ]; then
echo 1 > /sys/block/sdb/device/delete
fi
;;
esac
... e agora o sistema suspende (e continua) corretamente.