NEC MultiWriter 5000N (Xerox Docuprint 2020、Brother HL-2170W) をLinuxでネットワーク上から使う

NEC MultiWriter 5000Nというモノクロレーザープリンタを、7,980円という値段に惹かれて買いました。モノクロながらレーザーかつネットワーク対応でこの値段とは驚きです。
買ったはいいのですが、Linuxで動かすのに苦労したので使用方法を書いておきます。ディストリはUbuntu 12.04 64bit (Precise Pangolin)です。CUPSの問題なので他ディストリでも同様に動くと思われます。

NEC MultiWriter 5000NはXerox Docuprint 2020やBrother HL-2170Wと製造元/構造が同じです。いわゆるOEMというやつです。なので同じドライバで動くようです。
設定は、http://localhost:631/からしました。他のGUIからやっても同様だと思われます。
予めCUPSやFoomatic (Linuxのプリンタドライバ集のようなもの)がインストールされていることを前提にします。

方法:

1. まず、Windows向け付属ソフトウェアでプリンタに固定IPアドレスを割り振る必要があります。Windows機にCDを入れて上手いこと固定IPにしてください。

2. プリンタの設定画面を開き、URLに以下を書きます。THE_PRINTER_IP はWindows機で設定したプリンタのIPアドレスです。

ipp://THE_PRINTER_IP/ipp/port1

3. メーカーは「Brother」を選択します。

4. 機種は「Brother HL-2170W Foomatic/hl1250」を選びます。recommendedなどは全て無視してください。

5. その他の設定を必要に応じてやります。

以上です。Linuxから使えなかったら買い直しだったので危ないところでした。と言っても7,980円ですけどね。

プリンタ購入/導入時の参考になれば幸いです。

参考:Tutorial on installing the Brother HL-2170W (and the HL-2140) printer with CUPS on Arch Linux.

LGA1155/LGA1156対応ヒートシンクの取り付け方

LGA775以降,インテルCPUのヒートシンクはプッシュピンで止めるようになりました.
しかし不肖私ソラオチめはこのプッシュピンを満足に止められません.すごく硬いし,どこまで回せばいいか分からないし,途中からどっちに回すのかよく分からなくなってきます.
さらに,ちゃんと取り付けたはずなのにある日突然外れてCPUが熱暴走することもあります(実例).
面倒臭くなったので,自宅にあったM5のネジで取り付けてしまいました.
取り付けたクーラーはグランド鎌クロスです


グランド鎌クロスのプッシュピンを


取り外して


ネジ止め

まんまSocket 478時代のPAL穴ですね.
Pen4のマザボにはリテンションキットが付いていて,失くすと中古屋に売れなかったりするわけですが,LGAは元々ついてないので安心です.

さっき知ったのですがAinex BS-1156という便利グッズもあるようです.次回からはこれにしよう.

Ubuntu 12.04 64bitでPT2を使う(Ubuntu 10.10〜12.04対応)

この記事は,あくまで技術上可能なことを一般論として説明したもので,PT2,カードリーダー,その他のハードウェアおよびソフトウェアの使用を推奨するものではありません.
また,この記事を読んだことにより読者に生じた一切の損害を管理人soraochiは負わないものとします.

話題にするには遅すぎる感はありますが,PT2 とB-CAS カード買ってきました.
B-CASカードのオマケでKTV-FSUSB2が付いてきましたが,これはまた今度改造します.

追記 KTV-FSUSB2(殻のほう)は友人にあげてしまいました


今回,PT2 をUbuntu 10.1011.10 64bit12.04 64bit で使ってみました.同様の記事が他ブログでも盛んに書かれていますが,中には怪しいものもあるような気がします ((あまり余所を批判したくないのですが,無条件にLNB電源をオンにすることを推奨するのは如何なものか)).
このブログも知識,手順,解決方法の面で怪しい点が多々あることは自覚しておりますが,ここはひとつ,先人の言葉を引用させていただき,開会の言葉とさせていただきます.

このページに存在するすべての間違いは、意図されていたかいなかったかに関わらず、読者のための練習問題もしくは冗談である

まずは環境紹介から.

マシンスペック

OS Ubuntu 11.10 64bit Ubuntu 12.04 64bit
CPU Core2Duo E8400
マザーボード GA-P35-DS3
ビデオカード GV-NX96T512HP

今回追加するハードウェア

主役 PT2 Rev.B
ICカードリーダー SCR3310-NTTCom (+青CAS)
予備のカードリーダー Reflex USB v2

ICカードリーダーを使えるようにしましょう.

sudo apt-get install libccid pcsc-tools libpcsclite-dev pcscd

B-CASカードの裏表に注意してください.B-CASカードの裏面が見えるように差し込むのが正解です.
これは,住基カード等では表面,B-CASカードでは裏面にICチップの接点があるのが原因だと考えられます.

できたら

sudo pcsc_scan

を実行してください.ズラズラと文字が出て,最後に

Japanese Chijou Digital B-CAS Card (pay TV)

が出たら上手くいってます.確認できたらCtrl+C で終了します.
もしマイナーなカードリーダーを使っていて,「Waiting for the first reader...」で止まってしまった場合はいるかのさんの記事を参考に/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist を編集します.

編集したら

sudo /etc/init.d/pcscd restart

を忘れずに.

それでもダメな場合(うちがそうでした)諦めましょう・・・と言いたいところですが,昔アキバで100円で買ったカードリーダーReflex USB v2 があったので,試しに使ってみました.
買ってきたままの状態ではLinux 64bit では使えないので,ファームをアップデートしてやる必要がありました.ファームのアップデートはUbuntu 11.10 64bit からでも可能です.
Reflex v2購入->SCR331に書き換えてみるテストを参考にSCMのホームページからSCR331のファームをダウンロードして/home/user にでも展開します.ファームの当て方の例を書いておきます(バージョンによって違うと思う)

cd FWUpdate_SCR531_SCR331_linux_USB_V5.25
./install.sh
./fwupdate_v1.6

Browse からSCR531_V525.bin を選択.Reader はそれっぽいのを選択 -> Download

その後,Linux 64bit用ドライバをインストールします.ここからダウンロードできます.稀奇特にも同型のものをお持ちの場合ご利用ください.

SCMのカードリーダーは,カードが刺さった状態で正常動作しているとLEDが点滅するようです.LEDがつきっぱなしの場合,B25のデコードが上手く行かない可能性が高いです.
多くの場合,テスト録画の段階で気付くと考えられますので,対処法は後ほど書きます.

さて,次にARIB STD-B25 仕様確認テストプログラムをmake install します.
ttp://www.marumo.ne.jp/db2007_b.htm#25 から「ARIB STD-B25 仕様確認テストプログラム」の最新版をダウンロードしてコンパイルするのがスジですが,下記方法の方がmakefileが既に作られてるので楽です.
インストールされるバージョンも0.2.4 で同じですので,下記を薦めます.

sudo apt-get install build-essential
wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
unzip c44e16dbb0e2.zip
cd pt1-c44e16dbb0e2/arib25
make
sudo make install

Ubuntu 11.10 ではカーネルのバージョンが異なるため,従来の方法ではchardev 版ドライバのコンパイルが通りません.また,recpt1 のBS新 チャンネルに対応させるため,sourceforge のepgrec 置き場からrecpt1 のtar.gz をダウンロードしましょう

(2011 年10 月にBS のチャンネルが再編成されました.詳しくはググってください).
2011年12月03日現在の最新版では,解凍するとディレクトリ「pt1-7662d0ecd74b」ができます.
Kernel3系だとdriverのコンパイルに失敗するため,パッチ済みのpt1_pci.c

も合わせてダウンロードしておきます.

$HOME に展開したと仮定すると

cd ~/pt1-7662d0ecd74b/recpt1
make
sudo make install
cd ../driver
make
sudo make install

これで/usr/local/bin/ にb25 およびrecpt1 がインストールされます.
PT2を刺すと,Ubuntu 10.10 からは標準ドライバ(DVB版)が使われるようになったそうです.詳しい方がDVB 版で試しているようですが

僕は成功例の多い「chardev版」を使いました.
Ubuntu 11.10 でも引き続き「chardev版」を使います.12.04でも同様にchardev版を使います。

/etc/modprobe.d/blacklist.confの最後の行にblacklist earth-pt1 を追記すればDVB版ドライバはロードされなくなります.

sudo apt-get install mercurial autoconf automake
hg clone http://hg.honeyplanet.jp/pt1 PT2
cd PT2/driver
make
sudo make install

ここで一回再起動します.既にPT2 を刺してるかたは,再起動でなく電源オフ→オンしたほうが良いです.僕はこれでハマりました.

PT2 が認識されているかは

$ lspci |grep Xilinx
06:01.0 Multimedia controller: Xilinx Corporation Device 222a (rev 01)

chardev版ドライバが使用されているかは

$ ls -lart /dev/ |grep pt1
crw-rw-rw- 1 root video 250, 3 2011-03-03 20:58 pt1video3
crw-rw-rw- 1 root video 250, 2 2011-03-03 20:58 pt1video2
crw-rw-rw- 1 root video 250, 1 2011-03-03 20:58 pt1video1
crw-rw-rw- 1 root video 250, 0 2011-03-03 20:58 pt1video0

で確認ができます.「$ ls /dev/dvb/」でadapter0〜3が出てくるときは,DVB版ドライバがロードされています.

インストールできたら

recpt1 --b25 --strip 22 30 test.ts

を試してみましょう.SSD を使ってる等の理由で,カレントディレクトリに大きなサイズのファイルを作りたくない場合,予め適宜cd してください.
東京タワーから受信している場合,TBS(22ch)が30 秒録画されるはずです.

totem test.ts

再生できたら成功です.画質がとんでもなくショボいときは,アンテナの接続を疑いましょう.ワンセグで録画されている可能性があります.

もし下記のようなエラーが出たら

Recording...
b25->put failed
b25_decode failed (code=-4). fall back to encrypted recording.

B25 のデコードができていません.どうやらOneiric(Ubuntu 11.10)のスマートカード周りにバグがあるみたいです.Marverick(10.10) のものなら正常動作する可能性があります.(参考)Ubuntu11.10 で録画用サーバ

/etc/apt/sources.listの末尾に

deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu maverick main universe
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu maverick main universe
deb http://security.ubuntu.com/ubuntu maverick-security main universe
deb-src http://security.ubuntu.com/ubuntu maverick-security main universe

を追記後

sudo apt-get update
sudo apt-get remove pcscd libpcsclite-dev libpcsclite1 libccid libpcsc-perl pcsc-tools
sudo apt-get install pcscd=1.5.5-3ubuntu2.1 libpcsclite1=1.5.5-3ubuntu2.1 libccid=1.3.11-1

libpcsc-perl=1.4.8-1pcsc-tools=1.4.16-1 は,依存関係を解消できないらしく,簡単にはインストールできませんでした.

The following packages have unmet dependencies:
libpcsc-perl : Depends: perlapi-5.10.0

libpcsc-perl=1.4.8-1pcsc-tools=1.4.16-1 のLucid のdeb パッケージを拾ってきてインストールすると,動くには動くんですが依存関係が壊れてapt に叱られます.
それでは元も子もないので,次の方法を使いました.ただし,かなりゴリ押しな上に,メンテナに検証されていない組み合わせなのでお薦めはしません.

pcscd,libpcsclite1,libccidを,インストールしたバージョン(pcscd=1.5.5-3ubuntu2.1 libpcsclite1=1.5.5-3ubuntu2.1 libccid=1.3.11-1)で固定する.apt-get ならhold,Synaptic ならPackage -> Force version

apt-get install pcsc-tools=1.4.16-1

依存関係からlibpcsc-perl=1.4.12-1build1 がインストールされる

pcsc-tools とlibpcsc-perl のバージョンを固定する

ここで何をしているのかもう少し詳しく説明します.
まず,libpcsc-perl=1.4.8-1perlapi-5.10.0 に依存していて,pcsc-tools=1.4.16-1libpcsc-perl に依存しています.
Ubuntu 11.10 のperl5.12.4-4 なので,perl のバージョンを落とすという吹っ飛んだことをしない限りはlibpcsc-perl=1.4.8-1 はインストールできません.
しかし,pcsc-tools=1.4.16-1libpcsc-perl に依存しているにすぎず,libpcsc-perl=1.4.8-1 である必要は,少なくとも依存関係の上ではありません
ということで,libpcsc-perl のみをOneiric,他をMaverick でインストールするというゴリ押しをしたのでした.

以上の作業が終わったら,追加したmaverickのapt-lines はコメントアウトします.

次にepgrec

を使えるようにします.epgrec は,PHP で書かれた録画予約システムです.動かすには,PHP+Apache+MySQL が必要です.

sudo apt-get install apache2 php5 libapache2-mod-php5 php5-cli mysql-server php5-mysql

入っていなかった場合,インストールしたら念のため再起動しておいてください.
これでApacheがインストールされるのですが,もしセキュリティ的に気になるようであれば,/etc/apache2/apache2.conf,あるいは/etc/apache2/httpd.confにLocalからしかアクセスできない設定を記述してください.(まあ,ポートが野放しにでもなってない限り,外部からはアクセスできないと思いますが)

また,epgrec は「epgdumpr2」にも依存しています.epgdumpr2 は,「インストール前の準備」からepgdumpr2-utf8.tar.gz,あるいはepgdumpr2.tar.gzをダウンロードし,以下のようにインストールします.
epgrec およびepgdumpr2 はsourceforgeから最新版をダウンロードし,解凍しておきます.

cd epgdumpr2
make
sudo cp epgdump /usr/local/bin

test.tsのあるディレクトリで,$ epgdump test test.ts - | less を実行してズラーッっと番組名っぽいのが出てきたら成功です.

$ at を実行して The program 'at' is currently not installed が出てきたら,aptから入れてください.
また,上記サイト記載のとおり,apache2 からat を実行できるようにしておきます.

引用:

/etc/at.denyの設定
epgrecはWebサーバーのユーザーアカウント(Debian/Ubuntuはwww-data、RedHat?系ではapache)でatコマンドを実行しますが、セキュリティ上の配慮からatの使用禁止ユーザーリスト/etc/at.denyに、Webサーバーのアカウントが設定されている場合があります。
管理権限(root)で/etc/at.denyを開き、www-dataやapacheといった、Webサーバーのアカウントが含まれていないか調べ、含まれていたら、その行を必ず削除してください。

/etc/passwdの確認
一部のディストリビューションでは、セキュリティ上の配慮からWebサーバーのアカウントにnologin(ログイン不可)が設定されています。nologinのアカウントではatコマンドも利用できず、epgrecによる録画予約が機能しません。 rootアカウントで/etc/passwdを開き、Webサーバーのアカウント(apacheなど)のエントリを調べ、シェルの設定が/sbin/nologinに設定されているようなら、/bin/shに変更しておきましょう。

apache:x:48:48:Apache:/var/www:/sbin/nologin
↓下記のように変更
apache:x:48:48:Apache:/var/www:/bin/sh

以上の設定をしっかりと行っておかないと、録画予約に失敗します。

MySQLで,必要なテーブルを作っておきます.
この操作では,特段MySQLの設定をしていない場合MySQL のroot 権限が必要ですが,Ubuntu のroot 権限は要しません

mysql -u root -p

create database epg;
grant all privileges on *.* to [username]@localhost identified by '[Password]';
exit

username,password,データベース名(例ではepg)は,なんでも構いません.
よく分からなくなってしまったら,PHP もインストールしたことですし,PHPMyAdmin 使うといいです.

epgrec を

sourceforgeのreleaseページからダウンロードして展開,設定します.

tar zxvf epgrec-20100322.tar.gz -C /var/www/
cd /var/www/epgrec
cp config.php.sample config.php
cp do-record.sh.pt1 do-record.sh
gedit /var/www/epgrec/config.php

エディタでconfig.php 内のチャンネルマッピングを設定します.
物理チャンネルは,どの中継局から電波を取っているか(あるいはCATVのパススルーか,トランスモジュレーションか,集合住宅の場合U-U 変換,U-V 変換をしていないかetc・・・)によって異なります.東京タワーから電波を取っている場合,このページ記載の通りです物理チャンネルは,地上波デジタル/地上波アナログの場合,13ch〜62ch の間で設定されるチャンネルであり,リモコンのチャンネルとは一般に異なります.

設定できたら,ホームディレクトリ(あるいは大きいファイルが生成されても構わないディレクトリ)に移動し

OUTPUT=test.ts CHANNEL=22 DURATION=30 TUNER=0 MODE=0 TYPE=GR /var/www/epgrec/do-record.sh

を実行します.チャンネルは適宜変えてください.東京タワーから電波を取っている場合,上記コマンドでTBS が30 秒録画されたら成功です.上手くいかなければ,TUNER の番号(0〜3)を変えてみてください.
うまくいったら,http://localhost/epgrec/にアクセスします.言われるがままに設定してください.データベース名,パスワードはさっき設定したやつです.
もしなんらかの理由(SSD を使っている,他の大容量HDD に保存したい・・・等)で/var/www/epgrec/video/以下に録画したデータを直接置きたくない場合,この設定で相対パスを書いてもいいんですが,SimLink 貼っておくんでも大丈夫です.

ちゃんと設定したはずなのにEPG を受信できないチャンネルがある場合,電波の受信状態を確認してください.確認後,http://localhost/epgrec/getepg.phpにアクセスし,正常に取得できていればOKです.僕はここでハマりましたが,結局,分配器がショボかったのが原因でした.(分配器くらいケチらずいいものを買いましょう.あと,タコ足するならブースター付けましょう)

EPGを常に最新に保っておきたい場合,cronの設定が必要です.僕はいまのところ設定してません.必要になったらやればいいと考えてます.

EPG の自動更新は,例えば以下のように設定します.この場合,午前4時30分に更新されます.

crontab -e
30 4 * * * /var/www/epgrec/getepg.php

権限の与え方にもよるのですが,

sudo su
sudo www-data

を実行してからのほうが良いかもしれません.

あとはhttp://localhost/epgrec/にアクセスして録画予約するだけです.

・・・Ubuntu 10.10 よりはハードルが上がりましたが,できないことはないです.

参考URL
Ubuntu10.10を使って快適な地デジ録画環境を作る①〜④
epgrecのインストールと設定

追記(2012-05-05) カーネルのバージョンが変わったときは,ドライバの再インストールが必要です.aptからカーネルをアップデートした際にも必要です.

cd ~/pt1-7662d0ecd74b/driver
make
sudo make install

2011年3月  10.10版公開
2011年12月  11.10向けに全面改訂
2012年09月  12.04で動作確認.少しだけ改訂

GPSを用いStratum 1 NTPサーバを構築することについての検討

一般にPCの時計は精度が悪いので,何らかの方法で定期的に校正してあげる必要があります.
現在,うちではcron.dailyでntpdateを1日に1回実行しているのですが,最大で8秒ほどの誤差が出ていると考えられます.概念図を以下に示します.

もっとも,線形に誤差が増えていくとは限りません.また,1日目にntpdateを実行する直前の誤差⊿t1と,2日目にntpdateを実行する直前の誤差⊿t2は実際には異なります.それに,ntpdateは時刻を緩やかに訂正します.ですので,上図はあくまで概念図です.

図にも書きましたが,ntpdateを実行する直前と直後の時刻差の絶対値は8秒程度です[注1].8秒というのはあまりにも大きいです.
ntpdateを1日に8回実行すれば,誤差をいたるところで1秒程度に減らすことはできます[注2].しかし1秒の誤差ではまだ大きいですし,かといってNTPサーバに問い合わせる回数は増やしたくありません.そこで,GPS時計の出番です.

GPSというのは,ご存知のようにGlobal Positioning Systemの略称です.電波が,衛星からGPSレシーバに到達する時間を距離に換算し,位置を特定します.これが一般的な使われ方です.
逆に,一度位置を特定すれば,時刻を求めることができます.GPS衛星は原子時計を搭載していますので,求めた時刻はかなり正確です.これがGPS時計の原理です.

GPSレシーバの中には,衛星から受信した1PPS信号(矩形信号の立ち上がりが毎分の0.000…秒に一致している)を出力できるものがあります.
そんな面倒なことをしなくても,GPSからの時刻をセットすればいいじゃないかと思うかもしれませんが,次のような理由により1PPSを利用したほうがより正確です.

http://time.qnan.org/より引用

What is the difference between “PPS” and “GPS time”? PPS is simply an electrical signal pulsed by the GPS unit once a second. It very precisely indicates the start of a second. “GPS time” is the actual time of day, such as 12:34:56 UTC, that is provided in NMEA data as described in an earlier section. The downside of the GPS time is that it is much less precise than PPS, and so a PC that’s attempting to synchronize with just NMEA data may be off by hundreds of milliseconds without knowing it. This is why it is important to combine the GPS time with the PPS signal, or use just the PPS signal from the GPS and acquire time-of-day from other sources such as Internet hosts.

また,サンプルがある程度集まれば,時刻のズレを20μ秒程度にできるようです.

After some minutes or hours of sampling your GPS, the system time will be adjusted to match the PPS output, and you should expect the absolute value of your offsets to be below 20 microseconds (0.020 ms).

20μ秒という値がどこから出てきたのか分かりませんが,1日に2秒誤差が生じる場合,1秒間に23μ秒の誤差が生じます[注3].多分こういうことなのではないかという概念図を下に示します.

ここで,[tex]Delta t’ = frac{Delta t}{24 times 3600}[/tex]
ただし⊿tは24時間での誤差(一番上の図の⊿tに対応)

なんにせよ,マイクロ秒単位の時間を扱うので,GPSとPCとの接続は,RS-232Cなどの遅延が少ないものでないとダメです.USBなんて論外です.

そんな感じで,よさそうなGPSユニット(モジュール)を探してみました.

1.秋月のGT-720F
3200円と安価で,RS-232Cレベルの信号を出してくれるので手軽です.ただ,1PPS信号が出ないので却下.

2.GM-316
5000円程度と若干高いですが,1PPS信号も出ます.ただし,1PPS信号のパルス幅が1μ秒なので[注4],単安定マルチバイブレータやPICでの信号変換が必要.また,信号がCMOSレベルなので,外部回路でRS-232Cレベルに変換しなければならない.

3.Garmin 18x LVC
日本で買うと12600円するが,海外通販なら$60.95で買える
また,多くの人が使っているようで,簡単に導入できそう(参考1 参考2).

以上より,やるなら海外通販でGarmin 18x LVCでも買おうと思う.

NTPサーバ構築にあたって,本当はもう少し作業が必要ですが,今日はここまで.

[注1] うちのある1台のパソコンでの例.マザーボード,チップセット等により大きく異なる.本文中では誤差を絶対値で表すようにしたが,環境によりプラス方向,マイナス方向のどっちにもズレる.
[注2] max(abs(error)) < 1程度にできるという意味 [注3] 統計的手法でコンピュータで定義された1秒の長さを調整すれば,誤差をもっと追い込めるのではないかと思うのですが,LinuxPPSにそういった実装はないのでしょうか(←ちゃんと調べてないので不明). [注4] 1μ秒はないだろと思ってデータシートを見てみたのですが,本当に1μ秒でした.

PCI Express 16xのグラフィックカードを8xに加工する

NEC Express 5800 110Geという格安サーバをデスクトップとして使っている[注1].2008年11月当時ですら,常に1万円ちょいで売っていた.

今はExpress5800/S70なるものが出ていて,ClarkdaleコアのPentium Dual-CoreにPCI Express 16xスロットが付いて16800円のようである[注2].
しかし,110Geでは低速なオンボードグラフィックに,ディスプレイ出力はD-Sub 15Pinのみである.しかも,PCI Express 16xスロットがなく,インチキくさい8xスロットが2本付いているだけである

このままではスロットに干渉して16xのグラボを取り付けられない・・・ので削った.

かなり今更な感じではあるが,作業内容をメモしておく.

参考
Express5800/110Geを試してみる
Express5800/110Gd ビデオカード取付け

上記サイトにも書かれている通り,ブラケット側38ピンを残してラッチ側を削った.PCI Expressの仕様を見ても,これでいいんじゃないかと思う.

取り付けたのはGA-7600GSH.3年以上前に4000円@中古屋で買って,シバきまくった代物なので未練なぞない.

削る前.机が傷になるのでなんか敷いたほうがいいです.

削った後.

カッターで矩形にガリガリと傷を付け,ペンチでバキッとやると簡単に取れます.ラジオペンチよりペンチのほうがいいです.仕上げに金属ヤスリでバリを取って,接点スプレーで磨けば完成です.

繋いだら普通に動きました.めでたし.

[注1] 厳密に言えば僕は管理をしているだけで,使ってはいない.
[注2] ググったら,同スペックのデスクトップ機は概ね3〜5倍する.OSとサポート代か.

3.5インチHDDを消去して中古屋に売ろう

みなさん,HDD消去してますか?僕はサボってたので6台溜まってしまいました.

IMG_2807

困ったものです.消しかたにも色々な流儀があるわけですが,まあぼちぼちやりましょう.
ゼロフィルとかローレベルフォーマットでいいじゃんと言う人は嫌いです.

ランダムな数で埋める方法として手軽なのは

# dd if=/dev/urandom of=/dev/sdb

でしょうか.でも今回は

# shred -n 2 -v /dev/sdb

としてみました.-n 2だと2回書き込みです.-vは標準出力にログ出力.

ランダムデータ(1)−ランダムデータ(2)−"00" の順に、HDD全領域に3回書き込む

というのは米国国防総省標準規格です.つまりこの後ゼロフィルすればNSA規格です.ちょろいもんだ.

ゼロで埋めるのは

# dd if=/dev/zero of=/dev/sdb

だと直感で分かるのですが,1で埋める方法が思い浮かびませんでした./dev/oneをCで実装できないこともないようですが,頭のいい方法を見つけました

# cat /dev/zero | tr 00 377 | dd of=/dev/sdb

0を1に置換する方法です.8進377は2進11111111ですね.

IMG_2810

すぐ終わんべとタカをくくってUSB2.0で繋いでやったのですが,3.5時間やって1Passの17%しか終わっていません.日が暮れてしまいました.マジで.
USB2.0の規格上の速度が480Mbpsですから,実測100Mbpsとしても160G終わるのに3.5時間程度なはずなんですがね.もちろん他にボトルネックがない仮定でですが.PenM@1.1GHzなのがよろしくないのでしょうか.

というわけでデスクトップ(Ubuntu,Core2Duo E8400)に繋ぎ直してやってみました.それでもUSBでやるのは意地ですね.
埃かぶってるように見えますが,光の加減です.ごめんなさい嘘です写真撮ったあとちゃんと拭きました.

IMG_2814

1時間で160G中,1Passの17%まで進みました.
作業中とても邪魔ですし,直接繋ぐことを強くお薦めします.少なくともLaptopで手軽にできる作業ではないようです.

おまけ:ddの進捗を表示させる方法 from ddの進行状況を調べる方法@理想未来はどうなった?

# dd if=/dev/zero of=/dev/null& pid=$!
# watch -n 10 kill -USR1 $pid

参考URL:@IT:ファイルを完全に消去するには
KNOPPIIXを使ってハードディスクの内容を抹消する方法

CPU交換

Pentium Dual-Core E2140(SLA93)からCore2Duo E8400(SLB9J)に換えた.
換えた理由は

・両方共TDPが65Wだから
・E8400の価格がこなれてきた
・E2140も2年くらい使ったし,もういいだろう

といったところ.まあなにより,発熱が同じなら性能が高いほうがよい.

マザーボードはGA-P35-DS3(rev1.0)という45nm process readyのものなので,CPUとCPUクーラーのみの交換で済んだ.CPUクーラーは高さ制限があるためNINJAminiにした.フロッピードライブの故障によりBIOS updateに手間取ったが,USB-FDD買ってきたら上手くいった.

UbuntuでインターネットとOpenOfficeをする為のマシンにここまでのスペックが必要かは甚だ疑問だが,趣味だから仕方ない.異論は認める.

wizpyのメニューとフォントを変える

今年の1月くらいだっただろうか.wizpyなる4GBのmp3プレーヤが3000円だった.Turbolinuxなんて懐かしい響きだなあと思いつつ,安いから一個買ってみたのでした.
かれこれひとつき程使ってみたのだが,標準のメニュー画面とフォントがとても中華臭い↓

img_2771

img_2772

そう思ったのは僕だけではないらしく,フォントやメニュー画面を書き換えられるツールを有志が作ってくださったのでした
方法はリンク先に書いてあるので省略.bashとapt-getに飼い慣らされた身で,DOS窓の不親切さにイーッとなること30分.無事書き換えに成功したのでした↓

img_2776

img_2773

OS領域のことは僕に聞かないでください.PuppyとかUbuntuとかお薦めです.

FST-80@Ainexを使いやすくする

FST-80なる金具があるのだが,普通はマザーボードと平行にしか取り付けられない.つまり,グラボの下から垂直に吹き上げるような使い方はできない.

できないなら,できるようにすればいい.


改造前.保証は気にしない.


M3@ISOピッチのネジ穴を3個作る.下穴用のドリル,ハンドタップ及び切削油が必要だが,どれもホームセンタに売っているような一般的な工具である.


あんまり適当にやると3個のネジ穴が一直線上に並ばないが,そこまでシビアじゃあない.
ただ,手前側ギリギリの位置に開けるとPCIコネクタと干渉する可能性があるので,そっちは要確認です.


標準のネジ穴は盛上げタップで開けてあるが,ハンドタップで開けるとネジが貫通する.

シンルイリアンの8cmを5V化すれば,ほぼ無音及びそこそこ冷える.

とことん保証外だな.