no kernel linux 2.6.34 ou na versão mais antiga, quem envia um cmd scsi para abrir a porta ao pressionar o botão de ejeção do cdrom? [fechadas]

1

como título. O cmd scsi é algo como 0x1b 0x00 0x00 0x02.

Estou tentando estudar o kernel, mas não consigo deixar claro.

Existe uma interrupção produzida ao pressionar ou alguém está pesquisando o status do cdrom?

Eu acho que não é enviado por algum aplicativo chamado por regras do udev como o novo sistema.

    
por zuobiaozhang 03.03.2017 / 13:14

1 resposta

0

O botão de ejeção é tratado pela própria unidade. Você pode impedir que uma unidade manipule as impressoras de ejeção travando a mídia (comando 1E, impedir / permitir remoção média; scsi_set_medium_removal no kernel), o que o kernel faz quando um CD é montado, mas fora isso o software não está envolvido no manuseio da ejeção em reação a pressionar o botão de ejeção na unidade.

Na versão do kernel 2.6.34, o comando de carga / descarga (ejetar) do SCSI é chamado GPCMD_START_STOP_UNIT , e você o encontrará usado em sr_tray_move in drivers/scsi/sr_ioctl.c .

    
por 03.03.2017 / 13:43

Tags