VisionFive2
- 2023/05/24 届いた
- 本体刻印はV1.3B
- ブートローダーの最新化?
- https://blog.osakana.net/archives/13536
- https://zenn.dev/thorie/articles/548arc-vision-five-2
- この人も2023/02の段階で古いOSを選択している
- https://gihyo.jp/admin/serial/01/ubuntu-recipe/0752
- USBシリアルがなくてもブートローダーは書き換えできそう
- Image
- Image-55
- Image-69
- 202302
- 202303
ブートローダーの更新
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0752 が簡単そうなので従う
- https://github.com/starfive-tech/VisionFive2/releases
- sdcard.img
- u-boot-spl.bin.normal.out
- visionfive2_fw_payload.img
ブートさせてSPLやu-bootのビルド日時を確認
> code
dd if=/dev/mtd0 status=none | strings | grep "U-Boot SPL"
U-Boot SPL 2021.10 (Feb 12 2023 - 18:15:33 +0800)
dd if=/dev/mtd1 status=none | strings | grep "U-Boot 20"
U-Boot 2021.10 (Feb 12 2023 - 18:15:33 +0800)
<<
お、新しいバージョンのようだ
ファームウェアはこのままでDebianの202303版をインストールしてみる
Debianの起動実験(202303)→失敗
- 860MBあるので気長にDL
- 展開すると2.6GBくらい、SDは32GB要らない感じなのかな?
- 取り敢えずSSHで動作確認
- あがってこない・・
- HDMIも反応なし
- LEDも赤のみ
Debianの起動実験(202302)
- 202302版に変更してみる
- 同様に動かない・・
ブートローダーの更新(やはりやる)
- 今更気づいたけどブートローダー更新用のubootはHDMI出力できる
> code
$ scp u-boot-spl.bin.normal.out visionfive2_fw_payload.img root@192.168.1.40:
root@192.168.1.40's password:
sh: /usr/libexec/sftp-server: not found
scp: Connection closed
<<
> code
$ scp -O u-boot-spl.bin.normal.out visionfive2_fw_payload.img root@192.168.1.40:
<<
起動時にロゴが出るようになった
rebootするとノイズが、、 HDMI経由でノイズが乗るらしい・・
Debianの起動実験再び(202303)
書き込みに時間がかかるので、面倒だ・・
ブートした!
- 画面が紫、Greenの信号がおかしい?
- 起動ログはちゃんと白い文字で出ているのでGPU周りで何かまずいことがあるのかな?
suspend?
swapを作って以下を実行したら・・?
> code
echo disk > /sys/power/state
<<
落ちた後にもう一度上がってきて、また落ちる?
- でも次の起動のときにsuspendから復帰みたいなメッセージが出ている気配
- 再現しない・・
そして復帰の方法が不明
あ、カーネルの起動オプションも変更が必要そう、しかしマニュアルがないな、一般的なDebianだとおもって作業すればよいのだろうか?
- この作業後waylandが起動しなくなった、、電源を抜き差ししても戻らない・・
- CLIは動いているので作業に支障はないが・・
- gdm.serviceがエラーしている予感
- よくわからん
焼き直し
よくわからないので焼き直した
> code
echo mem > /sys/power/state
<<
落ちるけど、復帰しない
https://stackoverflow.com/questions/60514215/linux-system-wakeup-on-gpio-interrupt
- GPIOのwakeupの設定をすれば良いのかな?
- irq割込みが設定できていない
https://developer.toradex.com/software/linux-resources/linux-features/suspendresume-linux/
- ARMの場合だが、RTCとかUARTとか
RTCで復帰できることを確認
> code
echo +60 > /sys/class/rtc/rtc0/wakealarm
<<
これで60s後に起動する
- RTCを試してみる
- 30s後にアラームを設定して、落とす、
- 上がってきた!!(なぜか画面も戻る・・w)
簡易電力測定
- idle 5.2V 0.67A {{calc 5.2*0.67}}W
- sleep 0.5A
復帰にかかる時間
- {{calc 247-202}}sくらいか?
- 結構長い
- いや、5sくらい?
- キーボードからの復帰が出来ない
- GPIOからの復帰が出来ない
GPIOからの復帰?
- https://doc-en.rvspace.org/VisionFive2/DG_USB/JH7110_SDK/board_level_config_usb_vf2.html
- ここに書いてる気がする
- dtbの編集をすればよい?wakeup-source?
- https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtsi
- 21と32が復帰用に用意されているように見える
- 3.3VやGNDとショートさせてみたが駄目だった
- https://qiita.com/spicemanjp/items/5054e536442248aad87c
-
またXが起動しなくなった
- なんだろうね
- ディスク拡張したら直った予感
画面がピンク
- https://forum.rvspace.org/t/image-202303/2506/9
資料
- 一般的なDebianのSuspend
- https://wiki.debian.org/Suspend
- 一般的なhibernation
- https://mag.osdn.jp/06/06/08/0250241
- キーボードからの復帰
- (むしろ無い方が良い気もするが・・)
- https://www.makeuseof.com/wake-your-linux-pc-from-suspend-using-usb-devices/
- 設定してもできない
聞けそうなところ
- https://forum.rvspace.org/t/swsusp-on-vf2/2511/6
- suspend to diskでEthernetが切れる話をしている?
- https://forum.rvspace.org/t/how-to-resume-from-suspend-to-ram/2883
- suspend to ramからの復帰方法を相談中
あとやりたいこと
- {x} パーティションの拡張
- https://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_QSG/extend_partition.html
- 手順通りでできた
- そしてXも起動するようになった
- { } pm-utilsなどOSのパッケージを試す
- { } スタンバイからの復帰
- GPIOからの復帰
- キーボードでの復帰?
- こういうの?