명령을 실행하려고 하면 fastboot
전송이 항상 잘못됩니다.빠른 검색USB 3.0 포트와 일부 비호환성을 지적합니다.
내 BIOS 설정에 강제 레거시 USB 2.0 모드가 존재하지 않습니다.운영 체제 측에서는 불가능합니다.따라서 저는 소프트웨어 솔루션에 의존해야 합니다. 여러 소스에서 레지스트리 키를 추가하여 Windows에 대한 솔루션을 제공하기 때문에 적어도 실현 가능해 보입니다.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100" /v "osvc" /t REG_BINARY /d "0000" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100" /v "SkipContainerIdQuery" /t REG_BINARY /d "01000000" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100" /v "SkipBOSDescriptorQuery" /t REG_BINARY /d "01000000" /f
그래서 내 질문은 다음과 같습니다Linux에서 동등한 솔루션은 무엇입니까?
Linux에서 BOS 설명자와 컨테이너 ID를 검색해 보았지만 libusb
소스 외에는 아무것도 찾지 못했습니다.
관련 dmesg
로그:
[ 1467.568758] usb 1-1: new high-speed USB device number 8 using xhci_hcd
[ 1467.718322] usb 1-1: New USB device found, idVendor=18d1, idProduct=d00d, bcdDevice= 1.00
[ 1467.718325] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1467.718326] usb 1-1: Product: Android
[ 1467.718327] usb 1-1: Manufacturer: Google
[ 1467.718327] usb 1-1: SerialNumber: 832ec5e4
////// Here I executed `fastboot devices`
[ 1476.552829] usb usb5-port1: over-current condition
[ 1476.636501] usb usb6-port1: over-current condition
[ 1484.336743] usb usb5-port1: over-current condition
[ 1484.416485] usb usb6-port1: over-current condition
[ 1487.100726] xhci_hcd 0000:00:14.0: USB core suspending port 1-1 not in U0/U1/U2
[ 1487.100879] usb 1-1: USB disconnect, device number 8
[ 1487.100987] usb 1-1: Failed to suspend device, error -32
[ 1490.074492] ucsi_acpi USBC000:00: UCSI_GET_PDOS returned 0 bytes
답변1
다양한 문서를 살펴본 후 문제를 해결한 방법은 다음과 같습니다.
echo -1 | sudo tee /sys/module/usbcore/parameters/autosuspend
echo '18d1:d00d:k' | sudo tee /sys/module/usbcore/parameters/quirks
echo 1 | sudo tee /sys/bus/usb/devices/1-1/power/pm_qos_no_power_off
echo | sudo tee /sys/bus/usb/devices/1-1/power/wakeup
echo on | sudo tee /sys/bus/usb/devices/1-1/power/control
echo -1 | sudo tee /sys/bus/usb/devices/1-1/power/autosuspend_delay_ms
echo n | sudo tee /sys/bus/usb/devices/1-1/power/usb2_hardware_lpm
약간 중복될 수도 있지만 작동합니다. 연결된 포트에 따라 USB 포트를 교체합니다. 내 장치는 Xiaomi Mix 2S입니다. 필요에 따라 18d1:d00d
문제가 있는 하드웨어를 변경합니다.
인용하다:https://www.kernel.org/doc/html/v4.15/driver-api/usb/power-management.html https://www.kernel.org/doc/html/v4.15/admin-guide/kernel-parameters.html?highlight=usb-storage.quirks
내 이유는,
- 문제는 다소 불규칙하게 발생하므로(때때로 삽입 후, 때로는 부트로더에 대한 몇 가지 쿼리 후에도) 자체 문제가 아닐 가능성이 높습니다
fastboot
. 전력 관련 문제는 이런 식으로 나타나는 경향이 있으므로 의심스럽습니다. lsusb -t
이 장치( ) 에 대한 전용 드라이버가 없으므로usbcore
"원시" USB 장치에 관심이 있을 수 있습니다.
전원 관리의 기본 메커니즘과 이것이 두 쿼리를 모두 우회하는 Windows 솔루션과 어떤 관련이 있는지 아직 잘 모르겠습니다. ~에 따르면이것, 이는 BOS 설명자와 LPM 용량 간의 관계일 수 있습니다.
이 답변을 추가로 확장해 주시면 감사하겠습니다.