起動中のLenovo USB-C「ハイブリッド」ドック接続:起動が中断され、zpoolがロードされない

起動中のLenovo USB-C「ハイブリッド」ドック接続:起動が中断され、zpoolがロードされない

Lenovo ThinkPad P52Lenovo USB-Cハイブリッドドック40AF、望むより避けるべき桟橋...) Linux Mint 20.3 Una 別名Ubuntu 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つ使用しても「毎回機械を起動する前にケーブルを抜くだけです。ケーブルを持っていなくても」は私にとって難しいことです。

答え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.shsystemctl start --no-block displaylink-driver

実際に--no-blockパラメータのみを追加しました。これは私の問題を解決しました。ドックに接続された外部モニタも実際に期待どおりに動作します。

関連情報