pacman -Syu
してカーネルをアップグレードしたら、
==> Building image from preset: /etc/mkinitcpio.d/linux510.preset: 'default' -> -k /boot/vmlinuz-5.10-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.10-x86_64.img ==> Starting build: 5.10.56-1-MANJARO -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [autodetect] -> Running build hook: [modconf] -> Running build hook: [block] ==> WARNING: Possibly missing firmware for module: xhci_pci -> Running build hook: [filesystems] -> Running build hook: [keyboard] -> Running build hook: [fsck] ==> Generating module dependenciesなどという警告が出てきました。
この
xhci_pci
は、RenesasのuPD72020xというUSB3コントローラのようで、おそらくそのファームウェアがライセンスの関係で同梱できないためにインストールされない、ということのようです。ぐぐってみるとkernel-5.8以降で話題になっているようなので、そのタイミングで同梱されなくなったのかもしれません。kernel.orgのBugzillaでは、Bug 208911 - Renesas USB controller - FW has invalid version :8224というのが上がっています。
Renesasからはバイナリが提供されているためこれをインストールできればよいのですが、Manjaroではパッケージの提供がありません。このファームウェアなしでもUSBは動作しますが、パフォーマンスが出ないというような書込みも見られます。
一方、ManjaroのベースとなっているArchLinuxではAURにてパッケージが提供されています。ところがManjaroではAURからのインストールはできません。パッケージをダウンロードしてきてオフラインインストールしようと
pacman -U
しても「パッケージが破損している」というメッセージが出てきてインストールできません。
mito /home/kats% sudo pacman -U upd72020x-fw.tar.gz パッケージをロード... エラー: upd72020x-fw.tar.gz にパッケージのメタデータが見つかりません エラー: 'upd72020x-fw.tar.gz': 無効または破損したパッケージ
同じpacmanでも、ArchLinuxとManjaroでは管理方法が違うためにエラーになります。 Manjaroでは、ユーザの自己責任でAURからパッケージをインストールするサポートツールの
yay
があり、これを使えばインストールできるようです。
yay
はrootやsudoで実行してはいけません。
mito /home/kats% sudo yay -Syua -> yay を root や sudo で実行しないでください。
-Syua
はAURのリポジトリのみを更新するためのオプションです。
mito /home/kats% yay -Syua :: AUR からアップデートを検索... -> python2-gobject2: ローカルのパッケージ (2.28.7-7) は AUR (2.28.7-6) よりも新しいバージョンです -> 存在しない AUR パッケージ: geneigothicm gksu-polkit gtk-xfce-engine js52 js60 libnm-glib libnm-gtk libopenaptx linux-latest linux-latest-headers linux-latest-r8168 linux59 linux59-headers linux59-r8168 mhwd-catalyst mhwd-nvidia-304xx mhwd-nvidia-340xx orage python-sip-pyqt5 python2-gevent python2-pyqt5 python2-sip-pyqt5 uwsgi-plugin-python2 xf86-input-keyboard xf86-input-mouse -> メンテナが存在しない AUR パッケージ: idnkit python-lazr-smtptest python2-trollius zinnia -> 古いバージョンのフラグが立てられた AUR パッケージ: moinmoin :: 9 アップグレードするパッケージ。 9 aur/chrome-remote-desktop 77.0.3865.32-1 -> 92.0.4515.41-1 8 aur/idnkit 2.3-3 -> 2.3-4 7 aur/makefontpkg 20160320-1 -> 20200526-1 6 aur/nkf 2.1.5-1 -> 2.1.5-2 5 aur/python-lazr-smtptest 2.0.3-1 -> 2.0.4-1 4 aur/python2-futures 3.3.0-2 -> 3.3.0-3 3 aur/python2-greenlet 1.0.0-1 -> 1.1.0-1 2 aur/tortoisehg-hg 4.9.1.18769-1 -> 5.5.1.19453-1 1 aur/xdg-su 1.2.3-1 -> 1.2.3-2 ==> 除外するパッケージ: (例: "1 2 3", "1-3", "^4" またはリポジトリ名) ==> ^C mito /home/kats% yay -Ss upd72020 aur/upd72020x-fw 20200826-3 (+38 4.39) Renesas uPD720201 / uPD720202 USB 3.0 chipsets firmwareAURではManjaroのリポジトリよりも新しいものがあるためアップグレードのメッセージが出ますが、これらは無視します。
mito /home/kats% yay -S upd72020x-fw :: 衝突を確認... :: 内部衝突を確認... [Aur:1] upd72020x-fw-20200826-3 :: PKGBUILD のダウンロード (1/1): upd72020x-fw 1 upd72020x-fw (ビルドファイルが存在) ==> 差異を表示しますか? ==> [N]なし [A]全て [Ab]中止 [I]インストール済み [No]未インストール または (1 2 3, 1-3, ^4) ==> 1 diff --git /home/kats/.cache/yay/upd72020x-fw/.gitignore /home/kats/.cache/yay/upd72020x-fw/.gitignore new file mode 100644 index 0000000..62514e8 --- /dev/null +++ /home/kats/.cache/yay/upd72020x-fw/.gitignore @@ -0,0 +1,2 @@ +* +.* diff --git /home/kats/.cache/yay/upd72020x-fw/PKGBUILD /home/kats/.cache/yay/upd72020x-fw/PKGBUILD new file mode 100644 index 0000000..bc1a063 --- /dev/null +++ /home/kats/.cache/yay/upd72020x-fw/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Jack Chen <redchenjs@live.com> + +pkgname=upd72020x-fw +pkgver=20200826 +pkgrel=3 +pkgdesc="Renesas uPD720201 / uPD720202 USB 3.0 chipsets firmware" +arch=('any') +url="https://github.com/denisandroid/uPD72020x-Firmware" +license=('custom') +source=( + "https://raw.githubusercontent.com/denisandroid/uPD72020x-Firmware/master/UPDATE.mem" + "https://raw.githubusercontent.com/denisandroid/uPD72020x-Firmware/master/License.rtf" + "remove.hook" +) +sha512sums=( + '1ea117f9a1a772013fb7509c76d731865e6c05ae3c55a304ff42b31ec8a474e9bf16dd1b05b2e5b666ec5fd301aefed54bfeb6bfd7c3f23dc23faf082cf2a9f7' + 'f5be9af49a6ec81f77275c6f4092e6675a707a95a33bf37eb9ba84a7226f3310eebffb7699f8b9b12110c9ca2af1a56f528a94f1e4891fd45f297affd8ebb577' + '47aa4c4c3a0014df79b7a7998edfbc7b436ae6e966432f3787d9f1655c986591c73165de6fad52ebb5cefd4f8101b9b094d117f0508cd1f8f0d2c7396bbd3f91' +) + +package() { + install -Dm644 UPDATE.mem "$pkgdir/usr/lib/firmware/renesas_usb_fw.mem" + install -Dm644 License.rtf "$pkgdir/usr/share/licenses/$pkgname/LICENSE.rtf" + + # firmware install & remove hooks + install -Dm644 /dev/null "$pkgdir/usr/lib/initcpio/hooks/$pkgname" + install -Dm644 remove.hook "$pkgdir/usr/share/libalpm/hooks/$pkgname.hook" +} diff --git /home/kats/.cache/yay/upd72020x-fw/remove.hook /home/kats/.cache/yay/upd72020x-fw/remove.hook new file mode 100644 index 0000000..68e2b20 --- /dev/null +++ /home/kats/.cache/yay/upd72020x-fw/remove.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Package +Operation = Remove +Target = upd72020x-fw + +[Action] +Description = Updating linux initcpios... +Depends = mkinitcpio +When = PreTransaction +Exec = /bin/sh -c "rm -f /usr/lib/firmware/renesas_usb_fw.mem &s;&s; mkinitcpio -P" ==> インストールを実行しますか? [Y/n] :: (1/1) SRCINFO を解析中: upd72020x-fw ==> パッケージを作成: upd72020x-fw 20200826-3 (2021年08月14日 10時39分13秒) ==> ソースを取得... -> ダウンロード UPDATE.mem... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 13012 100 13012 0 0 48578 0 --:--:-- --:--:-- --:--:-- 48734 -> ダウンロード License.rtf... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 32697 100 32697 0 0 123k 0 --:--:-- --:--:-- --:--:-- 123k -> remove.hook を見つけました ==> source で sha512sums ファイルを検証... UPDATE.mem ... 成功 License.rtf ... 成功 remove.hook ... 成功 ==> パッケージを作成: upd72020x-fw 20200826-3 (2021年08月14日 10時39分17秒) ==> ランタイムの依存関係を確認... ==> ビルドタイムの依存関係を確認... ==> ソースを取得... -> UPDATE.mem を見つけました -> License.rtf を見つけました -> remove.hook を見つけました ==> source で sha512sums ファイルを検証... UPDATE.mem ... 成功 License.rtf ... 成功 remove.hook ... 成功 ==> 既存の $srcdir/ ディレクトリを削除... ==> ソースを展開... ==> ソースの準備ができました。 ==> パッケージを作成: upd72020x-fw 20200826-3 (2021年08月14日 10時39分24秒) ==> ランタイムの依存関係を確認... ==> ビルドタイムの依存関係を確認... ==> 警告: 既存の $srcdir/ ツリーを使用 ==> fakeroot 環境を開始します... ==> package() を開始... ==> インストールを整理... -> libtool ファイルを削除... -> 不要なファイルを削除... -> スタティックライブラリファイルを削除しています... -> バイナリとライブラリから不要なシンボルを削除... -> man と info ページを圧縮... ==> パッケージの問題をチェック... ==> パッケージを作成 "upd72020x-fw"... -> .PKGINFO ファイルを生成... -> .BUILDINFO ファイルを生成... -> .MTREE ファイルを生成... -> パッケージの圧縮... ==> fakeroot 環境を終了。 ==> 作成完了: upd72020x-fw 20200826-3 (2021年08月14日 10時39分29秒) ==> 清掃... パッケージをロード... 依存関係を解決しています... 衝突するパッケージがないか確認しています... パッケージ (1) upd72020x-fw-20200826-3 合計インストール容量: 0.04 MiB :: インストールを行いますか? [Y/n] (1/1) キーリングのキーを確認 [######################################################] 100% (1/1) パッケージの整合性をチェック [######################################################] 100% (1/1) パッケージファイルのロード [######################################################] 100% (1/1) ファイルの衝突をチェック [######################################################] 100% (1/1) 空き容量を確認 [######################################################] 100% :: パッケージの変更を処理しています... (1/1) インストール upd72020x-fw [######################################################] 100% :: トランザクション後のフックを実行... (1/2) Arming ConditionNeedsUpdate... (2/2) Updating linux initcpios... ==> Building image from preset: /etc/mkinitcpio.d/linux510.preset: 'default' -> -k /boot/vmlinuz-5.10-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.10-x86_64.img ==> Starting build: 5.10.56-1-MANJARO -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [autodetect] -> Running build hook: [modconf] -> Running build hook: [block] -> Running build hook: [keyboard] -> Running build hook: [keymap] -> Running build hook: [resume] -> Running build hook: [filesystems] -> Running build hook: [fsck] ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-5.10-x86_64.img ==> Image generation successfulちょっと余計な差分表示もありますが、こんな感じで
xchi_pci
の警告は消えました。
mito /home/kats% lsmod | grep xhci_pci xhci_pci 20480 0 xhci_pci_renesas 20480 1 xhci_pciファームウェアもちゃんとロードされているようです。
0 件のコメント:
コメントを投稿