Aviso prévio
Por favor, desloque-se para a resposta (que tem alguns pontos, mas é o correto). O problema é resolvido por um patch que estará no kernel 3.12.7 ou superior; Espero que seja portado para os anteriores também.
Meu laptop é um Samsung Chronos série 7. Ubuntu Gnome Remix 13.04, com drivers atualizados da Intel.
Estou com um problema com a unidade SSD interna (capacidade de 8G). Falha com COMRESET e erros de entrada / saída. Estou bastante convencido de que o problema é hardware; infelizmente não tenho o Windows instalado no laptop para verificar se é uma questão de configuração do SSD ou o que for.
O problema é que o disco é reconhecido pelo udev:
KERNEL[9.515930] add /devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sdb (block)
ACTION=add
DEVNAME=sdb
DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sdb
DEVTYPE=disk
MAJOR=8
MINOR=16
SEQNUM=1785
SUBSYSTEM=block
UDEV_LOG=3
e depois disso, falha em muitas verificações, atrasando a inicialização, atrasando o desligamento e tornando (eu acho) a suspensão impossível.
É possível dizer ao Linux para ignorar completamente qualquer coisa no link ata2? Tentei adicionar esta linha ao /etc/udev/rules.d/10-local.rules
SUBSYSTEMS=="pci" DRIVERS=="ahci" KERNELS=="ata2" OPTIONS=="ignore_device"
mas não funciona.
Por outro lado, se alguém souber redefinir o SSD se ele foi deixado no modo "cache" sem usar o Windows ... ou inicializar uma janela "ativa" para fazer o mesmo ...
Obrigado!
Dados adicionados:
Completo udevadm info -a -n /dev/sdb
colado em http://paste.ubuntu.com/6186145/
smartctl -i /dev/sdb -T permissive
dá:
root@samsung-romano:/home/romano# smartctl -i /dev/sdb -T permissive
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
Vendor: /1:0:0:0
Product:
User Capacity: 600,332,565,813,390,450 bytes [600 PB]
Logical block size: 774843950 bytes
>> Terminate command early due to bad response to IEC mode page
o que está claramente errado. Mesmo assim:
root@samsung-romano:/home/romano# fdisk -b 512 -C 970 -H 256 -S 63 /dev/sdb
fdisk: unable to read /dev/sdb: Input/output error
(Dados SSD de http://ubuntuforums.org/showthread.php?t=1935699&p=11739579#post11739579 ).
PENSAMENTO ADICIONAL:
Tudo isso poderia ser um efeito colateral da tecnologia Intel Smart Response não desativada antes da instalação do Linux? Se sim, como posso checá-lo antes de reinstalar uma janela na máquina? Ou isso é um tiro no escuro? (Na BIOS, a unidade SSD não aparece e não há nada sobre o Intel SRT).
SOBRE MARCAR COMO DUPLICADO:
Eu mudei o título da pergunta; Não acho que a pergunta vinculada responda ao meu problema. Eu sei positivamente que o SSD está falhando. Estou perguntando se é possível dizer ao kernel do linux para não tentar fazer isso.
fonte
Respostas:
Duas soluções aqui: uma é rápida de aplicar, embora resolva o problema apenas parcialmente, a outra é a completa, mas exige 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 ( encontre-o no site de troca de pilhas Unix / Linux ) que oculta completamente a unidade.
Atualização 1 O patch está agora upstream (pelo menos no 3.12.7 kernel estável), consulte o repositório git . Pedi backport na barra de lançamento do Ubuntu .
Atualização 2 O patch está no kernel padrão do Ubuntu Trusty Thar 14.04; agora agora é necessária apenas a seguinte adição ao parâmetro de inicialização.
Após a instalação do patch, adicionar
aos parâmetros de inicialização do kernel ocultará o disco do kernel do Linux. Verifique novamente se o número está correto; procurar o nome do dispositivo pode ajudar:
Para adicionar um parâmetro do kernel (bot temporariamente e permanentemente), você pode verificar estas perguntas e respostas: Como adiciono um parâmetro de inicialização do kernel?
Gambiarra
Pelo menos o problema de ativar o resumo de suspensão foi resolvido pelo usuário do Emix StackExchange Emmanuel em /unix//a/103742/52205 . Como root, emita o comando:
antes de suspender.
Para torná-lo permanente, adicione o seguinte arquivo
/etc/pm/sleep.d/
e torne-o executável:com conteúdo:
... e agora o sistema suspende (e continua) corretamente.
fonte
/sys/block/*/device/delete
.Você pode tentar criar a regra do udev com as seguintes informações (saída do udevadm info -a -n / dev / sdb).
INFO:
1) Crie a regra do udev.
sudo nano /etc/udev/rules.d/99-hide-ssd.rules
Você pode tentar combinar as teclas "SUBSYSTEMS " e "DRIVERS" e os atributos "ATTRS {rev}" e ATTRS {model} e atribuir a variável "UDISKS" para ignorá-la.
O conteúdo do arquivo 99-hide-ssd.rules seria:
Para salvar as alterações no nano ... Ctrl+ O, então Entere finalmente Ctrl+ X.
2) Por fim, atualize as regras do udev com:
sudo udevadm trigger
NOTA: Com o ENV {UDISKS_IGNORE} = "1", ele ignorará o disco do Ubuntu 12.10 e 13.04.
Para o Ubuntu 12.04, a variável seria ENV {UDISKS_PRESENTATION_HIDE} = "1" .
Espero que isto ajude.
fonte
/server/112147/tell-ubuntu-to-ignore-dead-hard-drive-during-booting sugere em parte:
Como root, abra /etc/udev/rules.d/60-persistent-storage.rules com seu editor de texto favorito.
Algumas linhas abaixo, você provavelmente verá uma linha assim:
pular regras para dispositivos de bloco inadequados
KERNEL == "ram * | loop * | fd * | nbd * | gnbd * | dm- | md ", GOTO = "persistent_storage_end" Adicione "sdb *" a essa segunda linha, para que fique assim:
KERNEL == "ram * | loop * | fd * | nbd * | gnbd * | dm- | md | sdb *", GOTO = "persistent_storage_end"
Salve, reinicie e talvez funcione. Se não, bem, isso é pós-garantia?
fonte
Se seus outros discos não estiverem usando ahci ou não são SSD, você poderá remover o driver do kernel para eles.
para remover para essa sessão (até a próxima reinicialização), execute:
para recarregá-lo, execute:
se você perceber que tudo está indo bem, agora poderá desativá-lo totalmente (não carregue na próxima inicialização). abra o arquivo /etc/modprobe.d/blacklist.conf e adicione a seguinte linha:
na lista negra de drivers ssd, basta substituir ahci por sd
fonte
ata1
, o ssd com falha está ativadoata2
. Desativar o modo ahci no BIOS torna o sistema não inicializável ...Pelo que sei, não há como remover a mensagem, exceto remover seu SSD.
fonte
Eu escrevi um patch do kernel para você que implementa a capacidade de desativar um único disco no momento da inicialização, para que você não precise se preocupar em desabilitá-lo no udev ou na espera durante a inicialização inicial.
http://dev.gentoo.org/~robbat2/patches/3.13-libata-disable-disks-by-param.patch
Deve aplicar-se a muitos kernels com muita facilidade (a linha acima foi adicionada 2013-05-21 / v3.10-rc1 *, mas pode ser aplicada com segurança manualmente sem essa linha).
fonte