Debian が NVMe を検出しない、ASUS Zenbook UX430UA

Debian が NVMe を検出しない、ASUS Zenbook UX430UA

新しく購入した Asus UX430UA で Win 10 / Debian 10 デュアル ブートを設定しようとしています。OEM SATA SSD を大容量の NVMe SSD (ADATA XPG SX8200) に交換し、以前他のシステムで行ったように、同じ SSD に両方の OS をインストールしようとしています。Debian インストーラーは SSD を検出しません。

USB スティックからの Debian Live 10.2 も、Debian 10.1 インストーラーもドライブを検出しません:

  • lsblkはUSBスティックである/dev/sdaのみを表示します
  • /dev/nvme* はありません

しかし、このドライブがこのラップトップで動作し、Debian でも動作できることはわかっています。

  • ドライブは同じラップトップ上の Windows で動作し、正常に起動します。
  • ドライブは別のマシン上の Debian 9 で動作します - Debian デスクトップを使用して、古い SSD から Windows インストールをクローンしました。
  • UEFI は NVMe ドライブを認識します (当然、Windows はそこから起動するため)。

Google とスーパーユーザー検索に基づいて、見つけられるものはすべて確認しました。

  • ASUS の Web サイトによると、このマシンの UEFI は最新バージョン (307) です。
  • CSM (互換性サポート モード) をオンまたはオフにしても効果はありません。
  • SATA RAID または Intel RST のオプションはありません。UEFI では、唯一の SATA オプションがすでに AHCI に設定されており、これを変更する他のオプションはありません。
  • セキュアブートはオフになっています。高速ブートはオフになっています。
  • NVMe SSD のファームウェアを更新するオプションはないようです。Adata のツール プログラムをインストールしましたが、ファームウェア更新ボタンをクリックすると Web サイトに移動するだけで、この製品のファームウェアをダウンロードすることはできません。

参考になれば:

sudo dmesg | grep -i nvme

[    1.441062] nvme nvme0: pci function 0000:03:00.0
[    1.665679] nvme nvme0: missing or invalid SUBNQN field.
[    1.668135]  nvme0n1: p1 p2 p3 p4 p5
[   36.017364] nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0xffff
[   36.049640] print_req_error: I/O error, dev nvme0n1, sector 1000215040
[   36.097358] nvme 0000:03:00.0: Refused to change power state, currently in D3
[   36.097634] nvme nvme0: Removing after probe failure status: -19
[   36.113518] Buffer I/O error on dev nvme0n1, logical block 125026880, async page read
[   36.115717] Buffer I/O error on dev nvme0n1p4, logical block 204784, async page read
[   36.115826] Buffer I/O error on dev nvme0n1p5, logical block 20479984, async page read
[   36.117946] Buffer I/O error on dev nvme0n1p1, logical block 66544, async page read
[   36.197378] nvme nvme0: failed to set APST feature (-19)

どのようなアイデアでも歓迎します!

答え1

動作しました。上記のコメントにある oldfred のアドバイスと、この投稿が役に立ちました:https://unix.stackexchange.com/questions/470778/nvme-missing-or-invalid-subnqn-field

ADATA XPG SX8200 は APST 電源管理とうまく連携しないようですので、起動時に無効にする必要があります。そのためには、インストーラの起動時に Linux 行にこのオプションを追加しました:

nvme_core.default_ps_max_latency_us=0

どうやら 5500 程度までの値も機能するようです。私の理解では、これにより SSD が省電力モードにならなくなるようです。

この件について ADATA に問い合わせたところ、保証期間内にユニットを交換すると申し出てくれましたが、この問題がファームウェアの新しいバージョンで解決されているかどうかは教えてくれませんでした。

関連情報