Автор Тема: Как настроить два приложения для записи дисков - Nero и Bresero?  (Прочитано 4405 раз)

Оффлайн montigomo

  • Давно тут
  • **
  • Сообщений: 359
  • Montigomo
    • Email
СУТЬ ПРОБЛЕМЫ
На ноутбуке установлены две программы для записи компакт-дисков: родная Brasero и сторонняя Nero for Linux.
Первая работает замечательно, а вот вторая капризничает. Как я понял, то проблема в том, что Nero определяет приводы для дисков как /dev/sg0 или /dev/sg1, а сама система эти приводы называет sr0 и sr1 (это видно из конфигурационного файла fstab).
В работе приложения Nero это проявляется вначале появлением предупреждения (см. фото), а затем "зависанием" при вводе команды "Записать диск".

ВОПРОС
Подскажите, пожалуйста, где и как можно исправить эту ошибку?

МАТЧАСТЬ
Ноутбук Lenovo R61, BaseAlt Workstation 8.1 (Mate).
Алексей ЕФАНОВ, г. СПб.; ноутбук Lenovo Т420;
BaseAlt Workstation 10.1 МАТЕ (x86_64)

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Напрашивающиеся варианты:
1) Покопаться в настройках Nero - вдруг есть настройка имени устройств?
2) Сделать симлинки типа /dev/sg0 --> /dev/sr0

Оффлайн montigomo

  • Давно тут
  • **
  • Сообщений: 359
  • Montigomo
    • Email
Конечно, я первым делом изучил конфигурационный файл .nero/config, но не нашёл там ничего, что было бы связано с именем устройств или приводов, за исключением нескольких строк:
<Option name='Copy on the fly' type='boolean' value='false' />
  <Option name='CD Copy source drive' type='scsi_device' device_name='TSSTcorp CDDVDW SN-208BB ' scsi_id='0' host_adapter='5' />
  <Option name='CD Copy source drive read speed in KBs' type='integer' value='3600' />
  <Option name='DVD Copy source drive' type='scsi_device' device_name='TSSTcorp CDDVDW SN-208BB ' scsi_id='0' host_adapter='5' />
  <Option name='DVD Copy source drive read speed in KBs' type='integer' value='0' />
  <Option name='Blu-ray Disc Copy source drive' type='scsi_device' device_name='' scsi_id='-1' host_adapter='-1' />
Алексей ЕФАНОВ, г. СПб.; ноутбук Lenovo Т420;
BaseAlt Workstation 10.1 МАТЕ (x86_64)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
https://forum.altlinux.org/index.php?topic=28619.315

Сизиф:
$ rpm -qf /lib/udev/rules.d/80-drivers.rules
udev-rules-232-alt3.git.486b3d0.noarch

$ diff 80-drivers.rules.p6.txt 80-drivers.rules.p7.txt
5,11c5,11
< DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe -bv $env{MODALIAS}"
< SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/sbin/modprobe -bv tifm_sd"
< SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/sbin/modprobe -bv tifm_ms"
< SUBSYSTEM=="memstick", RUN+="/sbin/modprobe -bv --all ms_block mspro_block"
< SUBSYSTEM=="i2o", RUN+="/sbin/modprobe -bv i2o_block"
< SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe -bv sg"
< SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/sbin/modprobe -bv ppdev"
---
> DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{builtin}="kmod load $env{MODALIAS}"
> SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN{builtin}="kmod load tifm_sd"
> SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN{builtin}="kmod load tifm_ms"
> SUBSYSTEM=="memstick", RUN{builtin}="kmod load ms_block mspro_block"
> SUBSYSTEM=="i2o", RUN{builtin}="kmod load i2o_block"
> SUBSYSTEM=="module", KERNEL=="parport_pc", RUN{builtin}="kmod load ppdev"
> KERNEL=="mtd*ro", ENV{MTD_FTL}=="smartmedia", RUN{builtin}="kmod load sm_ftl"
# modinfo sg
filename:       /lib/modules/4.4.47-std-def-alt1.1/kernel/drivers/scsi/sg.ko
alias:          char-major-21-*
version:        3.5.36
license:        GPL
description:    SCSI generic (sg) driver
author:         Douglas Gilbert
srcversion:     964BE9EB0C3796CC4937769
depends:        scsi_mod
intree:         Y
vermagic:       4.4.47-std-def-alt1.1 SMP mod_unload modversions 686
parm:           scatter_elem_sz:scatter gather element size (default: max(SG_SCATTER_SZ, PAGE_SIZE)) (int)
parm:           def_reserved_size:size of buffer reserved for each fd (int)
parm:           allow_dio:allow direct I/O (default: 0 (disallow)) (int)
# find /dev/ -name "*sg*"
/dev/bsg
/dev/kmsg
# modprobe sg
# find /dev/ -name "*sg*"
/dev/sg1
/dev/sg0
/dev/bsg
/dev/kmsg
# ls -l /dev/sg*
crw-rw---- 1 root disk  21, 0 мар 11 05:51 /dev/sg0
crw-rw---- 1 root cdrom 21, 1 мар 11 05:51 /dev/sg1
$ lsmod | grep 'scsi\|sg'
sg                     27282  0
scsi_mod              194338  4 sg,libata,sd_mod,sr_mod
$ wodim --devices
wodim: Overview of accessible drives (1 found) :
-------------------------------------------------------------------------
 0  dev='/dev/sg1' rwrw-- : 'Optiarc' 'DVD RW AD-7560A'
-------------------------------------------------------------------------

https://forum.altlinux.org/index.php?topic=157.msg210242#msg210242
« Последнее редактирование: 11.03.2017 06:34:12 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
# modprobe -r sg
$ wodim --devices
wodim: Cannot open SCSI driver!
For possible targets try 'wodim --devices' or 'wodim -scanbus'.
For possible transport specifiers try 'wodim dev=help'.
For IDE/ATAPI devices configuration, see the file README.ATAPI.setup from
the wodim documentation.
$ wodim --scanbus
wodim: Cannot open SCSI driver!
For possible targets try 'wodim --devices' or 'wodim -scanbus'.
For possible transport specifiers try 'wodim dev=help'.
For IDE/ATAPI devices configuration, see the file README.ATAPI.setup from
the wodim documentation.
$ wodim dev=help
Supported SCSI transports for this platform:

Transport name: sg
Transport descr.: Generic transport independent SCSI
Transp. layer ind.:
Target specifier: bus,target,lun
Target example: 1,2,0
SCSI Bus scanning: supported
Open via UNIX device: not supported

Transport name: ATA
Transport descr.: ATA Packet specific SCSI transport
Transp. layer ind.: ATAPI:
Target specifier: bus,target,lun
Target example: ATAPI:0,0,0
SCSI Bus scanning: supported
Open via UNIX device: not supported

Transport name: ATA
Transport descr.: ATA Packet specific SCSI transport using sg interface
Transp. layer ind.: ATA:
Target specifier: bus,target,lun
Target example: 0,0,0
SCSI Bus scanning: supported
Open via UNIX device: not supported

Transport name: RSCSI
Transport descr.: Remote SCSI
Transp. layer ind.: REMOTE:
Target specifier: rscsi@host:bus,target,lun
Target example: REMOTE:rscsi@host:1,2,0
SCSI Bus scanning: supported
Open via UNIX device: not supported

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Я не знаю зачем Nero использует драйвер sg (Scsi Generic), если обычный (нативный) драйвер номально работает.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
$ wodim --devices dev=/dev/cdrom
wodim: Overview of accessible drives (1 found) :
-------------------------------------------------------------------------
 0  dev='/dev/cdrom'    rwrw-- : 'TSSTcorp' 'CDDVDW SH-224BB'
---------------------------------------------------------------
$ ls -l /dev/cdrom
$ wodim --devices dev=/dev/sr0
wodim: Overview of accessible drives (1 found) :
-------------------------------------------------------------------------
 0  dev='/dev/sr0'      rwrw-- : 'TSSTcorp' 'CDDVDW SH-224BB'
-------------------------------------------------------------------------

#modprobe sg$ wodim --devices dev=/dev/sg2
wodim: Overview of accessible drives (1 found) :
-------------------------------------------------------------------------
 0  dev='/dev/sg2'      rwrw-- : 'TSSTcorp' 'CDDVDW SH-224BB'
-------------------------------------------------------------------------

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Я не знаю зачем Nero использует драйвер sg (Scsi Generic), если обычный (нативный) драйвер номально работает.

Потому что в ядре скази генерик драйвер был, есть и будет и выбрасывать его Линус не собирается. Зато udev-овцы выбросили правило, драйвер не поднялся и sg-транспорт рухнул, а wodim этим недоволен - скази драйвер давай. А Nero совсем колом стал. Т.е. завалил sg-драйвер не Линус. Ядро функциональность предоставляет. Проблема не в ядре, а у кого-то под шапкой.
« Последнее редактирование: 11.03.2017 12:29:00 от Speccyfighter »

Оффлайн montigomo

  • Давно тут
  • **
  • Сообщений: 359
  • Montigomo
    • Email
Ну, хорошо, пар выпустили...
А что же необходимо сделать, чтобы восстановить работоспособность?
Алексей ЕФАНОВ, г. СПб.; ноутбук Lenovo Т420;
BaseAlt Workstation 10.1 МАТЕ (x86_64)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Ну, хорошо, пар выпустили...
А что же необходимо сделать, чтобы восстановить работоспособность?

Ну так это... По моим выбросам выше уже видно что нужно сделать :-)
Сначала нужно сделать тест-контроль. Если работает, скопировать правило в /etc/..bla-bla и поправить его.

Вам пошагово или в общих чертах последовательность?

Грубо:
- через modinfo проверить наличие драйвера
- через modprobe поднять его
- проверить что модуль поднялся
- посмотреть через ls дэвайсы и посмотреть группу
- при необходимости добавить себя в группу и перелогиниться
- стартануть ниро и проверить на работоспособность

Если нира восстала из мёртвых:
- скопировать правило из /lib/bla в /etc/bla
- копипастом добавить правило для создания файла-устройства
- воспользоваться udevadm или перегрузиться
- пнуть ниру и проверить нашла ли устройство
- если нашла, радоваться жизни до первого обновления udev
- если udev обновился и diff находит ещё изменения кроме скопипасченой строки, повторить
- если diff других изменений не находит, забить, забыть и продолжать радоваться жизни

Всё. Всё просто :-)

Или :-)
- если всё нормально, брать альтовые исходники udev, патчить и собирать свой пакет
- с выходом каждой новой версии, повторять
- вступить в партию пофигистов, чтобы после N-ной пересборки не пробило на непереводимую на другие языки лексику в благодарностях к udev.
« Последнее редактирование: 13.03.2017 23:01:37 от Speccyfighter »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
У меня в p8  в TDE - достаточно загрузить sg

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
# ls /dev/sg*
ls: невозможно получить доступ к /dev/sg*: Нет такого файла или каталога
# modprobe sg
# ls /dev/sg*
/dev/sg0  /dev/sg1

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
$ ls -l /dev/sg*
crw-rw----  1 root disk  21, 0 мар 13 22:55 /dev/sg0
crw-rw----+ 1 root cdrom 21, 1 мар 13 22:55 /dev/sg1

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
В принципе он modprobe sg и костылём может засунуть в rc.local:
# grep -rHin ExecIf /etc/|grep rc.local
/etc/rc.d/init.d/local:28:ExecIfExecutable /etc/rc.d/rc.local
Для него это будет много проще.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
У меня в p8  в TDE - достаточно загрузить sg

Да у меня тоже. Но комильфо, это когда устройства создаются через udev.
Хотя в принципе как угодно, лишь бы поднялось.