Como desmontar o dvd (external usb) através do botão de ejecção no dispositivo?

1

Eu tenho um problema com o meu DVD drive USB externo. Tudo funciona bem, a montagem funciona, desmontar ou ejetar através de trabalhos de shell. Mas se eu pressionar o botão de ejeção no dispositivo, basta ejetar o dvd, mas não desmontá-lo. Minha melhor solução para esse problema é executar um script com um atalho no teclado. Mas isso não é realmente satisfatório. Existem algumas opções para resolver este problema com o botão de ejeção normal no DVD-Drive?

Obrigado pela sua ajuda.

EDITAR: Saída 'udevadm info --version'

175

Saída 'cat /lib/udev/rules.d/60-cdrom_id.rules | grep DISK_EJECT_REQUEST '

ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $tempnode", GOTO="cdrom_end"

Saída 'uname -a'

Linux raspberrypi 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l GNU/Linux

Envie o 'udevadm monitor' inserindo (todas as 4 entradas) e remova (sem entrada)

monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[682164.008310] change   /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/host0/target0:0:0/0:0:0:0/block/sr0 (block)
UDEV  [682164.057144] change   /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/host0/target0:0:0/0:0:0:0/block/sr0 (block)
KERNEL[682174.005812] change   /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/host0/target0:0:0/0:0:0:0/block/sr0 (block)
UDEV  [682174.655906] change   /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/host0/target0:0:0/0:0:0:0/block/sr0 (block)
    
por SimonA 27.05.2015 / 10:10

1 resposta

0

Há um "bug" de longa data nos udisk que faz com que isso aconteça. Na verdade, é um comportamento "normal" para os udisks - os drives óticos são um pouco mais complicados quando, embora a mídia seja removida, a unidade ainda esteja presente. Isso foi relatado no bugtracker do Ubuntu há algum tempo e uma solução alternativa usando o udev foi sugerida:

link

Você já tem um script que desmontará a unidade - para que isso seja executado quando o disco for ejetado, adicione o seguinte a uma regra do udev, por exemplo, /etc/udev/rules.d/70-unmount-cd.rules

KERNEL=="sr0", ACTION=="change", RUN+="/path/to/your/unmount/script.sh"

Há uma boa quantidade de informações no link acima, então verifique isso também.

HTH!

    
por 27.05.2015 / 13:12