はじめに
IntelのWiFi6対応カードであるAX200はLinuxのカーネルバージョン5.1以降でサポートされている。しかしJetson Nanoのカーネルバージョンはいまだ4.9であり、backportドライバを入れなければ動かない。ここではその手順を説明する。
このページの内容はJetPack 4.4.1で試した。
ドライバをインストールする
下記リンクを参考にbackportドライバのリポジトリを追加してbackport-iwlwifi-dkms
をインストールする。再起動するとAX200が認識されるようになる。
Intel AX200 wifi on Jetson AGX Xavier Under Ubuntu 18.04.4 LTS
sudo add-apt-repository ppa:canonical-hwe-team/backport-iwlwifi
sudo apt-get update
sudo apt-get install backport-iwlwifi-dkms
問題点
dmesgログにエラーが大量に出る
AER Corrected error received
云々というエラーでdmesgが埋め尽くされる。これはPCIeのAdvanced Error Reportingという機能によるものである。カーネルの起動オプションにpci=noaer
と追加すると抑制できる。APPEND行に以下のように追記する。
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:1 net.ifnames=0 pci=noaer
Jetson-IOを使ってカスタムしたDevice Treeを使っている場合は起動オプションが複数あるのでそちらにも追記する。
起動後にWiFiが有効になるまで60秒掛かる
WiFiカードにファームウェアを転送するメカニズムがタイムアウトを起こすせいでWiFiカードが有効になるまで時間がかかる。このタイムアウト時間は/sys/class/firmware/timeout
を上書きすることで変えられるが起動のたびに初期値の60に戻ってしまうようなのでsystemdサービスを作成して起動時に1に設定するようにする。
/etc/systemd/system/fallback-timeout.service
として以下の内容のファイルを作成する。
[Unit]
Description=Set Firmware fallback timeout to 1
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo 1 > /sys/class/firmware/timeout'
TimeoutSec=0
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
ターミナルでsudo systemctl enable fallback-timeout.service
を実行してこのサービスを登録する。
Bluetoothが認識されない
カーネルをビルドしなおさないといけないようだ。
yoffy / jetson-nano-kernel
ipref3などでのWifi計測はされてりしましたか?
返信削除もし何かしら速度計測されていましたら、どの程度の実効速度がでていたか教えていただけますと幸いです。
11axのアクセスポイントを持ってないので申し訳ないですが代わりに11acでiperf3の測定をしてみました。
返信削除ネットワーク構成は以下の通りで、Jetson・ルーター間は1m以内の距離です。
Jetson Nano <==11ac==> ルーター <==1GbE==> NAS
Jetsonのアップロード 445Mbps
Jetsonのダウンロード 465Mbps