2024年10月16日水曜日

WZR-HP-AG300H を tftp で純正ファームに戻す (その2)

 WZR-HP-AG300H を proファームにしたのが 2016年。この頃は ADSLのインターネット環境だったので、リンクアップの速度は気にしていませんでした。

光に変えてからも、ほとんどのデバイスは親機に直接 Wi-Fi でつないでいるためルータ間のリンクアップ速度は気にしていなかったです。

最近、Chromecast with Google TV を買ったので環境を整え中(と言っても大した設定は無いですが。)です。なんとなく Wi-Fi の接続速度が安定しないので、OpenWrt で WDS機能を使い、5G帯で構成を組んでみたいと思うようになりました。

で、WZR-HP-AG300H の proファームを一度純正戻しをし、OpenWrt を入れることにしました。

ところが、100発100中だったはずの tftp戻しが全然うまくいきません... 純正ファームはダメだし、US版のファームも焼けない。最後の綱でバックアップしたパーティションから戻そうにも proファームだと構成が違うんですよね。完全に詰んだかと思いましたよ。proファームで余生を過ごすしかないと半場諦めました...

色々調べたところ proファームが v3台だと駄目な模様。Buffalo (US)のフォーラムの記事が参考になりました。

  1. v2台の proファームを tftpで焼く。(自分は wzrhpag300h-pro-v24sp2-19154c.enc を適用。)
  2. 再起動後、v2台になっていることを確認。
  3. WZR-HP-AG300H の純正ファームを tftpで焼く。(自分は wzrhpag300h-173 を適用。)
  4. 再起動後、純正ファームになっていることを確認。

まとめちゃうと簡単なのですが、ここにたどり着くまで 3日間かかりました... 純正ファームになっちゃえばローカルに OpenWrt のファームを置いておいて、管理画面からインストールすればok。


2024年9月5日木曜日

iPlay40 のバッテリを交換する

 iPlay40 のバッテリを交換してみました。どうせ変えるのだったら少し容量の多いものにしたいと思い、aliexpress で 8,000mAh のものを購入しました。

で、結論から言うとこいつは容量詐欺でした... まあ使う分には問題は無いので、いい勉強をしたと思い諦めることにします。交換を考えている人は 6,000mAh の物を買ってくださいね。

せっかく交換したので、備忘を兼ね記録を残しておきます。

容量はほぼ重量に比例するということで、オリジナル(左)とパチ物(右)の重さを量ってみました。
120g ÷ 90g × 6,000mAh = 8,000mAh ということで、30%強長持ちするなと計測前は喜んでいました。

交換用のバッテリは、サイズはほんの少し小さくオリジナルより厚みのあるものでした。分解していないので想像になりますが、重量増分は鉛を張り調整したものと固く信じております...


組み上げて Battery Mix で10%程度まで使ってみました。へたったバッテリだと20%付近から一気に容量が減る傾向がありますが、交換して三か月ほど経ちますが問題は無い状態。
ちなみに、iPlay40 は電源直で充電していても USBから充電されていると Battery Mix上で表示されます。

次に AcuBattery でどんなものか調べてみました。8,000mAh は無いけど、6,000mAh はしっかり確保できています。

結局のところ、約30g重い iPlay40になってしまいました(笑) まぁ、動作に問題は無いので、壊れるまでこのまま使う予定です。POCO Pad が欲しいですが、おこずかいも少ないし、動画と漫画を見るには iPlay40 でも不満は無いですからね。

2024年3月19日火曜日

iPlay40 ABNORMAL TEMPERATURE

前から時々出ていたんだけど、最近頻発して出るようになってしまった。

出始めたときは、MX Player Pro で動画鑑賞をしていた時なので、MX Player Pro はけっこうCPU負荷が高いのかなぁ? なんて思っていましたよ。(MX Player Pro は悪くありませんでした。)

このメッセージが表示されると数秒後にシャットダウンします。再起動をすると問題なく使えていたのですが、最近は何もしていない状態でも発生するほど状況が悪くなってきました...

もう寿命かなぁなんて思っていたのですが、youtube を散策して対応している人がいないか探してみました。

最初に「【わかりやすい】ALLDOCUBE iPlay の充電不良修理をやさしく説明します」でばらし方を見たのですが、「ホットボンドのようなもので付いている。」とのことでしたので、もしかすると通常のスマホにリヤパネルとは違う留め方なのかと思いましたよ。

さらに検索を進めるとそのものずばりの動画が。「アイプレイ40の熱暴走・修理と分解 ABNORMAL TEMPERATURE | alldocube iplay 40 Tablet」が非常に参考になります。かいせつやさん、色々とアドバイスありがとうございました。

で肝心のリヤパネルですが、最終的にスマホ同様両面テープで留まっていることが確認できました。(もしかするとロットによって違う可能性はありますが。) 幅は場所で少々違うのですが、テープの伸びとか考慮すると 2mmの両面テープでしょうか? ブチルタイプではなかったです。

長辺部分をドライヤー等で温め、両面テープの粘着を弱めると簡単に剝がれると思います。


2024/05/10 追記 ↑少々噓を書いておりました...

接着は接着剤でした。ホットボンドのようなは正しかったです。イメージ的にはセメダイン スーパーX みたいな接着剤。スーパーX は強力なので、弱いやつで留めないと剥がせなくなりますが。
乾いたときに糊っぽい(?)感じで留まるものがいいですね。参考にしたyoutube では T-7000を使っていましたね。

オリジナルがどれかわからないくらいパチ物(?)が販売されていて、B<E<F<Tの順で接着強度が上がるらしい。あまり接着強度が高いのも困りものなので、B-7000あたりが意外にいい気がするなぁ。
--- ここまで ---

今回はそこが分からなかったので、少々強引にこじ開けました。ちょっとリヤパネルに傷がついて残念。ケースに入れちゃうので見えないからいいけど。

SoC が実装されている箇所まで分解してみました。

自分のも単純にヒートシンク(?)を兼ねた金属プレートでカバーされているだけでした。コスト削減なのか手抜きなのか... こんなんじゃ、まともに冷えないと思うんだがなぁ。

しかも、手で触った感じだと SoC の部分は若干低くなっている... これでは金属プレートに触れず、ほぼ自力放熱しているだけっス。今まで問題なかったけど、微妙に筐体がゆがんで空きができるようになってしまったのか?!

CPUグリスを塗布して冷却も考えたのですが、お手軽にシリコンサーマルパッドを貼って対策とします。熱伝導係数を見ると 3.2 W/m-k と一般的なCPUグリスと同程度。厚さも0.5mmといい感じ。冷却が間に合わないようだったら別の手を考えることにします。(といっても、熱伝導率の高いCPUグリスに変えるぐらいしか手は無いですが...)

はい、こんな感じで貼ってみました。撮り忘れましたが、段差解消用に SoC の上にも一枚貼ってあります。12mm x 12mm 程度で大丈夫でした。(結果的に SoC 部分は 1mm厚になるけど大丈夫だろうと判断。)

さて効果のほどですが、予想外に冷えます。シャットダウンが発生したときの画面コピーを取り忘れているので、記憶での比較になりますが

対策前:40度強(シャットダウン時はさらに上がる)
対策後:30度弱

概ね10度ぐらい下がったことになります。ぼちぼち買い替えようと思っていたのですが、調子が良くなったので延命することにします。

そうなると欲も出てきて、ちょっと弱ったバッテリを交換してリフレッシュ! なんてことも考えたりしています。リヤパネルはバッテリ交換をどうするか決めてからちゃんと貼ることにします。それまではカバーのTPU部分で運用と。特に外れたりもしないので。

まぁ、交換用のバッテリもピンキリなので、替えたから初期の性能に近くなるかというと眉唾部分もあったりするんですが。


2024年2月29日木曜日

yt-dlp-gui を使ってみた

通勤時にタブレットでyoutube動画を見たく、yt-dlp-gui を使ってみました。お勧めできる使い方ではないです。CM収入が無くなると思いますので、youtubeの運営上好ましくない...

別の方が作られたインストーラもありますが、C:\Users\[ユーザ名]\AppData\Local にインストールされるので、自分のスタンドアローン版置き場(c:\bin)へのセットアップを行いました。といっても、ダウンロードをしたファイルを配置するだけですけど:-)

c:\bin\yt-dlp-gui 配下にダウンロードしたファイルを配置します。自分の場合はこんな感じ。


ffmpeg.exe とか無いじゃん?! と思われる方もいると思いますが、別途 TVerRec を使っており、こちらが起動時に更新の有無を確認して最新版が TVerRec配下の binフォルダーにインストールされます。

で、yt-dlp-gui.yaml を編集しこんな感じで使っております。Path~ だけ編集すればok。

# Paths
TargetPath: C:\usr\Movies\HD\
PathYTDLP: C:\bin\TVerRec-master\bin\youtube-dl.exe
PathAria2: C:\bin\yt-dlp-gui\aria2c.exe
PathFFMPEG: C:\bin\TVerRec-master\bin\ffmpeg.exe
PathTEMP: '%YTDLPGUI_TARGET%'
# Window
AlwaysOnTop: false
RememberWindowStatePosition: true
RememberWindowStateSize: true
Top: 109.60000000000001
Left: 8.8
Width: 595.2
Height: 438.40000000000003
Scale: 100
# Network
ProxyEnabled: false
UseCookie: WhenNeeded
CookieType: Chrome
# Advance
UseAria2: true
EmbedThumbnail: false
EmbedChapters: false
EmbedSubtitles: false
ModifiedType: Modified
# Options
IsMonitor: true
SaveThumbnail: false
UseNotifications: true
AutoDownloadAnalysed: false
# Last Checking Update Date
LastVersion: 2023.03.28
LastCheckUpdate: 2024-02-28



2024年2月9日金曜日

Perl でスクリプトの名前とか置いてある場所を探す

 C だと argv[0] に実行コマンドが入るんだけど、Perl だと引数のみなのですね。ちょっと必要に迫られて調べたところ、こんな感じで解決しました。

use FindBin;

sub getModulePath {
  return $FindBin::Bin . '/' ;
}

sub getModuleName {
  return $FindBin::Bin . '/' . $FindBin::Script;
}

サブルーチンにせず、そのまま書くのもあり。備忘用に残しておく。

2023年5月31日水曜日

Zabbix で 1000件を超えたホスト名が表示されない。

 



調子に乗って大量のホストを登録したわけではないのですが、1000件を超えると Zabbix の管理画面からホストの表示ができなくなることがわかりました...

SQL に詳しい人だったら SQLを操作してサクサクと上限値を変えることができるんでしょうが、自慢ではないがさっぱり自信がありません。

どうやら search_limit に設定されている値で表示件数が決まるようです。昨今の機種はスペック的に上限値を変えても問題はないと思うのですが、昔は 1000件辺りが表示のボーダーラインだったのでしょうか。

で、現在の search_limit の値を確認する、及び変更するスクリプトを作ってみました。1000 → 3000 へ値を変えて運用していますが、今のところ特に問題は起きておりません。お約束ですが、自己責任でお願いします。

search_limit_get.sh

##################################
### Zabbix の表示数を確認する  ###
##################################
ZabbixWeb=http://192.168.1.248/zabbix/

PRE_IFS=$IFS
IFS=$'\n'
auth=`bash zabbix_token_get.sh`
tempNAME=$1
curl -s -d '
{
    "jsonrpc": "2.0",
    "method": "settings.get",
    "params": {
        "output": "extend"
    },
    "auth": "'${auth}'",
    "id": 1
}
' -H "Content-Type: application/json-rpc" ${ZabbixWeb}api_jsonrpc.php | gawk '-F"' '{print $14}'
IFS=$PRE_IFS


2023年5月29日月曜日

Zabbix APIで楽してホストを登録する

 Zabbix APIがあるので、ファイル一覧を作成してホストの登録をすることとする。

作成するスクリプトは参考にしたwebページに掲載されているファイル名のまま。けっこう色々なサイトで公開されていますね。

デフォルトの管理者名が「Admin」になっていますが、うちの場合小文字の「admin」を他機器で使用しています。「Admin」は残したまま「admin」を Super Admin role で追加してあります。

以降、管理者は「admin」を使うこととします。

スクリプトは /root/shell/zabbix へまとめて置いてあります。

で、ホストを登録するには

  • 監視対象ホスト作成時に所属先ホストグループを1つ以上選択しなければならない

という決まりがあります。ホスト作成時に所属先ホストグループがないとエラーになってしまいホストを登録できません。

どんな風にホストグループを登録するかですが、会社の組織に沿って作ってみました。青山本社と相模原支社がありますので、それぞれの機器に対するグループを作ってみました。

作った後に気が付いたのですが、Zabbix の監視を停止したいことがあります。

具体例でいうと法定停電時の監視停止です。停電の日は違うので、青山全域・相模原全域を個別に監視停止できるようにできると便利だなと後から思いました。

まぁ使い勝手は後々考えるとして、取り敢えずはホストの自動登録ができるところまで進めることにします。

認証トークンの取得

認証トークン」とはざっくり説明すると 「Zabbix APIで、ユーザーのIDとパスワードでログイン認証する代わりに必要な32文字の文字列」です。

Zabbix操作時に IDとパスワードを入力する代わりに、JSONクエリの "auth"パラメーターにユーザーの認証トークンを指定します。

zabbix_token_get.sh

#!/bin/bash
#########################################
## Zabbix token get                    ##
#########################################
ZabbixWeb=http://192.168.1.248/zabbix/
#上記IPは自分の環境に合わせて変更
#ログインIDとPWも適宜変更のこと
curl -s -d '{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "admin",
        "password": "adminのパスワード"
    },
    "id": 1,
    "auth": null
}' -H "Content-Type: application/json-rpc" ${ZabbixWeb}api_jsonrpc.php | gawk -F'"' '{print $8}'