follow me

MT7620 Overclocking 620MHz

MT7620AのOverclockingについて、
今更感もあるのですが、自分のメモ程度に


実機で試した結果、確かに620MHzまでOverclockingできました。
Linux上でも認識できています。(クロックの指定自体は、u-bootで行います。)
[    0.000000] CPU Clock: 620MHz
[    0.000000] systick: running - mult: 214748, shift: 32
[    0.010000] Calibrating delay loop... 412.87 BogoMIPS (lpj=2064384)
通常の580MHzでは、385.84 BogoMIPSだったので、効果は出ている様です。
勿論、発熱等に影響は出ているはずなので、あくまで遊び前提ですが。
follow me

SONiXなUVCカメラの日付を更新する

OpenWrt化したネットワークカメラ Planex CS-QR10 で画像に入る日付の話でコメントいただいたので、確認してみました。
解ってはいたのですが、困らないので放置してました。
ということで、SONiX SN9C291なUVCカメラの日付を更新するのをやってみました。
UVCでとった画像の左上に入っている日付の事です。
2013年8月15日9:30頃からのカウントアップになってしまってるやつです。(コメント頂いて、そういえばそんなのあったなと思い出したやつです)


githubで見つけたこのツールで設定できました。
https://github.com/Kurokesu/C1_SONIX_Test_AP
follow me

open-vm-tools: bump to 11.0.1

OpenWrtのopen-vm-toolsパッケージのバージョンを11.0.1に上げました。
Merge pull request #10467 from srchack/open-vm-tools-bump-11.0.1

OpenWrt的には大きな変化は無いと思われますが、open-vm-tools本家に追従しておくのは大切な事です。
snapshotビルドはまだ新しくなっていませんが、じきに更新されているでしょう。

使ってくれている方がどれほど居るのかわかりませんが、ESXiで使うときに便利になりました。
vmdkイメージには最初から入る様にならないかしら?というのは継続課題です。
follow me

open-vm-tools: bump to 10.3.10

OpenWrtのopen-vm-toolsパッケージのバージョンを10.3.10に上げました。
open-vm-tools: bump to 10.3.10

OpenWrt的には大きな変化は無いと思われますが、open-vm-tools本家に追従しておくのは大切な事です。
snapshotビルドはまだ新しくなっていませんが、連休が終わる頃には更新されているでしょう。

使ってくれている方がどれほど居るのかわかりませんが、ESXiで使うときに便利になりました。
vmdkイメージには最初から入る様にならないかしら?というのが目下課題です。
follow me

open-vm-toolsがopkgでサクッと入る様になってました

OpenWrtでopen-vm-toolsが使える様にパッケージを作った後、本家のsnapshotビルドがこけてたのですが直しました。(既に直してました。)

全パッケージが有効状態でビルドされるので、libudevが入っているのを忘れてました。
libudevを参照しているモジュールはOpenWrtで使うのに無くても問題ないと判断し、サクッと削除(--enable-resolutionkms=no)して対応完了。
無事、本家のsnapshotビルドでパッケージも生成されているので、自分でビルドしなくてもopkg installで導入できる様になりました。
19.0xリリースがまだなので、次の安定版リリースには間に合った感じですかね。
https://downloads.openwrt.org/snapshots/packages/x86_64/packages/
follow me

open-vm-toolsがopenwrt/packagesにマージされました


open-vm-toolsパッケージが、openwrt/packagesにマージされたので、少し待てばopkg install open-vm-toolsで幸せになれます。
open-vm-tools: Add new package open-vm-tools

ESXiでシャットダウンが普通にできるのは魅力あると思うんですよね。
それ以外の機能が嬉しいのかわかりませんが。
snapshotビルドに含まれるのが楽しみです。
あと、19.03のブランチが切られる前に入れれて良かったです。
follow me

Pythonのhashlibが使えない

Pythonのhashlibが使えない。
OpenWrtではまったから残しておこう。

複数Python入れてたり、クロスビルド環境として一時環境作ってたりすると起こるケースがままありそう。
普通にOpenSSLのライブラリが見える位置にいるのかという話ではあるのだが、Pythonをやらない人からすると面倒くさいのです。
しかも、nodeのビルドをしたいだけなのに、Pythonのhashlibとかではまるとか考えないのですよ。

ちなみに、OpenWrtでビルドできなかったときのメッセージはこうなってました。
follow me

LinkIt 7688のビルド手順。(Ubuntu 18.04環境で)

Ubuntu 18.04環境でのLinkIt 7688ファームウェアのビルドについて。
LinkIt 7688は、TELECの関係上Chaos Calmer (15.05.x)を利用する訳ですが、Chaos CalmerはUtuntu 18.04環境でのビルドが出来ません。

実はChaos Calmer (15.05.x)だけの話しではなく、ながらくUbuntu 18.04でのビルドはmasterでもできなかった。(いつのまにかビルドできるようになったけど、おそらくパッケージによってはビルド失敗すると思われる。)
Ubuntu 16.04.x環境を用意すればいいのですが、それが面倒だという人が出てきてもおかしくないので、パッチを作ってみました。
ここまで変更入れないとビルドできないとか予想してませんでした。
基本バージョン構成はChaos Calmer (15.05.1)と同じに保ちたかったのですが、nodeだけ少しバージョン上がってしまいます。

用意したパッチは17個になります。
feedsで追加するパッケージ関係でのパッチが5個入っています。
feedsは、pythonとnodeに関するパッチです。(これらのパッケージを利用しないのであれば、苦労することはなかったのですが。。。)

では、各パッチと、ビルド手順を記載していきます。
patches.tar.gz
follow me

LinkIt 7688用にmtk-linkit-miniパッケージを用意する


LinkIt 7688、デフォルトでビルドされてしまうmtk-linkitパッケージの依存関係の関係で馬鹿でかいイメージになるのをなんとかしたい。
でも、外せないパッケージは存在する。
なので整理しました。
mtk-linkit-miniパッケージ。
ROM容量の節約だけでなく、ビルド時間の短縮にもなります。
勿論、wps要らないとか、リセット系動作とか自分で定義しなおせるなら、自分で書いてしまった方がもっと節約できる。
とりあえず、手軽にコンパクト化するものという位置づけです。

mtk-linkit-miniパッケージは、mtk-linkitパッケージに対し以下パッチを当てて作成します。
feeedsなので、追加してからパッチを当ててください。(全体の手順は下に記載していきます。
Add-mtk-linkit-mini.patch

手順の前に、どれぐらいサイズとビルド時間が変わるのかを出しておこうかと思います。
バイナリサイズ ビルド時間
mtk-linkit 21,505kb 85m10.838s
mtk-linkit-mini 3,329kb 44m16.293s
バイナリサイズは比較とかのレベルではなくなります。
32MB Flashを積んでいるので、大して気にする必要も無いかもしれませんが、焼きの時間等も考えれば小さいに越したことはありません。(不要なものを動かすメモリも勿体ないですし。)
ビルド時間は、ソースコードのダウンロード時間は含まず、make -j1の結果なので、ダウンロード時間も含めると差はさらに大きくなる。
follow me

LinkIt 7688のビルド手順。(Chaos Calmer 15.05.1)

仕方ないから過去枠埋めたったるわ。
本記事はルーターハックAdvent Calendar 2018 12日目の記事です。

LinkIt 7688が登場した当時は問題なかったのだが、OpenWrtからforkしたLEDEが登場し、OpenWrtに再結合したり、多くのイベントがあったのもありでLinkIt 7688の公式ドキュメントのビルド手順ではビルドできなくなってしまっている。
だれかがメンテしている様子もないので、解る人しか使ってないのだろうなと予想できる訳ですが。
このLinkIt 7688、実はTELEC取ってるんですよね。

もちろん、シール貼り付けれる人は限られてるのですが。。。
写真のはSeeed株式会社からTELECシール付きでお借りしたものになります。
また、TELECに反しない様にファームをビルドする手順となっています。
Seeed株式会社からなんとかTELEC刻印付きで販売してくれないものか。という話はあるが、なかなかロット数が稼げないと難しいのですかね。
みんなで数千個頼んで刻印入れて貰おうよ。とか人集め始めませんかね?


ちなみに今現在、chaos_calmer-15.05.1をビルドしようとすると以下の様なエラーとなってしまう。
mkdir -p /home/dev/chaos_calmer-15.05.1/dl
echo "Checking out files from the git repository..."; mkdir -p /home/dev/chaos_calmer-15.05.1/tmp/dl && cd /home/dev/chaos_calmer-15.05.1/tmp/dl && rm -rf libmraa-0.8.0 && [ \! -d libmraa-0.8.0 ] && git clone https://github.com/intel-iot-devkit/mraa.git libmraa-0.8.0 --recursive && (cd libmraa-0.8.0 && git checkout 70600dece4138b0c0dbaff42f57828f1559cd840 && git submodule update) && echo "Packing checkout..." && rm -rf libmraa-0.8.0/.git &&      tar czf /home/dev/chaos_calmer-15.05.1/tmp/dl/libmraa-0.8.0-70600dece4138b0c0dbaff42f57828f1559cd840.tar.gz libmraa-0.8.0 && mv /home/dev/chaos_calmer-15.05.1/tmp/dl/libmraa-0.8.0-70600dece4138b0c0dbaff42f57828f1559cd840.tar.gz /home/dev/chaos_calmer-15.05.1/dl/ && rm -rf libmraa-0.8.0;
Checking out files from the git repository...
Cloning into 'libmraa-0.8.0'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 11918 (delta 5), reused 5 (delta 4), pack-reused 11905
Receiving objects: 100% (11918/11918), 3.27 MiB | 1.22 MiB/s, done.
Resolving deltas: 100% (8349/8349), done.
Checking connectivity... done.
Submodule 'doxygen2jsdoc' (https://github.com/intel-iot-devkit/doxygen2jsdoc.git) registered for path 'doxygen2jsdoc'
Submodule 'doxyport' (https://github.com/intel-iot-devkit/doxyport.git) registered for path 'doxyport'
Cloning into 'doxygen2jsdoc'...
remote: Enumerating objects: 112, done.
remote: Total 112 (delta 0), reused 0 (delta 0), pack-reused 112
Receiving objects: 100% (112/112), 359.18 KiB | 0 bytes/s, done.
Resolving deltas: 100% (35/35), done.
Checking connectivity... done.
Submodule path 'doxygen2jsdoc': checked out '67cad692720982ac3cbd99bf1c3421edc69b08f9'
Cloning into 'doxyport'...
remote: Enumerating objects: 55, done.
remote: Total 55 (delta 0), reused 0 (delta 0), pack-reused 55
Unpacking objects: 100% (55/55), done.
Checking connectivity... done.
Submodule path 'doxyport': checked out 'db3e1a6eb8677d3166d90d82c3068689803ce547'
warning: unable to rmdir doxyport: Directory not empty
M       doxygen2jsdoc
Note: checking out '70600dece4138b0c0dbaff42f57828f1559cd840'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 70600de... mraa: update to version 0.8.0
fatal: reference is not a tree: 9cc90b7976252b2d14b7956230c5870097e1f008
Unable to checkout '9cc90b7976252b2d14b7956230c5870097e1f008' in submodule path 'doxygen2jsdoc'
make[3]: *** [/home/dev/chaos_calmer-15.05.1/dl/libmraa-0.8.0-70600dece4138b0c0dbaff42f57828f1559cd840.tar.gz] Error 1
make[3]: Leaving directory `/home/dev/chaos_calmer-15.05.1/feeds/packages/libs/libmraa'
make[2]: *** [package/feeds/packages/libmraa/compile] Error 2
make[2]: Leaving directory `/home/dev/chaos_calmer-15.05.1'
make[1]: *** [/home/dev/chaos_calmer-15.05.1/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/stamp/.package_compile] Error 2
make[1]: Leaving directory `/home/dev/chaos_calmer-15.05.1'
make: *** [world] Error 2