先日(2017年4月18日の日記参照)の続きです。
AmazonからASRock J4205-ITXの交換品が届きましたが、やっぱり2枚差しだと起動しません。1枚差しだと起動します。違いというと、交換前のマザーボードはDDR Aスロットしか使えませんでしたが、交換後のボードはDDR Bスロットでも起動することくらいです。だから何って話ですが。
Ubuntu 16.10は起動しましたが、まともに動いてなさそうです。起動に異常に時間が掛かるのは相変わらずで、起動したらしたでLow Graphics Modeとかいうモードになってしまい、GUIが出ません。
メモリはノートPCに差したら起動するから、メモリは壊れていません。
どうも動き的にはメモリの相性問題っぽいんですよね。何にせよ公式サイトのメモリサポート一覧表に動作しないメモリ(Crusial CT102464BF186D)を載せるのは止めてほしいです。騙されたじゃないですか……。
設定を固定してDDR3-1600 x 2にすると起動しますが、どうやってもDDR3-1866 x 2では動きません。ただ前回もDDR3-1600で動いているように見えて、突然死したり、数回の再起動で再起不能になったり、かなりメチャクチャでしたので、多少動作した程度では全く信用できません。
マザーボードが2枚とも初期不良は確率的にほぼあり得ないと思いますので、このマザーボードはちゃんと検証をしていないか、設計がおかしいのでしょう。もう諦めます……。
余ったメモリはノートPCに使うことにしました。2枚とも元気に動作しています。正直4GBだと足りないと思っていたところなので、16GBになってとても快適です。
メモ: 技術系の話はFacebookから転記しておくことにした。追記もした。
目次: C言語とlibc
C/C++ 言語のヘッダをインクルードする#includeディレクティブには2つの指定方法があります。1つは #include <cstdio> のように山括弧で囲う方法、もう1つは #include "cstdio" のように二重引用符で囲う方法です。
このうち山括弧で囲う方は少し変わった文法規則になっており、ファイル名に '>' や改行を指定できない特徴があります。詳細は下記の通りです。
N3797 Working Draft, Standard for Programming Language C++ より ---- control-line: # include pp-tokens new-line (...略...) pp-tokens: preprocessing-token pp-tokens preprocessing-token preprocessing-token: header-name ★これ identifier pp-number character-literal user-defined-character-literal string-literal user-defined-string-literal preprocessing-op-or-punc each non-white-space character that cannot be one of the above header-name: < h-char-sequence > ★これ " q-char-sequence " h-char-sequence: h-char h-char-sequence h-char h-char: any member of the source character set except new-line and >
注目すべきは文字列リテラルと異なり、エスケープ規則がないことです。エスケープしようとして \> と書いても「バックスラッシュと山括弧」と認識されてしまい '>' を指定したことになりません。
従って、もしヘッダのファイル名に '>' が含まれていると、#include "..." ではインクルードできるのに、#include <...> ではインクルードできない、変なヘッダファイルになってしまいます。C/C++ 言語の制約と言えば制約ですけど、そんな変なヘッダ名を付ける人は居ないので、ほぼ実害はありません。
規格書を見ると、header-nameは #include専用と言って良いほどの特殊な文法です。何気なく使っている #includeの意外な一面を見た気がします。
目次: Kindle
先日(2017年4月16日の日記参照)の続きです。
全く起動しなくなったASRock J4205-ITXを初期不良で交換してもらうべく、ASRockのサポートフォームから質問してみましたが、全く返事が来ず途方に暮れていました。
もうどうしようも無いので、ダメ元でAmazonのカスタマサービスに泣きついてみたところ、事情を考慮して交換に応じて頂けるとのこと。さすがAmazonさん。
交換までしてもらって、実はマザーボードの故障ではなく、奇跡の確率でメモリが2つとも不良品だったらどうしよう?この期に及んでメモリも交換してださい、なんて絶対言えないだろ……などと若干不安に思っていました。
しかし、目の前にあるノートPC (ThinkPad Edge E420) はSandyBridgeなCore i5マシンです。DDR3 1333 SODIMMが使えます。つまりこのノートPCを使えば新しく買ったメモリの動作テストができます。
今思えば1週間もASRockのマザーと闘うくらいなら、最初からノートPCにブッ差せば良かったです。こんな初歩的なことに気づいていなかったとは不覚。
早速、ノートPCの裏蓋を剥がしメモリを差し替えました。拍子抜けするほどあっさりWindows 10が起動しました。やはりメモリは壊れておらず、マザーボードの故障で間違いなさそうです。良かっ…いや、壊れているから良いというのも変か、だけど、何だかホッとしました。
メモ: 技術系の話はFacebookから転記しておくことにした。追記もした。
先日(2017年4月5日の日記参照)の続きです。
ASRock J4205-ITXが完全にお亡くなりになりました。ついにDDR 1枚差しでもUEFIが起動しなくなりました(※)。
マザーボードを交換してほしいですが、Amazonの初期不良対応を見ると、メーカー担当者の名前を書けとあります。
しかし2週間前にメールしたASRockのサポートには完全に無視されていて、書きようがありません。
どうしたら良いんでしょうね。困りました。
DDRは2枚ありますがどちらを差しても、ウンともスンとも言いません。以前はこの状態に陥ってもCMOSクリアでなんとか起動していました(当然、設定は全部やりなおし)が、それすらもダメでした。
電源は2種類試したけど起動しません。電源の故障ではありません。ディスプレイは他のマシンに差せば映るので、ディスプレイでもありません。
残るはマザーボードとメモリしかないので、マザーボードの初期不良、もしくは、メモリ2枚同時の初期不良しか考えられません。
しかしメモリの線は薄いと思っています。1つならまだしも2つ同時に初期不良はありえないです。ほぼ間違いなくマザーボードがイカれてます。
メモ: 技術系の話はFacebookから転記しておくことにした。
Western Digital WD Red (WD40EFRX-RT2) を買いました。Amazonで18,000円です。
ファイルサーバのHDDがほぼ付けっぱなしで2年ほど経つので、そろそろ壊れても不思議じゃ無いなあと思って、買い換えました。
WD40EFRXは、末尾に何も付かない型番と、RT2が付く型番があります。どちらも同じ容量4TBですが、プラッタ1枚の容量が異なり、無印は1TBプラッタx 4、RT2は1.33TBプラッタx 3 なのだとか。へえー。
WD RedはNAS向けと銘打っており5,400rpmの省エネ&長寿命仕様です。プラッタ枚数が少ない方が軽くてより省エネだろうから、RT2で良かったのでしょう。きっと。目に見えるほど違いがあるかは知りませんけども。
安いけど驚異の故障率で有名になってしまったSeagate Barracuda 7200.14 ST3000DM001と入れ替えました。これで家の3.5インチHDDは全部Western Digitalになりました。
メモ: 技術系の話はFacebookから転記しておくことにした。追記もした。
< | 2017 | > | ||||
<< | < | 04 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | - | - | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | - | - | - | - | - | - |
合計:
本日: