LINUX.ORG.RU

SATA hotplug (Debian)

 , , ,


0

1

Вариант 1: Подключил hdd - Включил ПК

Далее его можно на горячую включить/отключить сколько угодно раз и в системе он определится и примонтируется.

Варинат 2: Включил ПК без установленного hdd - Дождался загрузки системы - Подключаю hdd

fdisk -l

и пусто, hdd нет.

echo "0 0 0" >/sys/class/scsi_host/host[n]/scan
тоже не помогло

Смотрю

dmesg
и вижу это
[11654.674644] ata1: SATA link down (SStatus 1 SControl 310)
[11654.674670] ata1: EH complete
[11654.676017] ata1: exception Emask 0x10 SAct 0x0 SErr 0x4000000 action 0xe frozen
[11654.676024] ata1: irq_stat 0x00000040, connection status changed
[11654.676030] ata1: SError: { DevExch }
[11654.676042] ata1: limiting SATA link speed to 1.5 Gbps
[11654.676049] ata1: hard resetting link

Гугление ничего не дало. У многих такая проблема была из-за плохого кабеля sata или умерающего hdd (кабель менял, hdd тоже)

Как это лечить ?

контроллер в каком режиме работает IDE или AHCI?

daemonpnz ★★★★★ ()

далее его можно на горячую включить/отключить сколько угодно раз

Только надо контроллеру дать команду о том, что диск извлекаешь, а когда подключил - тоже даешь команду, и винт подхватывается.

Как это лечить ?

Линейкой по рукам. Ты без команд делаешь.

andrew667 ★★★★★ ()

echo «0 0 0» >/sys/class/scsi_host/host[n]/scan

Надеюсь, ты не писал прямо так: «host[n]» ?

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

echo «0 0 0» >/sys/class/scsi_host/host0/scan echo «0 0 0» >/sys/class/scsi_host/host1/scan echo «0 0 0» >/sys/class/scsi_host/host2/scan echo «0 0 0» >/sys/class/scsi_host/host3/scan

qshiroe ()

Пошарь в биосе. У меня там отдельная настройка для каждого порта, hot plug и называется. Без нее не работает.

ArtKun ★★★★★ ()
Ответ на: комментарий от qshiroe

эм... mount/umount ?

Какой mount? Тут надо правильный контроллер, утилита для работы с контроллером и команды для работы с ней. Например, популярны MegaCli и hpacucli.

andrew667 ★★★★★ ()
Ответ на: комментарий от andrew667

зачем правильный контроллер если штатный справляется отлично, да и команды я думаю не нужно, этим уже давно занимается udev и драйвер ahci.

qshiroe ()
Ответ на: комментарий от qshiroe

зачем правильный контроллер если штатный справляется отлично

из твоей темы видно как он отлично справляется

andrew667 ★★★★★ ()
У меня схожий вопрос. Частенько возникает необходимость грузить rescuesystemcd, а потом цепляться к нему по SSH и сливать данные с плохочитаемых SATA дисков по секторам. Для ускорения загрузки, попробовал отключить контроллер жестких дисков в BIOSе. Грузится раз в 10 быстрее! Но в таком случае, после загрузки системы, HDD не отображается в списке устройств /dev/sdX и, соответствующих /sys/class/scsi_host/hostX тоже нет. 

Можно ли как-то пересканировать жесткие диски, чтобы получить к ним доступ в данном случае?

P.S. Пока что нашел такой выход: отключать кабель питания (при включенном в биосе контроллере) HDD до начала загрузки rescuesystemcd, потом подключаю обратно. Тогда линукс видит устройство. Но такой жесткий способ мне не сильно нравится,

Man1980 ()
Ответ на: комментарий от andrew667

Странно, что не запилили какого-то общего API в /sys для работы с контроллером, если он поддерживается. Было бы удобнее, чем использовать специальные утилиты.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.