Кто подскажет, на что багу вешать?
kernel-modules-bcmwl-std-def
Отправил:
https://bugzilla.altlinux.org/show_bug.cgi?id=31080вот только eject не отрабатывает -- хорошо бы докопать, я с polkit не дружу.
Ой Миш, это старая болезнь:
http://forum.altlinux.org/index.php/topic,31057.msg221232.html#msg221232Но возраст её ещё постарше будет.
В установленном regular-xfce-sysv-20150617-i586.iso при существующем:
# cat /etc/polkit-1/rules.d/60-sysvinit-mount.rules
polkit.addRule(function(action, subject) {
if ( ( action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" ) && subject.isInGroup("xgrp") )
{
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if ( ( action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount-other-seat" ) && subject.isInGroup("xgrp") )
{
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.udisks2.eject-media" && subject.isInGroup("xgrp") )
{
return polkit.Result.YES;
}
});
Лоток без диска
$ eject -v
eject: используется устройство по-умолчанию `cdrom'
eject: имя устройства - `cdrom'
eject: полное имя `/dev/cdrom'
eject: `/dev/cdrom' является ссылкой на `/dev/sr0'
eject: `/dev/sr0' не смонтировано
eject: `/dev/sr0' не является точкой монтирования
eject: `/dev/sr0' это не устройство с несколькими дисковыми разделами
eject: попытка извлечения `/dev/sr0' при помощи CD-ROM-команды
eject: CD-ROM-команда извлечения выполнена успешно
Вставил в лоток лицензионку видео, не смонтировано
$ eject -v
eject: используется устройство по-умолчанию `cdrom'
eject: имя устройства - `cdrom'
eject: полное имя `/dev/cdrom'
eject: `/dev/cdrom' является ссылкой на `/dev/sr0'
eject: `/dev/sr0' не смонтировано
eject: `/dev/sr0' не является точкой монтирования
eject: `/dev/sr0' это не устройство с несколькими дисковыми разделами
eject: попытка извлечения `/dev/sr0' при помощи CD-ROM-команды
eject: CD-ROM-команда извлечения выполнена успешно
Вставил и смонтировал через thunar
$ mount|grep sr0
/dev/sr0 on /media/X_FILES type udf (ro,nosuid,nodev,relatime,uid=500,gid=500,umask=77,iocharset=utf8,uhelper=udisks2)
Ну кто бы сомневался:
$ eject -v
eject: используется устройство по-умолчанию `cdrom'
eject: имя устройства - `cdrom'
eject: полное имя `/dev/cdrom'
eject: `/dev/cdrom' является ссылкой на `/dev/sr0'
eject: `/dev/sr0' смонтировано в `/media/X_FILES'
eject: размонтирование `/dev/sr0' из `/media/X_FILES'
umount: /media/X_FILES: umount failed: Операция не позволена
eject: не удалось размонтировать `/media/X_FILES'
Размонтировал, повторная попытка извлечения
$ mount|grep sr0
$
$ eject -v
eject: используется устройство по-умолчанию `cdrom'
eject: имя устройства - `cdrom'
eject: полное имя `/dev/cdrom'
eject: `/dev/cdrom' является ссылкой на `/dev/sr0'
eject: `/dev/sr0' не смонтировано
eject: `/dev/sr0' не является точкой монтирования
eject: `/dev/sr0' это не устройство с несколькими дисковыми разделами
eject: попытка извлечения `/dev/sr0' при помощи CD-ROM-команды
eject: CD-ROM- команда извлечения была безуспешной
eject: попытка извлечения `/dev/sr0' при помощи SCSI-команды
eject: SCSI-извлечение безуспешно
eject: попытка извлечения `/dev/sr0' при помощи команды для гибкого диска
eject: извлечение командой для гибкого диска безуспешно
eject: попытка извлечения `/dev/sr0' командой для ленточного накопителя
eject: команда для ленточного накопителя безуспешна
eject: не удалось извлечь. Последняя ошибка : Неприменимый к данному устройству ioctl
$ strace -e ioctl eject -v
eject: используется устройство по-умолчанию `cdrom'
eject: имя устройства - `cdrom'
eject: полное имя `/dev/cdrom'
eject: `/dev/cdrom' является ссылкой на `/dev/sr0'
eject: `/dev/sr0' не смонтировано
eject: `/dev/sr0' не является точкой монтирования
eject: `/dev/sr0' это не устройство с несколькими дисковыми разделами
eject: смена состояния лотка
ioctl(3, CDROMEJECT, 0) = -1 EIO (Input/output error)
ioctl: Ошибка ввода/вывода
+++ exited with 1 +++
А теперь кувалдой по проблеме:
# sdparm -C unlock /dev/sr0
/dev/sr0: Optiarc DVD RW AD-7560A DX06 [cd/dvd]
$ strace -e ioctl eject -vT
eject: используется устройство по-умолчанию `cdrom'
eject: имя устройства - `cdrom'
eject: полное имя `/dev/cdrom'
eject: `/dev/cdrom' является ссылкой на `/dev/sr0'
eject: `/dev/sr0' не смонтировано
eject: `/dev/sr0' не является точкой монтирования
eject: `/dev/sr0' это не устройство с несколькими дисковыми разделами
eject: смена состояния лотка
ioctl(3, CDROMEJECT, 0) = 0
+++ exited with 0 +++
Иногда гадский диск при повторной вставке в лоток, не хочет отображаться в левом окне thunar'a, т.е. распознаваться как новый вставленный.
В этом случае, чтобы при повторной вставке в лоток, в левом окне thunar диск отобразился, мы и по этой проблеме кувалдой:
# sync && echo 3 > /proc/sys/vm/drop_caches
Нужно сбросить кеш и буфера чтобы диск стал "новым".
Короче это тянет на баг некислых размеров. Даже на два.
Со вторым, нужно чтобы при извлечении лотка с диском, кеш и буфера сбрасывались, тогда в тюнар диск будет отображаться в ста случаях из ста, сколько его не дёргай.
... Я конечно не хочу флеймить, но иногда мне кажется, что современный Линукс порождает больше проблем чем решает. И не рОвня старому классическому надёжному как скала.
Но возможно это и старческое брюзжание...