たまに掃除は必要!熱暴走…

イメージ
 そんなに暑くないのに… 本日、午前中にオンラインで打合せをしていると、突然マシンがダウン。 一瞬、停電か?と思ったもののディスプレイの電源は入っている。 あれっ?と思い、すぐさまノートで打合せを継続。 その間に、再度マシンの電源を投入。 問題なく起動する。 でも、CPU温度がたまたま目に入り、95℃を超えて徐々に上昇していく。 105℃あたりで再度マシンダウン。 これは、熱暴走によるダウンの可能性が高い。 以前、CPUをRyzen7→9にした頃は、60℃〜70℃程度だった記憶がある。 本当はGW中にSSDの載せ替えを行う予定だったけれど、忙しくて先延ばしにしていた。 その時やっていれば、多分掃除もしただろうに…。 ということで、午後からマシンを解体し、掃除をすることに。 ケース本体のFANはホコリがかなり溜まっている。 GPUのFANは問題ない。 電源とCPU FANはひどい。 一旦、CPU FANを取り外し、きれいにする。ついでにCPUグリスも塗り直しセット。 動作確認すると、投入直後で40℃台。 そりゃ、熱暴走も起こすわけだ。 せっかくバラしたので、SSDの載せ替えを実施。 OSは500GBで、ユーザ領域(/home)は1TBを使用しているもののAIのmodelをいくつも落としていたり、DockerのImageが多種置いてあるため、結構容量を食っている。 今回、2TBのSSD( Hanye SSD ¥17,800- で入手済)を用意してあるので、 1TB→2TB, 500GB→1TBと玉突きで移動させることを計画していたので実施する。 本当は、ddコマンドで移すつもりだったのだけれど、3月にお客さんのところで使いそうだったので、 ORICOのクローン機能付SSDアダプタ を入手済。 裸族のSSD版ですね…。1万円程度の品です。 これに、新品のSSDとこれまでの1TBのSSDを差し込んでクローン開始。 そこそこ時間はかかるものの、放置でOK。 ただ、HanyeのSSDについているヒートシンクが引っかかるため、一旦取り外してクローン後取り付ける必要があった。 続いて、500GB→先程の1TBに書き込み。 ただ、1TB(samsungの980pro)が、先程のクローンでかなり熱くなっていたため、速度低下が激しい感じ。1TB→2TBよりも時間がかかった感じ。 ...

Arduino Ethernet Shield2ではまる

Arduinoの通信環境テスト

OpenHardのArduinoで、Ethernet上の通信を行う開発案件があって、Switch Scienceから「Ethernet Shield2」を購入。


自前のArduino MEGA2560に接続。

DHCPからIP取得させるも、取得IPが0.0.0.0のままで、正常にIPが取得できない。
色々とソースコードを変更したり、Hubを変えたりしたものの、うまく行かない…。

いろいろと調べてみると、MEGA2560側に問題がある場合に同様の症状が出ているとの書き込みを発見。

古い上に、Revision2なので、それが問題かもしれない…。

UNOを購入

仕方なく、今度はArduino UNOを入手してテストすることにした。
ちなみにUNOは永久保証になってて少々びびった(笑)


3000円程度の品なので、気にせず購入。

2日ほどで到着したので、早速装着→テスト。

今度は、IPの取得表示までは完了した。
やはりMEGA2560側の問題だったらしい。

さて、本当に通信できるかと、定番のpingを試すと、Unreachableとな…。
むむむ…。

UDPもTCPも正常にパケットが届かない…。

交換依頼

念の為、開発元から実際に使用するArduino DUEが届いたので、こちらでもテスト。
UNOと同様IP取得までは行くのだが、その後一切の通信ができない。

おかしい・・・

ということで、購入元に連絡する。

交換を依頼したけれど、代替品を送るので、動作確認したら古い方を破棄してくれとのこと。まあ、この金額のものに、送料2台分負担したら馬鹿馬鹿しいことになるから、そりゃそうだわなぁと。

で、2日後到着。

早速テストを行う。

Ethernet Shield2 2台目

最初からDUEに接続。
状況は変わらず…。

そもそも、PINGが通らない。
そこで、最低限のDHCPクライアントを書き込んで動作検証からやり直す。

IPは取得できている。
Routerのログで、IPがリースされているのも確認。
MacAddressも一致している。

Linuxマシンからpingを叩く。
$ ping 192.168.1.148
PING 192.168.1.148 (192.168.1.148) 56(84) bytes of data.
From 192.168.1.203 icmp_seq=1 Destination Host Unreachable
From 192.168.1.203 icmp_seq=2 Destination Host Unreachable

駄目だ…。

念の為、arpを確認。
$ arp -a
? (192.168.1.139) at 10:9a:dd:58:3d:67 [ether] on eno1
? (192.168.1.197) at d8:fb:5e:5a:22:15 [ether] on eno1
? (192.168.1.148) at <不完全> on eno1
_gateway (192.168.1.1) at 50:c7:bf:27:6c:ec [ether] on eno1
? (192.168.1.145) at c8:14:51:00:1e:c1 [ether] on eno1
ん? 不完全?
まあ、pingが通らない時点で、登録できないわけで…。

まてよ!
では、自分でMac Addressを紐付けてやれば、行けるんじゃね?
と思い、arpを書き換えてみる。

$ sudo arp -s 192.168.1.148 A8:61:0A:xx:xx:xx
これで、登録完了。

さて、pingテスト→OK
あれれ、いとも簡単に。

UDPテスト(Sketch例からUDPSendRecieveString)を書き込む。
Terminalから、ncでテスト

$ nc -u 192.168.1.148 8888
test
HELLO
^C
 シリアルモニタには
12:05:56.641 -> Received packet of size 5
12:05:56.674 -> From 192.168.1.203, port 55952
12:05:56.707 -> Contents:
12:05:56.740 -> test
12:05:56.740 ->
12:06:04.720 -> Received packet of size 6
12:06:04.753 -> From 192.168.1.203, port 55952
12:06:04.786 -> Contents:
12:06:04.786 -> HELLO
12:06:04.786 -> 
正常に通信できている!

まとめ

どうも、Ethernet Shield2になってからなのかは不明だけれども、ARP Requestに反応していないのか、PINGを正常に処理できていないのか…。
そのため、Shield自体ではIPは取得できても、他のマシンから正常にIPで通信できない。

実際には固定IPでの使用が前提になるので、IPとMacAddressの紐付けを手動で行っておく必要がある感じ。
(ひょっとするとルータの問題なのかもしれないが、検証するだけの時間的余裕がないので、当面これで回避することに…)

 スイッチサイエンスさん、手を煩わせてごめんなさい。
これからも、たくさん買うので許してください…。


コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?