LINUX.ORG.RU

[РЕШЕНИЕ] Не видно устройства SATA после горячего подключения


0

0

Если по каким-то причинам ваше ядро "не хочет" видеть воткнутый на
ходу (hot plug) SATA винчестер или привод DVD, то этот скрипт решит эту
проблему.

#! /bin/sh

SCSI=/sys/class/scsi_host
test ! -d "$SCSI" && echo "Error: cannot find $SCSI directory." && exit 1
cd "$SCSI" || exit 1

for i in *; do
        echo -n "Scanning $i ..."
        echo "- - -" > $i/scan && echo " done."
done

echo "Finished. Consult with 'dmesg' for details."
★★★★★

Правильно отключать SATA устройства, мне кажется, нужно так:

umount -a всё_что_замонтировано_на_снимаемом_устройстве

sync

hdparm -y /dev/устройство (чтобы запарковать головки и остановить шпиндель)

вытыкаем ;-)

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

> umount -a всё_что_замонтировано_на_снимаемом_устройстве

> sync

Э-э-э. sync-то зачем? Все ужо отмонтировано, чо синькать-то?

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

> sync-то зачем? Все ужо отмонтировано, чо синькать-то?

не факт что после отмонтирования буферы сразу будут скинуты на винт. не раз и не два замечал такое после отмонтирования флэшки.

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

> Не факт что после отмонтирования буферы сразу будут скинуты на винт. не раз и не два замечал такое после отмонтирования флэшки.

Вообще-то - факт. Альтернативное поведение - злостный баг.

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

> Вообще-то - факт. Альтернативное поведение - злостный баг.

Хуже не будет. ;-)

birdie ★★★★★
() автор топика

$ apt-cache show scsiadd

Description: add or remove SCSI devices by rescanning the bus
 scsiadd allows you to add or remove SCSI devices without having to restart
 the computer.  This is *NOT* a substitute for powering down to connect or
 disconnect hardware unless it's specifically designed to be hot swappable.
 Use it to enable the external SCSI drive you only use occasionally so is
 powered off when the machine first boots, or to rescan the bus after moving
 hot-swap drives around.  scsiadd will also try to prevent you from doing
 anything to disrupt drive names that are in use.
 Similar functionality is available by echoing text to /proc/scsi/scsi


$ apt-cache show sg3-utils

Description: Utilities for working with generic SCSI devices
 This package includes a number of utilities to manipulate the linux "sg"
 (version 3) device driver.
 .
 This driver is only found in 2.4.x linux kernels; if you are using
 2.2 (or earlier), please install the sg-utils package instead.  In
 the 2.4 series SCSI generic device names (e.g. /dev/sg0) must be
 used. In the 2.6 series other device names may be used as well
 (e.g. /dev/sda).
 .
 The package includes:
     * sg_dd - a variant of 'dd' that works at the SCSI command level
     * sg_emc_trespass - vendor specific for Clariion hardware
     * sg_format - format SCSI disks
     * sg_get_config - get features and profiles of MMC devices
     * sg_ident - report and set device identifiers
     * sginfo - a re-porting of the 'scsiinfo' program, updated
     * sg_inq - a utility for poking around with the SCSI INQUIRY command
     * sg_logs - prints out log sense pages
     * sg_luns - prints out REPORT LUNS response
     * sg_map - shows the mapping between SCSI devices and sg devices
     * sg_map26 - utility to map sg devices in 2.6 kernel
     * sgm_dd - like sg_dd, but uses mmap()'d IO
     * sg_modes - prints out mode sense pages
     * sg_opcodes - reports supported opcodes and task management fcns
     * sgp_dd - like sg_dd, only multithreaded
     * sg_persist - accesses the Persistent Reservation In and Out commands
     * sg_prevent - issues PREVENT ALLOW MEDIUM REMOVAL command (MMC %2b SSC)
     * sg_rbuf - tests SCSI bus speed
     * sg_rdac - utility for vendor specific work
     * sg_read - reads multiple blocks, useful for timing
     * sg_read_long - read a "long" block from the given device
     * sg_readcap - prints the output of a READ CAPACITY command
     * sg_reassign - issues a REASSIGN BLOCKS command (map out bad sectors)
     * sg_requests - issues a REQUEST SENSE command (event polling)
     * sg_reset - exercises SCSI device/bus/host reset capability
     * sg_rmsn - READ SERIAL SERIAL NUMBER
     * sg_rtpg - REPORT TARGET PORT GROUPS
     * sg_scan - displays the SCSI bus on stdout
     * sg_senddiag - runs SCSI self tests
     * sg_ses - fetches status and send control to a SES device
     * sg_start - spins up (or down) disks and optical drives
     * sg_sync - issues a SYNCHRONIZE CACHE command
     * sg_test_rwbuf - tests the SCSI host adapter
     * sg_turs - execute a TEST UNIT READY command on the given device
     * sg_verify - issues VERIFY command on SCSI disks
     * sg_vpd - utility for decoding VPD pages
     * sg_write_long - write a "long" block to the given device
     * sg_wr_mode - low level utility to change mode pages
 .
 It also includes source code for some example programs that demonstrate
 how to use the scsi generic driver.

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

Рад за Debian, но у меня Fedora и мне нужно было быстрое решение, которое не требует установки софта.

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