![USB 3.x 플래시 드라이브를 삽입하고 제거하면 USB 3.2 SSD 속도가 "수정"됩니다(이전에는 2.0 속도로 실행).](https://linux55.com/image/186963/USB%203.x%20%ED%94%8C%EB%9E%98%EC%8B%9C%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%A5%BC%20%EC%82%BD%EC%9E%85%ED%95%98%EA%B3%A0%20%EC%A0%9C%EA%B1%B0%ED%95%98%EB%A9%B4%20USB%203.2%20SSD%20%EC%86%8D%EB%8F%84%EA%B0%80%20%22%EC%88%98%EC%A0%95%22%EB%90%A9%EB%8B%88%EB%8B%A4(%EC%9D%B4%EC%A0%84%EC%97%90%EB%8A%94%202.0%20%EC%86%8D%EB%8F%84%EB%A1%9C%20%EC%8B%A4%ED%96%89)..png)
저는 최근 SanDisk 2TB Extreme PRO 휴대용 SSD(모델 SDSSDE81-2t00)를 구입했습니다. Linux 시스템에 연결하고 백업을 수행한 후 느리게 실행되는 것을 발견했습니다. dd
꽤 낮은 속도(50MBps 미만)를 보여주는 몇 가지 테스트를 거친 후 실행 lsusb -t
해 보니 "고속" USB 2.0인 480M이 보고되었습니다.
$ lsusb
Bus 001 Device 002: ID 8087:8001 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 005: ID 04f2:b449 Chicony Electronics Co., Ltd Integrated Camera
Bus 002 Device 003: ID 138a:0017 Validity Sensors, Inc. VFS 5011 fingerprint sensor
Bus 002 Device 011: ID 0781:55af SanDisk Corp. Extreme Pro 55AF <--- here
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ lsusb -t
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/11p, 480M
|__ Port 1: Dev 11, If 0, Class=Mass Storage, Driver=uas, 480M <--- here
|__ Port 6: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
|__ Port 8: Dev 5, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 8: Dev 5, If 1, Class=Video, Driver=uvcvideo, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
추가 문제 해결 후 작동하는 것으로 알려진 USB 3.x 플래시 드라이브를 연결했는데 속도가 올바르게 5000M로 표시되었습니다.
$ lsusb -t
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 1: Dev 18, If 0, Class=Mass Storage, Driver=usb-storage, 5000M <--- here
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/11p, 480M
|__ Port 6: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
|__ Port 8: Dev 5, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 8: Dev 5, If 1, Class=Video, Driver=uvcvideo, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
그런 다음 새 SSD를 다시 연결했는데 속도가 5000M로 보고되었습니다! 다른 Linux 상자에서 이 테스트를 확인했는데 동일한 결과가 나타났습니다. 커널은 다음과 같습니다
- 4.19.107 (언레이드 서버)
- 5.4.0-64-유니버설(우분투)
Driver=uas
운전자가 저속으로 주행하다가 Driver=usb-storage
퇴근 후 운전상태로 전환한 점도 주목할 만하다 . 커널 모듈이 아직 로드되지 않았는데 플래시 드라이브로 인해 로드가 발생하고 있는 것일까요?
간단히 말해서:
- 새로운 SSD는 USB 2.0 속도를 보여줍니다(실제로 보고된 대로
lsusb
). - SSD를 분리하고 USB 3.0 플래시 드라이브를 삽입한 후 플래시 드라이브를 제거하고 SSD를 다시 삽입하세요.
- 이제 SSD 속도가 정확합니다(실제로는 물론 까지
lsusb
). - 두 컴퓨터 모두에서 재현 가능
왜 이런 일이 발생합니까? 추가로 어떤 문제 해결을 할 수 있나요?이것이 Linux 커널 버그라면 제대로 보고할 수 있을 만큼 충분한 정보를 수집하고 싶습니다.
답변1
내 커널 모듈 이론이 정확하다는 부분적인 대답이 있습니다. lsmod
썸 드라이브 삽입/제거 트릭 전후의 출력을 비교했는데 결과는 매우 명확합니다.
$ diff lsmod.txt lsmod.txt2
36c36
< usb_storage 77824 1 uas
---
> usb_storage 77824 4 uas
다음을 통해 이 상태를 복사한 후:
$ sudo modprobe usb_storage
추가 트릭 없이 드라이브를 최대 속도로 실행할 수 있습니다.
더 자세한 내용을 제공할 수 있는 다른 답변을 환영합니다.