USB 대량 쓰기는 VM Linux(win7)에서는 작동하지만 기본 Linux(ubuntu 4.19)에서는 작동하지 않습니까?

USB 대량 쓰기는 VM Linux(win7)에서는 작동하지만 기본 Linux(ubuntu 4.19)에서는 작동하지 않습니까?

USB 허브를 통해 플래시된 맞춤형 보드에서 이상한 동작이 발생하고 있으며 근본 원인을 파악하려고 합니다.

로컬 컴퓨터에서 새로 고치려고 할 때(Linux XPS-15-9560 4.19.0-041900-generic #201810221809 SMP Mon Oct 22 22:11:45 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux), 실패:

 open("/dev/bus/usb/001/039", O_RDWR)    = 5
 read(5, "\22\1\0\2\0\0\0@U\t\30x\0\0\1\2\0\1\t\2 \0\1\1\0\300\20\t\4\0\0\2\377\377\377\0\7\5\201\2@\0\0\7\5\1\2@\0\0", 1024) = 50
 close(4)                                = 0
 close(3)                                = 0
 ioctl(5, USBDEVFS_CLAIMINTERFACE, 0x9f346b0) = 0
 ioctl(5, USBDEVFS_BULK, 0xffbc1d30)     = -1 ETIMEDOUT (Connection timed out)

그리고 해당 usbmon은 다음과 같습니다.

 ffff90732cdbbcc0 2090024900 S Ci:1:014:0 s a3 00 0000 0001 0004 4 <
 ffff90732cdbbcc0 2090024932 C Ci:1:014:0 0 4 = 03050000
 ffff90732cdbb6c0 2116444706 S Bi:1:015:1 -115 96 <
 ffff90732cdbb6c0 2116444759 C Bi:1:015:1 0 16 = 40800101 00000024 02575064 01108081
 ffff90732cdbb900 2116716579 S Bo:1:015:1 -115 1472 = c0050000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
 ffff90732cdbb900 2121948281 C Bo:1:015:1 -2 

구조는 다음과 같습니다.

 /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
    |__ Port 1: Dev 5, If 0, Class=Hub, Driver=hub/2p, 5000M                                      # USB 3 part of 8020
 /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 1: Dev 14, If 0, Class=Hub, Driver=hub/2p, 480M                                      # USB 2 part of 8020
        |__ Port 1: Dev 15, If 0, Class=Vendor Specific Class, Driver=, 480M                      # target board
        |__ Port 2: Dev 16, If 3, Class=Vendor Specific Class, Driver=ftdi_sio, 480M              # FTDI
        |__ Port 2: Dev 16, If 1, Class=Vendor Specific Class, Driver=ftdi_sio, 480M              # FTDI
        |__ Port 2: Dev 16, If 2, Class=Vendor Specific Class, Driver=ftdi_sio, 480M              # FTDI
        |__ Port 2: Dev 16, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 480M              # FTDI

정보보고서:

 [ 7718.687335] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
 [ 7718.687339] usb 1-1.1: SerialNumber: 800508593070
 [ 7718.688754] hub 1-1.1:1.0: USB hub found
 [ 7718.688798] hub 1-1.1:1.0: 2 ports detected
 [ 7718.975225] usb 1-1.1.1: new high-speed USB device number 17 using xhci_hcd
 [ 7719.075855] usb 1-1.1.1: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
 [ 7719.075862] usb 1-1.1.1: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
 [ 7719.076290] usb 1-1.1.1: New USB device found, idVendor=0955, idProduct=7818, bcdDevice= 0.00
 [ 7719.076296] usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
 [ 7719.076300] usb 1-1.1.1: Product: APX
 [ 7719.076304] usb 1-1.1.1: Manufacturer: NVIDIA Corp.
 [ 7719.159230] usb 1-1.1.2: new high-speed USB device number 18 using xhci_hcd
 [ 7719.259916] usb 1-1.1.2: New USB device found, idVendor=0403, idProduct=6011, bcdDevice= 8.00
 [ 7719.259923] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
 [ 7719.259927] usb 1-1.1.2: Product: Quad RS232-HS
 [ 7719.259931] usb 1-1.1.2: Manufacturer: FTDI
 [ 7719.266889] ftdi_sio 1-1.1.2:1.0: FTDI USB Serial Device converter detected
 [ 7719.267021] usb 1-1.1.2: Detected FT4232H
 [ 7719.267229] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB0
 [ 7719.267580] ftdi_sio 1-1.1.2:1.1: FTDI USB Serial Device converter detected
 [ 7719.267653] usb 1-1.1.2: Detected FT4232H
 [ 7719.267944] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB1
 [ 7719.268278] ftdi_sio 1-1.1.2:1.2: FTDI USB Serial Device converter detected
 [ 7719.268355] usb 1-1.1.2: Detected FT4232H
 [ 7719.268681] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB2
 [ 7719.269021] ftdi_sio 1-1.1.2:1.3: FTDI USB Serial Device converter detected 
 [ 7719.269100] usb 1-1.1.2: Detected FT4232H
 [ 7719.269333] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB3

잘못된 하드웨어 구성을 나타냅니다.

그러나 Win7의 VirtualBox ubuntu 16.04에서 동일한 작업을 실행하면 동일한 작업이 성공적으로 완료됩니다. (모든 USB 드라이버: ohci, ehci, xhci)

Dmesg는 여전히 동일한 maxpacket 설정이 잘못되었으며 현재 드라이버(예: ehci, ohci, xhci)에 따라 값이 다르다고 불평합니다.

IMHO가 하드웨어 구성이나 드라이버 문제를 배제하는 VM에서 동일한 구성이 작동하기 때문에 가능한 근본 원인이 혼란스럽습니다.

이 문제를 USB 드라이버 유지 관리 부서에 보고해야 합니까?

추가 디버깅에 대한 제안 사항이 있습니까?

관련 정보