Здравствуйте.
Нужно получить конвеер операций "создание iso-образа video-dvd диска---прожиг образа на болванку---проверка контр. сумм образа и болванки". Для всех этих операций при помощи гугла я нарыла соответствующие утилиты. Проблема в том, что лоток моего двд-привода после выдвигания не задвигается назад без внешнего механического воздействия (чуть поднять рукой). У growisofs не нашла опции, запрещающей выдвигание лотка и из-за этого конвеер останавливается. Есть ли какие-то варианты решения этой проблемы без замены growisofs на что-нибудь типа woodim? Мне growisofs не хочется менять так как уже вполне успешно прожгла несколько болванок ей и там есть опция -dvd-compat, которая делает хорошо для совместимости с железными плеерами.
growisofs и выдвигание лотка
Модератор: /dev/random
-
QWERTYASDF
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
-
Bizdelnick
- Модератор
- Сообщения: 21358
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: growisofs и выдвигание лотка
QWERTYASDF писал(а): ↑02.08.2013 02:52Мне growisofs не хочется менять так как уже вполне успешно прожгла несколько болванок ей и там есть опция -dvd-compat, которая делает хорошо для совместимости с железными плеерами.
Она чем-то отличается от -dao у wodim?
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
QWERTYASDF
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: growisofs и выдвигание лотка
Проблема после прожига остается - без извлечения лотка не обновляется информация об устройстве (приводе). Какой эквивалент выброса-захвата лотка можно применить?
-
Hephaestus
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: growisofs и выдвигание лотка
Я не понял, у Вас чисто механическая проблема с выдвиганием-задвиганием лотка? То есть проблема в самом лотке?
Тогда тут поможет только замена привода.
А так вообще команда eject. Выдвигает и задвигает лоток. В конвейер вполне можно воткнуть.
Только была у меня проблема на одной из прошлых версий growisofs - удалялись симлинки на устройства и болванка оказывалась запорченной.
Нужно было перед выдвиганием лотка с помощью eject выставить задержку (командой sleep), чтобы симлинки успели восстановиться. Величина задержки зависит от железа, но примерно секунд 8-10.
В 64-битной версии такой проблемы уже не было, но на всякий случай имейте в виду.
-
QWERTYASDF
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: growisofs и выдвигание лотка
Моя проблема: после прожига болванки, связка из dd и md5sum (надеюсь, правильно написала) не определяет содержимое /dev/dvd так, как определяет после выброса-загрузки лотка. А натурально открывать лоток я не хочу т.к. он не задвигается назад. Мой вопрос: можно ли что-то сделать на программном уровне, чтобы после прожига можно было вычислять контрольную сумму записанного без механического выдвижения лотка?
-
Hephaestus
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: growisofs и выдвигание лотка
QWERTYASDF писал(а): ↑04.08.2013 00:21Моя проблема: после прожига болванки, связка из dd и md5sum (надеюсь, правильно написала) не определяет содержимое /dev/dvd так, как определяет после выброса-загрузки лотка. А натурально открывать лоток я не хочу т.к. он не задвигается назад. Мой вопрос: можно ли что-то сделать на программном уровне, чтобы после прожига можно было вычислять контрольную сумму записанного без механического выдвижения лотка?
Выдвижение лотка вообще вещь необязательная.
У меня выдвижение лотка вообще не работало на прошлой версии growisofs из-за удаляемых симлинков на устройство и тем не менее, контрольные суммы считались и всё было нормально.
Проверял. Что с перезагрузкой лотка, что без - разницы не было никакой. Хотя может зависеть от привода.
На некоторых приводах автоматическая перезагрузка лотка вообще не происходит. Никогда. И всё работает.
Далее, поясните, что значит "не определяет содержимое /dev/dvd". В чём это выражается? Не показывает содержимое диска? Не даёт примонтировать?
Или не сходятся контрольные суммы? Тогда покажите, как именно Вы используете связку dd и md5sum.
Команды в студию.
На программном уровне можно удалять файл устройства и снова создавать его (силами udev или кто у Вас там).
Этого должно быть достаточно. Но это, повторяю, крайний случай. Скорее всего, для правильного подсчёта контрольной суммы это не требуется.
И да, лучше всего всё-таки заменить привод. Или привести в порядок лоток. Иначе его когда-нибудь заклинит насовсем. и случится это в самый ответственный момент. Ну и есть шанс получить разбалансировку - тоже ничего хорошего.
-
QWERTYASDF
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: growisofs и выдвигание лотка
Не даёт примонтировать, не сходятся контрольные суммы.
Вызывается с параметром - полным именем файла с образом.
Код: Выделить всё
#!/bin/bash
wodim dev=/dev/scd0 -dao speed=4 -v $1
MDP5ISO=`md5sum $1`
EXTENTS=`echo $(( $(ls -l $1 | awk '{ print $5 }') / 2048 ))`
MD5DVD=`dd if=/dev/dvd bs=2048 count=$EXTENTS | md5sum`
echo $MD5DVD
echo $MDP5ISO-
Hephaestus
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: growisofs и выдвигание лотка
А при перезагрузке лотка, стало быть, сходятся? Мда...
Так. wodim, я так понимаю, выбран потому, что позволяет не выдвигать лоток.
У меня имел место такой глюк: в процессе записи с помощью growisofs удалялся симлинк /dev/dvd из-за чего growisofs не мог выдвинуть лоток, хотя и пытался, в этот момент происходило перечитывание диска.
Попробуйте этот глюк "организовать" у себя.
У Вас схема будет примерно такая:
1. Запускаем запись с помощью growisofs в фоновом режиме, причём к устройству обращаемся через симлинк, например /dev/dvd
2. Удаляем симлинк /dev/dvd
3. growisofs пытается выдвинуть лоток, говорит: не могу.
4. Делаем небольшую задержку (секунд 5-8), чтобы вся эта кухня успела сработать.
5. Восстанавливаем симлинк.
6. Обращаясь к симлинку считаем контрольную сумму.
Идея бредовая, но чем чёрт не шутит - может и сработает.
На всякий случай: удаление симлинка во время записи может выйти боком, поэтому будьте готовы к риску в виде испорченной болванки.
Ещё вариант: удаление и добавление устройств на лету.
Это уже в паре с wodim без выдвижения лотка. После того, как сеанс записи нормально завершен, удаляем устройство, добавляем вновь, диск перечитывается.
Что-то типа этого http://habrahabr.ru/post/102387/
Но опять же, ознакомьтесь внимательно, не торопитесь, не напутайте ничего. Сам я это не пробовал, за последствия не отвечаю.
Самый лучший вариант: смените уже этот чёртов привод. Цена вопроса - 700-800 рублей. Что там за привод у Вас такой драгоценный, что Вы никак с ним не расстанетесь?
Или на худой конец, посмотрите у него транспорт, почему лоток не задвигается, может там пыль набилась - заклинивает.
-
QWERTYASDF
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: growisofs и выдвигание лотка
fflatx
Спасибо большое. Попробую Ваш совет когда будет время.
Привод у меня на данном компе - pioneer DVR-111D (вроде бы, пишу не с того компа, нет возможности посмотреть). Но вопрос обхода открытия/закрытия лотка принципиальный - на ноутах автоматики такой нету, а я как-раз сейчас основное рабочее место на ноут переношу...
Спасибо большое. Попробую Ваш совет когда будет время.
Привод у меня на данном компе - pioneer DVR-111D (вроде бы, пишу не с того компа, нет возможности посмотреть). Но вопрос обхода открытия/закрытия лотка принципиальный - на ноутах автоматики такой нету, а я как-раз сейчас основное рабочее место на ноут переношу...
-
Hephaestus
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: growisofs и выдвигание лотка
А на ноутовых приводах, возможно, открытие лотка и не понадобится. Я уже говорил, это зависит от привода, и мне встречались приводы, где лоток не перезагружался.QWERTYASDF писал(а): ↑10.08.2013 17:42Но вопрос обхода открытия/закрытия лотка принципиальный - на ноутах автоматики такой нету, а я как-раз сейчас основное рабочее место на ноут переношу...
Но, правда, за ноуты ручаться не буду, давно с ними дела не имел. На современных ноутах, вроде и приводов-то нет. Только внешние. А к внешним в полной мере относится то, что и к приводам на десктопах.
-
liaonau
- Сообщения: 390
- ОС: gentoo
Re: growisofs и выдвигание лотка
QWERTYASDF писал(а): ↑02.08.2013 02:52У growisofs не нашла опции, запрещающей выдвигание лотка и из-за этого конвеер останавливается.
Есть, но недокументированная -use-the-force-luke=notray.
Некоторым приводам вроде бы необходимо открываться после прожига чтобы правильно читать диск.
Не уверен, но может быть вместо извлечения можно использовать ioctl CDROMRESET?
Код: Выделить всё
#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/cdrom.h>
#include <unistd.h>
#define DEVICE "/dev/sr0"
int main(int argc, char* argv[])
{
int fd;
fd = open(DEVICE, O_RDONLY|O_NONBLOCK);
if (fd < 0)
{
perror("open");
return fd;
}
if (ioctl(fd, CDROMRESET, 1) < 0)
perror("ioctl");
close(fd);
return 0;
}