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の両面テープでしょうか? ブチルタイプではなかったです。

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

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

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;
}

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