![Linux 2.6.34 커널 이하에서는 CDROM의 꺼내기 버튼을 눌렀을 때 문을 열도록 scsi cmd를 보내는 사람은 누구입니까? [폐쇄]](https://linux55.com/image/106705/Linux%202.6.34%20%EC%BB%A4%EB%84%90%20%EC%9D%B4%ED%95%98%EC%97%90%EC%84%9C%EB%8A%94%20CDROM%EC%9D%98%20%EA%BA%BC%EB%82%B4%EA%B8%B0%20%EB%B2%84%ED%8A%BC%EC%9D%84%20%EB%88%8C%EB%A0%80%EC%9D%84%20%EB%95%8C%20%EB%AC%B8%EC%9D%84%20%EC%97%B4%EB%8F%84%EB%A1%9D%20scsi%20cmd%EB%A5%BC%20%EB%B3%B4%EB%82%B4%EB%8A%94%20%EC%82%AC%EB%9E%8C%EC%9D%80%20%EB%88%84%EA%B5%AC%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
scsi cmd는 0x1b 0x00 0x00 0x02와 유사합니다.
커널을 조사하려고 하는데 알 수 없습니다.
누르거나 누군가 CDROM 상태를 폴링할 때 인터럽트가 발생합니까?
새로운 시스템과 같이 udev 규칙에 의해 호출되는 일부 응용 프로그램에서는 전송되지 않는 것 같습니다.
답변1
꺼내기 버튼은 드라이브 자체에서 처리됩니다. 미디어를 잠그면(커널에서 명령 1E, 미디어 제거 방지/허용) 드라이브가 꺼내기 누르기를 처리하는 것을 방지할 수 있습니다. scsi_set_medium_removal
커널은 CD를 마운트할 때 이 작업을 수행하지만 그렇지 않으면 소프트웨어가 꺼내기 처리에 관여하지 않습니다. 누르기에 대한 반응 드라이브의 꺼내기 버튼.
커널 버전 2.6.34에서는 SCSI 로드/언로드(꺼내기) 명령이 호출되며 에서 사용되는 GPCMD_START_STOP_UNIT
것을 볼 수 있습니다 .sr_tray_move
drivers/scsi/sr_ioctl.c