Господа, у меня есть переходник CF<->IDE на 2 карточки, хотелось бы на ходу подключать одну из компакт-флешек. Друг во фре это делал, там какая-то утилитка типа ide* чего-то там. А в линуксе что?
hdparm -R 0x170 0 0 /dev/hda не прокатил. Наверное, есть какие-то новые способы?
С винтом получалось, но очко сжималось до невозможности. Можно попробовать еще загнать комп в hibernate, подрубить винт и разбудить. Можно еще и на саспенде попробовать, но я не знаю, что он в этом случае с контроллером делает.
>CF-IDE переходник используется для того, чтоб в старом железе использовать _это_ как диск IDE. чё тут непонятного? usbdisk на 1.1??? ну-ну.
>ууу. ещё один спец.
Да вы я вижу тоже офигенный спец да к тому же еще и с неадекватными манерами.
1 Хотите сказать что у вас плата с sata и поддерживает только usb 1.1 ? Можете это своей бабушке рассказывать.
2 Чтобы послать команды контроллеру через hdparm я так понимаю нужен хотя бы один работающий диск - там в примере не зря hdparm /dev/hda хотя фактически подрубался hdd - нужен какой-то файл устройства в качестве параметра причем действительный а не пустое место.
3 Если таких файла нет - дисков ide нет - то никто не мешает просто выгрузить модуль а после подключения устройств снова его подгрузить, если у вас действительно "все остальное на сата"
0) манеры - я вежливо попросил не засирать ветку. Но тут, я вижу, не только принято не ходить по ссылкам (что обычай, да, его надо уважать), но даже и читать ветку целиком.
1) САТА на рабочей машине (которая на рабочем месте, в которую временно всё это втыкается). Там, где это будет работать, сата нет. Усб там 1.1, есть вообще без усб. Вопрос - не в том есть сата, или нет.
2) пример, видимо, старый. сейчас ядро работает на libata, hdparm, видимо, не всегда срабатывает. /dev/hd* я создал руками, результат - 0 (выше про это написано).
3) если вы про модуль ide-disk, то это не помогает. во-всяком случае, это, скорее всего, не приводит к сканированию устройств. вы можете удалить сетевой модуль, например, от wi-fi, затем снова загрузить его, - соединение не порвётся.
>2) пример, видимо, старый. сейчас ядро работает на libata, hdparm, видимо, не всегда срабатывает. /dev/hd* я создал руками, результат - 0 (выше про это написано).
То что вы создали руками файл устройства - вообще не значит что оно вдруг появится :) Вы создали обычный файл. Нужно чтобы существовал реально этот диск - как вариант если это правда что у вас 2 CF подцепите одну еще до загрузки чтобы в системе существовало 1 действующее устройство и через него попробуйте сделать как описано в примере.
>3) если вы про модуль ide-disk, то это не помогает. во-всяком случае, это, скорее всего, не приводит к сканированию устройств. вы можете удалить сетевой модуль, например, от wi-fi, затем снова загрузить его, - соединение не порвётся.
О модулях - надо смотреть доки конкретно по вашему контроллеру - думаю там должны быть параметра для переинициализации контроллера.
не обычный, а файл блочного ус-ва, с major/minor 3/0.
через такие файлы ioctl и прочая лабуда попадают в ядро нужному модулю, который и обрабатывает файлы с соответствующими себе парами major/minor. писали, знаем.
>не обычный, а файл блочного ус-ва, с major/minor 3/0.
Ну если вы знаете то должны знать наверно еще и то что ide контроллер на плате вещь достаточно примитивная и всю нагрузку несет на себе контроллер встроенный в сам диск. Этим ide принципиально отличаются от scsi.
Приведенный выше скрипт у меня работал, но только когда устройство IDE работало НЕ через libata. Можно пересобрать ядро и отключить libata для ide дисков.
Как сделать горячую замену IDE на ядре с libata я и сам хотел бы узнать.