基板CAD

これまで P板.com で紹介されていた CADLUS 基板CADを使っているのだけれども最近別のツールが紹介されてました。

一つが、クラウドを使った Quadcept 。無料版があるみたいだけど使うときだけ月額ライセンスを購入って言うかたちのもの。
もう一つが RS-Online の DesignSpark PCB ってツール。これは登録は必要ですがライセンス料金は無料で提供されてます。

ということで、RS の連携ツールということもあり DesignSpark を使ってみました。インストールしてアクティベーションを実行。ユーザー登録すれば使えるようになります。
アクティベーションするときに注意点。DesignSpark はPCB と3D-CAD のMechanical の2種類があって、どちらも無料で使えるんですが、登録するときのユーザー名に注意が必要です。
Mechanical の方はハイフンを含むユーザー名が使えたのですが PCB の方はハイフンを含むと登録できないという点。昔は使えたらしいのですが、バージョンが上がってからはムリみたいです。自分も登録できずメールで連絡して変更してもらいました。

とりあえず過去に作った基板の記録として回路図とパターン図の作成に使ってみると、自分の感じではわかりやすくて使いよかった。 CADLUS よりわかりやすいかも。これで商用、非商用の制限なく無料ってすごいねって感じです。ちなみに RS の提供ツールなので RS の販売ページと連携できるようになってます。

今度は Mechanical の3D使ってみようかな。

 

nec express 5800 解像度

サーバー OS を ubuntu 14.04 にあげてから解像度が 800×600 固定と悲しい状態になってしまった。何とかならないかといろいろ調べていたところようやく解決しました。まあ、サーバで作業することは滅多にないんだけど表示できることに越したことはないし。

それに、別にサーバーなんだからGUIいらないじゃん。というところもあるんだけど共有フォルダに日本語を使っている都合上何かと CUI だけではめんどくさい。なので GUI をいれていたんだけど 800×600 だからこれまた表示がきれたりして都合悪い。
とこんな状況でした。 10.04 の時は表示できてたはずだしまあ、モニタがへっぽこなのでせめて 1024×768 は出したいと思っていたのです。

ちなみに使っているサーバーは NEC Express5800/GT110b celeron モデル。
これのオンボードビデオを lspci で見ると
XGI Technology Inc. (eXtreme Graphics Innovation) Z9s/Z9m (XG21 core) となっていた。
実際メーカーのページでも XGI/Z9s ってなってたから認識は間違いない。

で、いろいろ調べてみると sis のドライバを使う、XGI のホームページからドライバをとかいろいろ出てきたがなんかホムペからは入手できなかった。というか見つからなかった。まあ、古いし。
で、xserver-xorg-video-sis のドライバは入っているから xorg.conf を書き換えて試してみようかと
ubuntu フォーラム の内容をまねて書いてみたけどダメだった。
あとから思うと XG20 core と XG21 core で違いがあったのかなとも思った。

何を設定してもダメなので最終手段 vesa ドライバ使ってみたらというところに行き着き /etc/X11 のディレクトリにあった xorg.conf.failsafe をリネームコピーして vesa ドライバで起動したらログイン画面が広くなって 1024×768 で表示できたというなんとまあという結果に。

もしかしたら 10.04 も vesa 使ってたのかな。
まあ、結果オーライということで。

acer ASPIRE 3830T メモリー増設

自分は以前デスクトップを使っていたけど最近はメインで acer ASPIRE 3830T-N54D を使っています。
もともとwindows 7マシンでしたが Windows 8.1 にアップしてからメモリー不足でプチフリならぬ応答待ちが頻繁に起き作業もスムーズに進まない状態に。
このマシン、メモリーは標準の4GB。windows7 の時はまあこんなものかなと思っていました。バージョンアップして win8 は少しましだったかな。あまり記憶ないけど。で、 win8.1 にして今日まで使っていたけれどもうダメ。我慢の限界。
応答待ちの原因はおそらくスワップアウト。アクセスランプつきっぱなしだしガリガリ音するし。で、コミット量をタスクマネージャーで見てみると、起動したてはまだ2~3GB。 Firefox 起動したり普通に使っているとコミットはあっという間の4GB超え。実メモリーを超えたあたりからHDDのアクセスが気になり始める。

一番の原因が、Firefox をメインブラウザで使っているのだけれど、これがまた 1GB 前後メモリーを普通に使ってくれる。まあ、10個ぐらいタブ開いてるから仕方ないけど…。tw,fb,gmail,mixi とかよく使うタブ表示してるとそれぐらいになっちゃうんだよね。
はじめはちょっと待たされるけどまあ我慢できる。でも、そのまま使い続けるとコミットは増え続けて二日目あたりから 8GBを超える。こうなるとスワップの嵐。ハードディスクガリガリ。しょっちゅう応答待ちを食らうことになり、そしてストレス発生装置に…。
作業を中断されるとやる気が飛んでいくし、どうしようもないのでメモリーの増設を試みることにしました。

まず、どれくらい増設できるか調べてみた。メーカー公称で8GBまで増設できるとなっていた。となると8GBかなぁと思ったが、おもしろい情報も見つかった。
メーカー仕様の8GBを超えて16GBまで増やしたという話。実際調べてみると3830Tは HM65 Express チップセットのCPU i5-2410M なんだけど、チップセットには最大メモリの値が見当たらない。代わりにCPUに書いてあった。最近はまたCPUにメモリーコントローラーを持たせるようになったんですね。で、i5-2410M は最大16GBまで対応となってました。なので、仕様以上の増設が可能というからくりになっているようだ。こんなおもしろい情報は試してみないとと思ってしまう訳で。まあ、ダメ元でやってみた。

まず、メモリーを探すところから。3830T のメモリーは PC3-10600 までとなっている。いろいろネット情報を見て回ったけど、どこも同じような感じなのでいつものドスパラで買うことにした。けれどDDR3-10600 8GB二枚組のお手頃価格のものが限定数完売。その代わり PC3-12800 は手に入る。だったら、メモリーは下位互換だし 500円ぐらいの差だったらこれで試そうと言うことで早速 ADATA DDR3 1600 8GB 2枚組 を購入。
wpid-dsc_0455.jpg

パッケージは周りをがっちり溶着されていた…。どうやって開けるんじゃ?と苦戦していたところよく見たら、なんか後ろにミシン目が入っている。そういう開け方だったのね。
wpid-dsc_0456.jpg

次はパソコンのカバーを外す。
wpid-dsc_0457.jpg
ネジは acer のシールの下に隠れている。これをはがしてネジを外さないといけない。で、これを外すと保証対象外になりますよと言うことらしい。ちょっと気が引けるが、うちのは以前にアダプタの部分が割れてしまい分解してアロン留めしたので、このシールはすでに穴があいてます。ここのネジ一本を外してスライドさせるとカバーは開きます。簡単だ。カバーを外すとこんな感じ。
wpid-dsc_0458.jpg

メモリーソケットは二つ。この2枚のメモリーを外して購入したのに差し替える。ちなみに、メモリーの横にいるクーラーの下にCPUがあるのだけれど、これを i7 に交換するという強者もいるみたいです。ネットで見ました。でもうちはそこまでしませんよっと。
wpid-dsc_0459.jpg
メモリーを差し替えたところ。
あとはふたを閉めて起動するだけ。起動してくれよっと祈りつつ電源ボタンをポチッと。BIOS設定で確認しようと思ったら素通りされて何もなかったかのように起動しました。さて、いくらで認識しているでしょうか。ということで確認。
スクリーンショット 2015-01-06 10.49.05

認識は以下のように16GBできちんと認識しています。但し、メモリーは DDR3-1600 なのですがDDR3-1333 として認識。まあ、これは仕方ない。CPUの仕様です。にしてもスロット2/4ってのが気になるけどなんだろね。
とまあ、パッケージを開ける苦労はしましたが増設自体は苦労なく成功しました。動作も快適。まだまだ使えます。コミットはやっぱり4~5GBあたりになってます。ていうことは、windows 8.1 を快適に使うには4GBでは少し厳しいということか。でも HP mini atom n550 では2GBでもそれなりに動くのにな~と思ってたけど、使い方が違うからそんな気がしてるだけかな。
これで不自由なく作業ができるはずだけど、あとは Bluetooth が安定してくれたらありがたいけどね。

とりあえず、最後に一言。
この増設は他のPCではどうなるか分からないので、もし試されるなら自己責任でお願いしますよっと。

Windows XP の 0x0000000A ストップエラー対応

今更ながらに Windows XP が起動しなくなったので何とかして欲しい。との依頼を受けて見てみることに。パソコンは NEC PC-LL550BD の windows XP メモリー 768MB のパソコン。

立ち上げるとあるところまで進んで自動的に再起動がかかりセーフモード選択画面になるという症状。
よくよく見てみると一瞬ブルーバックの表示が出て再起動しているようだ。
とりあえず F8 で自動再起動をやめて起動してみることに。やっぱり出ていたブルースクリーン。エラーメッセージはこれ。

IRQL_NOT_LESS_OR_EQUAL
0x0000000A(0xFFFFFFE8, 0x00000002, 0x00000001, 0x804DB044)

Microsoft のサポートページ によると、このエラーは、プロセスの IRQL が高すぎる状態で、ページング可能なメモリに対するカーネル モードでのアクセスが行われたこときに発生するらしく、一般的にドライバーが不適切なメモリ アドレスを使用している場合に発生。もしくは、互換性のないデバイス ドライバーか、ハードウェアの問題、および互換性のないソフトウェアが原因となっている可能性もある。と書いてあった。ということは今回はデバイスに関する問題かな。

とりあえず疑うはメモリー。
Linux のディスクに含まれている memtest86+ でテストしてみることにした。1週しかしてないけど結果は真っ赤にはならなかった。ということはメモリーは除外。

思い当たるところは Flash Player の更新インストール中に止まったらしく電源切ったら不安定になったということらしいので、Flash Player を入れ直したり、更新履歴を見ると JAVA の更新もあったのでこれも入れ直したりとしてみたけどダメだった。
とりあえず、原因の起こる前までシステムの復元してみた。直った?
何回か再起動してみたけど再現しなかった。よしよし。とこの日は作業を終えた。
次の日、念のためもう一度起動してみると…止まったorz なんで~?

で、やっぱりハードウェアかデバイスドライバがやられたのかなと次の調査に 0x0000000A に続くパラメータの意味は

  • parameter1 – 不適切な参照が行われたアドレス。
  • parameter2 – そのメモリのアクセスに必要な IRQL。
  • parameter3 – アクセスの種類。0 は読み取り操作、1 は書き込み操作です。
  • parameter4 – parameter1 のメモリを参照した命令のアドレス。

ということらしい。
そうすると、0x804DB044 にある何かが、0xFFFFFFE8 に対してIRQL(0x00000002)を超えたレベルでの書き込み(0x00000001) を行おうとしたということになるのかな。この解釈であってるかな。
まあ、不正な参照を行おうとした命令のアドレス 0x804DB044 ってこれを含むデバイスってことで良いのかなと調べてみると 「PCIバス」が該当。対象が広いなぁ。

とりあえず絞り込むために、起動時に読み込もうとしたドライバを確認しようと ntbtlog.txt を見てみたのだけどストップする時とセーフモードで違いが出ない。あれ?…もしかしてストップした時のログを再起動がかかって起動したときのセーフモードが上書きしてるのか。ダメじゃん。

で、このアドレスを使うドライバはとメモリーマップ見ようと思ったけどツールが起動しないorz
といろいろやっていたらまた起動するようになった。不安定だ。たぶん明日も再現しそうだ。

確率的にネットワークアダプタが怪しいよという情報もあったけど、アドレス範囲違うし、問題出てるアドレス範囲の根本「PCIバス」をいっそのこと入れ直してみよう。と大胆な行動にでることにした。

「PCIバス」のドライバを削除して、再起動。いっぱい!マークがついてる~。っと、デバイスの更新ポチッとしたらドカドカっとドライバのインストールが始まった。すべて終わってもう一度再起動。エラーストップもなくなりたぶん直っただろうと作業終了。

次の日、再現はしなくなった。たぶん PCI に関わるドライバだったんだろうと思われるけどがっつりやっちゃったので正確な原因は不明。Flash Player の更新ってことだからもしかしたらビデオドライバかもしれない。
とりあえず持ち主に引き渡して終了。問題でなければ良いが…。

同時期に、これとは別でパソコンがたちあがらな~いと言われ見てみたらこちらはバッテリ切れ。ボタン電池が切れてたので毎回BIOSの初期設定してよ画面が出て止まるとまあ簡単なことでした。こちらは電池交換にて対応。

頼られるのは良いことだけど、便利屋さんですねぇ。

ubuntu 14.04 に redmine のインストール

アップグレードしたサーバーに redmine をインストールした。けど、動かないorz これは起動させるのに四苦八苦した記録(メモ)です。

これまで予備サーバーに ubuntu 14.04 をインストールして実験してました。で、 redmine を活用しているのは自分だけなので、バージョンも進んでるし予備サーバーのredmine を使用していました。
今回、メインサーバーを14.04 にアップグレードしたので redmine も移行することに。予備サーバーで使っていたのは ppa のものだけど通常リポジトリとバージョンが同じだったので通常リポジトリのをインストールすることに決定。

redmine をインストールは
apt-get install redmine
で実行。必要パッケージがドカドカっと追加され特に問題なく進みました。

ここからがいつも苦戦する作業。 apache2 に redmine の設定追加したらエラーで起動しない。apache を起動しようとすると RackBaseURI  の構文エラーとか出てくる。 RailsBaseURI にしてもダメ。いろいろ調べてみたらモジュールが入っていないだけだった。なんじゃそれ。
ちなみに RailsBaseURI は ver2 までの Rails の設定らしい。なので RackBaseURI を使うのです。
足りなかった apache モジュールをインストール
apt-get install libapache2-mod-passenger
とりあえずは構文エラーは消えてきちんと apache が起動した。けど今度は 403 Forbidden 。やっぱり苦戦するわ。

いろいろ調べているときに Passenger の状態云々って見つけたから passenger-status を実行してみた。そうすると、
Phusion Passenger doesn’t seem to be running.
だそうだ。動いてないじゃん。ついでにこんなエラーも。
no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory
なんじゃこりゃ。と思ったが、これはrails がインストールされてなかったので
apt-get install rails3
で解決。にしても rails まで入れ忘れていたとは。でも相変わらず動いてない。あとはなんだ?

エラーログを確認してみると PassengerRoot の設定がおかしいよ。と言うエラーが出ている。
/etc/apache2/mods-available/passenger.conf を確認すると、 PassengerRoot が /usr とだけになっている。ここは passenger のモジュールの場所で、インストール中に表示されるパスを書き込むらしいのだが、そんなものは見ていないというか表示されてたのか?よく分からない、覚えてない。仕方ないので、予備サーバーを見てみると
PassengerRoot /usr/lib/ruby/vendor_ruby/phusion/passenger/locations.ini
と書いてあった。同じファイルがあることを確認して 同じパスを書き apache を再起動したら、エラーは消えて passenger は動作を開始した。よかったよかった。
やっぱり見逃してたのかなぁ。というか apt-get でインストールしたときにメッセージが流れて気がつかなかったよ。そんなの。
まあ、そんなこんなで、 passenger は動き出したけど、まだエラーが出ている。次は Gemfile. lock とかなんとか。
これ以前にも見た気がする。確か以前はrake とか bundle とか実行したと思うが……。
ということで、やってみた。 /usr/share/redmine のディレクトリで
sudo bundle install
sudo rake redmine:plugins:migrate
を実行して無事 redmine が起動した。
お~。長かった。

あとは予備サーバーで起動していた redmine のデータベースをメインサーバーへ移管して終了。バージョンが一緒だったからかデータベースを上書き!っとするだけで移管作業は完了。簡単だった。一通り動作確認してみたらけどデータは正常。

あとは、リマインダーのメールだ。ということで cron を見たら送信の設定が残ってた。試しに実行してみたけど反応がない。redmine の設定、メール通知を確認してみると
/etc/redmine/default/configuration.yml
を設定してね~っと書いてあったのでシェルで確認。ファイルがない……。仕方ないので
/usr/share/redmine/config/configuration.yml.example
をコピーしてきてメールの送信サーバーの設定を行い
email_delivery:
delivery_method: :smtp
smtp_settings:
enable_starttls_auto: false
address: smtp.サーバーアドレス.jp
port: 587
domain: ドメイン名.jp
authentication: :login
user_name: “ユーザー名”
password: “パスワード”
予約cron ジョブに以下のスケジュールを設定。days=3 は3日前で送信となる。
cd /usr/share/redmine ; rake redmine:send_reminders days=3 RAILS_ENV=production
予約は月曜から土曜日の朝8時に送信するように設定して、とりあえず送ってみたら正常に送信できた。これで設定完了。インストール作業終わり。

ということで、
以上で一応インストール時の苦戦メモ終わりです。