LINUX.ORG.RU

IDE диск на ходу.


0

0

Господа, у меня есть переходник CF<->IDE на 2 карточки, хотелось бы на ходу подключать одну из компакт-флешек. Друг во фре это делал, там какая-то утилитка типа ide* чего-то там. А в линуксе что?

hdparm -R 0x170 0 0 /dev/hda не прокатил. Наверное, есть какие-то новые способы?

Помогите, кто знает.

★★

Ответ на: комментарий от one117

не катит. я тоже так и пробовал.

1) /dev/hda по-просту нет. Даже когда я его сделал, говорит:
hdparm -R 0x1f0 0 0 /dev/hda
/dev/hda: No such device or address

хотя
stat /dev/hda
File: `/dev/hda'
Size: 0 Blocks: 0 IO Block: 4096 block special file
Device: eh/14d Inode: 3831130 Links: 1 Device type: 3,0
Access: (0644/brw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2008-06-11 19:19:53.610837006 +0400
Modify: 2008-06-11 19:19:53.610837006 +0400
Change: 2008-06-11 19:19:53.610837006 +0400

вот я и думаю - что такого линукс делает при загрузке, что IDE видно. и как это повторить?

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

почему бы и нет? остальное - на сата всё равно.

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

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

Вообще, hotplug на IDE говорят работает. Риск винчестером - это понятно, дело экспериментатора, но сам факт что оно как-то работает - удивителен.

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

С винтом получалось, но очко сжималось до невозможности. Можно попробовать еще загнать комп в hibernate, подрубить винт и разбудить. Можно еще и на саспенде попробовать, но я не знаю, что он в этом случае с контроллером делает.

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

Работа с usb требует нехилых ресурсов процессора. В любом случае тогда проще CF <-> USB картридер купить - стоит копейки.

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

ёё.

CF-IDE переходник используется для того, чтоб в старом железе использовать _это_ как диск IDE. чё тут непонятного? usbdisk на 1.1??? ну-ну.

не знаете как - не засирайте ветку. для засира есть толкс.

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

>почему бы и нет? остальное - на сата всё равно.

>CF-IDE переходник используется для того, чтоб в старом железе использовать _это_ как диск IDE. чё тут непонятного? usbdisk на 1.1??? ну-ну.

>ууу. ещё один спец.

Да вы я вижу тоже офигенный спец да к тому же еще и с неадекватными манерами.

1 Хотите сказать что у вас плата с sata и поддерживает только usb 1.1 ? Можете это своей бабушке рассказывать.

2 Чтобы послать команды контроллеру через hdparm я так понимаю нужен хотя бы один работающий диск - там в примере не зря hdparm /dev/hda хотя фактически подрубался hdd - нужен какой-то файл устройства в качестве параметра причем действительный а не пустое место.

3 Если таких файла нет - дисков ide нет - то никто не мешает просто выгрузить модуль а после подключения устройств снова его подгрузить, если у вас действительно "все остальное на сата"

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

0) манеры - я вежливо попросил не засирать ветку. Но тут, я вижу, не только принято не ходить по ссылкам (что обычай, да, его надо уважать), но даже и читать ветку целиком.

1) САТА на рабочей машине (которая на рабочем месте, в которую временно всё это втыкается). Там, где это будет работать, сата нет. Усб там 1.1, есть вообще без усб. Вопрос - не в том есть сата, или нет.

2) пример, видимо, старый. сейчас ядро работает на libata, hdparm, видимо, не всегда срабатывает. /dev/hd* я создал руками, результат - 0 (выше про это написано).

3) если вы про модуль ide-disk, то это не помогает. во-всяком случае, это, скорее всего, не приводит к сканированию устройств. вы можете удалить сетевой модуль, например, от wi-fi, затем снова загрузить его, - соединение не порвётся.

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

>2) пример, видимо, старый. сейчас ядро работает на libata, hdparm, видимо, не всегда срабатывает. /dev/hd* я создал руками, результат - 0 (выше про это написано).

То что вы создали руками файл устройства - вообще не значит что оно вдруг появится :) Вы создали обычный файл. Нужно чтобы существовал реально этот диск - как вариант если это правда что у вас 2 CF подцепите одну еще до загрузки чтобы в системе существовало 1 действующее устройство и через него попробуйте сделать как описано в примере.

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

>3) если вы про модуль ide-disk, то это не помогает. во-всяком случае, это, скорее всего, не приводит к сканированию устройств. вы можете удалить сетевой модуль, например, от wi-fi, затем снова загрузить его, - соединение не порвётся.

О модулях - надо смотреть доки конкретно по вашему контроллеру - думаю там должны быть параметра для переинициализации контроллера.

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

не обычный, а файл блочного ус-ва, с major/minor 3/0.

через такие файлы ioctl и прочая лабуда попадают в ядро нужному модулю, который и обрабатывает файлы с соответствующими себе парами major/minor. писали, знаем.

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

>не обычный, а файл блочного ус-ва, с major/minor 3/0.

Ну если вы знаете то должны знать наверно еще и то что ide контроллер на плате вещь достаточно примитивная и всю нагрузку несет на себе контроллер встроенный в сам диск. Этим ide принципиально отличаются от scsi.

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

Приведенный выше скрипт у меня работал, но только когда устройство IDE работало НЕ через libata. Можно пересобрать ядро и отключить libata для ide дисков.

Как сделать горячую замену IDE на ядре с libata я и сам хотел бы узнать.

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