TL;DR
grubの設定を書き換えて、iommuを有効にするんだ!
sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX=""
という行があるので、以下のとおりに書き換える。
GRUB_CMDLINE_LINUX="amd_iommu=force_enable iommu=pt"
sudo grub-mkconfig -o /boot/grub/grub.cfg
PCを再起動すると、背面USBポートが正常に動作するようになる。
てんまつ
minisforumというメーカーのミニPC、HM90を使っているのですが、どうやらIOMMUという機能が有効になっていないとなぜか背面USBポートが0〜数分しか動作しないようです(redditの投稿(英語))。
で、この機能を有効にするためにはintel製CPU用の設定とAMD製CPU用の設定があって、今回のミニPC HM90はAMD製CPUを搭載しているので、AMD製CPU用の設定を施してあげる必要があったようです。
設定方法はこちらのフォーラムの投稿(英語)のとおりでした。ただし、HM90のBIOS(正確にはUEFI)にはIOMMUをオンオフする項目がないようです
追記:
「IOMMU」は技術の総称で、AMD製CPUでは「AMD-Vi」と呼ばれているそうです。
そういえばそんな名前の項目が UEFI にあったような気がします。
まだ裏が取れていないので、とりあえず「項目がない」という内容は打ち消しています。
設定手順
詳細はTL;DRを参照してください。
/etc/default/grub
を編集してGRUB_CMDLINE_LINUX=""
という行の内容をGRUB_CMDLINE_LINUX="amd_iommu=force_enable iommu=pt"
に変更する- grubのコンパイルして
grub.cfg
を更新する - PCを再起動する
日本語では情報が少なかったので、情報共有ということで記事化しました。
この記事が誰かのお役に立ちますように。