우분투 18.04에서는 usbmon을 사용하여 다음을 통해 버스 1의 ISO USB 트래픽을 볼 수 있습니다.
cat /sys/kernel/debug/usb/usbmon/1u
이 줄은 ISO 패킷을 보여줍니다.
ffff8ac78a58d300 1916648463 C Zi:1:013:1 0:1:450:0 1 0:0:32 34 = 00000000 ....
장치에서 호스트로 전송된 32바이트를 볼 수 있습니다. 엄청난! ISO 패킷은 USB 마이크에서 생성됩니다.
그러나 USB 장치를 연결한 후에는 처음 3000개 정도의 패킷 중 ISO 패킷만 덤프합니다. USBmon이 ISO 패킷을 덤프하도록 하는 방법이 있습니까?
편집: usbmon이 커널 공간에서 실행되기 때문에 내가 묻는 질문은 실용적이지 않을 수 있는 것 같습니다. 재부팅 시 ISO 데이터를 덤프하기 위해 사용자 공간 이벤트를 사용하도록 usbmon을 수정할 수 있지만 이를 위해서는 usbmon 개발자의 일부 변경이 필요합니다. 현재는 장치를 다시 연결한 후 ISO 패킷 덤프를 얻는 것에 만족합니다.
usbmon 드라이버 파일을 읽으십시오. mon_bin.c에는 MON_IOCH_MFLUSH가 있습니다. 저는 usbmon에 익숙하지 않습니다. 어쩌면 사용자 공간 usbmon API/ioctl()을 사용하여 버퍼에 저장된 동기화 패킷을 플러시할 수 있습니다. 제가 보기에는 usbmon이 커널에 로드되는 한 USB 성능에 영향을 미칠 것 같습니다.