부팅 중 Lenovo USB-C "하이브리드" 도크 연결: 부팅이 중단되고 zpool이 로드되지 않음

부팅 중 Lenovo USB-C "하이브리드" 도크 연결: 부팅이 중단되고 zpool이 로드되지 않음

나는레노버 씽크패드 P52Lenovo USB-C 하이브리드 도크(40AF, 바라보다피해야 할 부두...) Linux Mint 20.3 Una 일명우분투 20.04. 정말 멋진 여행이군요...

랩탑의 /home폴더는 ZFS 파일 시스템(zpool)에 있습니다. 운영 체제 자체는 에서 실행됩니다 btrfs. 그래픽 카드는 BIOS에서 독점(예: Nvidia)으로 전환되고 Nvidia 독점 드라이버에 의해 구동됩니다. 노트북 BIOS이미 업그레이드됨이 설정에서 마더보드가 손상되는 것을 방지하려면(매우 인상적인 BIOS 버그) 미리 최신 버전으로 업그레이드하십시오. Thunderbold 보안은 BIOS에서도 꺼져 있습니다. 흥미롭게 boltctl list도 Thunderbold 보안을 비활성화해야 하는데 실행 시 도크가 표시되지 않습니다. 여기서 '믹싱'이 필요한 것 같아요. DisplayLink 드라이버가 다음에서 제거되었습니다.여기. 나~해야 한다갈 준비를 하세요.

내가도킹 스테이션에서 연결이 끊어진 상태에서 노트북을 시작하세요.,모든 것이 정상입니다아름다운. 컴퓨터가 부팅되고 도크의 네트워크와 USB가 예상대로 작동하면 도크를 연결할 수 있습니다. (아직 디스플레이 연결 결함 문제를 해결해 본 적은 없습니다.)

내가도킹 스테이션을 노트북에 연결하고 시작하세요., 로그인 화면이 나타나기 전에 시작이 약 2분 동안 중단됩니다. 일반적으로 콘솔 출력 줄이 표시됩니다. 일반적으로 약간의 오류가 있지만 매번 다른 오류가 표시됩니다(예: ucsi_acpi USBC000:00 con1 failed to register alternate modes또는 bluetooth hci0 setting interface failed (71)). 이러한 오류는 도크 없이도 발생하는 것 같습니다. 오류가 걸려 있는 것을 볼 수 있기 때문인 것 같습니다. 시간 초과가 지날 때까지 기다리는 동안 일반적인 그래픽 로그인 화면이 표시되지만 로그인 시도가 실패합니다. 이 시점에서 나는 내 zpool이 사라져서(도크가 연결된 상태에서 시작할 때마다) 사용자가 로그인할 수 있는 사용자 폴더가 없다는 것을 알았습니다. 명령줄( Ctrl+F1)로 전환하여 확인했는데 zpool status아무것도 없습니다. 수동 zpool import data, 콘텐츠가 /home다시 나타나고 로그인 화면( Ctrl+F7)으로 돌아가며 모든 것이 잘 작동합니다.

시간 초과와 내 zpool이 사라졌다는 사실은 커널 모듈 로드 또는 초기화 중 일종의 오류, 아마도 일이 발생한 순서를 암시합니다. 비록 이것을 디버깅하는 방법이나 무슨 일이 일어나고 있는지 잘 모르겠지만 말이죠. 도크가 없으면 모든 것이 예상대로 작동합니다.


저는 시각 장애인을 위해 이 시스템의 문제를 해결하고 있습니다. 도킹 스테이션의 핵심은 노트북에 연결/분리할 수 있는 케이블 수가 적다는 것입니다. 내 상황을 초래한 것은 케이블을 연결하고 분리하는 일반적인 어려움이었습니다. 따라서 이 케이블 하나를 사용하더라도 "매번 기계를 시작하기 전에 케이블을 뽑기만 하면 됩니다. 케이블을 가지고 있지 않더라도"는 나에게 어려운 일입니다.

답변1

ZFS 풀은 부팅 중에 이 서비스를 통해 가져옵니다 zfs-import-cache.service. 내 경우에는 실패했습니다 result dependency.

종속성을 확인하여 systemd-udev-settle.service이전에 실패했음을 발견 Main process exited, code=exited, status=1/FAILURE하고 보고했으며Failed with result 'exit-code'.

Dock이 연결된 경우에만 이런 현상이 발생하기 때문에 결국 DisplayLink 및 관련 오류를 살펴보았습니다. 나는 이것을 찾았다보석. /opt/displaylink/udev.shudev 서비스에 의해 호출되고 시간 초과가 발생한 것으로 밝혀졌습니다 . 이는 알려진 문제입니다. ZFS와는 아무 관련이 없으며 단지 불행한 일련의 이벤트일 뿐입니다. 문제는 이미2년 넘게 서로 알고 지낸 사이다양한 패키지 프로그램이 있지만 DisplayLink 드라이버에서는 여전히 수정되지 않았습니다.주변을 해킹하세요.

나는 이 해킹을 적용했습니다. 즉, 다음과 같이 displaylink-driver내에서 서비스를 시작했습니다 /opt/displaylink/udev.sh.systemctl start --no-block displaylink-driver

실제로 --no-block매개변수만 추가했습니다.이것은 내 문제를 해결했습니다.도크에 연결된 외부 모니터도 실제로 예상대로 작동합니다.

관련 정보