Я тут пишу прогу для записи болваней под Линь, она юзает SCSI generic. Пока пишу модуль, который в обьект класса Bolvan загоняет всю инфу о болванке, которую пользователь захотел изувечить моей прогой :). Насобачился доставать всю инфу, вот только проблема со скоростью чтения/записи с/на эту(ой) болванку. Есть команда GET DISK INFO, там есть поле OPC, где я могу доастать текущую скорость (Kb/sec). Но я не могу достать максимальную. Конечно можно с помощью команды SET CD SPEED сперва максимально притормозить болвань, измерить скорость (из OPC) , затем разогнать и снова измерить оба показателя (скорости чтения и записи). Но на это тратится слишком много времни. Чего делать?
P.S.: Прошу без комментариев по типу (а зачем тебе изобретать велосипед, когда есть cdrecord и туева хуча оболочек к нему). Отвечаю сразу: просто мне интересно, кроме того я хочу досканально все это изучить, а кроме того мне влом парится с cdrecord :)
P.P.S.: Если кто хочет доки почитать:
www.opennet.ru/docs/HOWTO/SCSI-Generic-HOWTO/index.html
/*это дока про принципы SCSI-generic кодинга*/
http://www.t10.org/ftp/t10/drafts/mmc4/mmc4r02f.pdf
/*Это дока называется MMC-4, там 627 страниц английского текста :), но там описаны все команды и стандарты для CD/DVD приводов. */
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
cdrecord выдает скорость. что мешает покопаться в его сорцах?
Копался. Там в сишниках — только интерфрейс. Реализация команд в обьектниках
да ну. проект в сорцах. кросплатформенный. копай еще
Где именно копался?
Скорее всего до сырцов с нужным тебе примером ты просто не добрался.
Копался два дня. Нашел даже нужную функцию. Но реализация этой функции — в обьектнике, к которому нету сорца.
Т.е КАК нету?
Происхождение и описание сырцов, в которых ты рылся?
Не помню откуда взял, но это тарболл cdtools 2.00 в котором часть файлов — сырцы, а чать — уже скомпиленный обьектники.
возьми оригинал с ftp авторов. линк могу найти если сам не справишься
Ну линк должен быть в COPYING/README, но кто гарантирует что у авторов на ftp лежит все в сырцах, не в обьектниках?
а ты не поленись и сходи. посмотри на скольких системах его можно собрать и задай потом себе вопрос, а возможно ли это используя «мифические» бинарники.
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/man/README/README-2.0
Возможно. cdrecord юзает SCSI generic драйвер, он общий во всех никсах. Т.е. именно низкоуровневая реализация команд вполне может быть в обьектнике.
P.S.: Сайт у девелоперов немецкий, не понятно ни хрена. Но я думаю что вряд ли кто-нибудь будет брать дистр cdrecordа, компилить чать сишников в обьектники и класть обратно в инет.
да по..ть на низкоуровневость скази. есть такая штука как линковка. в том числе с системными либами. е..ать…
Ну и в какой же либе есть SCSI API??
SCSI апи — смешно =) я про то что программа которая собирается и работает под кучу платформ не может содержать объектники. ибо это сделает ее к примеру неработоспособной на платформе с разным порядком следования старших\младших байтов памяти.
скорость записывается в служебном секторе болванки. на заводе
Ну и где же этот сектор? По идее он должен быть на lead-in, там вся инфа о сидюке. Но про скорость там ни слова.