2011年12月30日金曜日

ODBCの設定をエクスポートするツールを作ってみた。

まぁ、コマンド一発orレジストリエディタで済む話なのですが・・・

Windowsサーバの移行などで、大量のODBC接続設定を移行する場合、
手で一つずつ設定していくのは間違いの元だし、第一手間がかかる。

設定自体はレジストリに書かれてあるので、場所が分かれば、該当キーをエクスポート
すれば済むのだが、レジストリを操作するのは躊躇われる。

と言うわけで、ODBC設定(正確にはシステムDSN)をエクスポートするツールを作成してみた。

ソースはここにおいておきます。

ソース見て頂くと分かるのですが、やっていることは単にレジストリの指定したキーを
指定したファイルにエクスポートしているだけです。(しかもコマンド叩いて。)
移行先マシンでodbc.regファイルをダブルクリックしてキーを登録すればOKです。
あっ、異なるバージョン間(WindowsServer2003->2008)とか32bit->64bitはテストしていません。
基本的には、キーの場所が同じならばOKだと思いますが。

テストはXP Proでしかしていません。
追記:Windows2000でも動くようにしました。
追記その2:2003Server(32bit)、2000Serverで動作確認が取れました。

使用は各自判断の上自己責任でお願いします。


2011年12月24日土曜日

ガイガーカウンターを組み立ててみた。

前日届いたクリスマスプレゼントを組み立ててみました。


ついでに動画をとってみました。

ジャンク屋の歳末セールに行ってきたよ。

前日に偶然ジャンク屋に寄ったところ、たまたま歳末セールをやっていたのを呟いたら、
予想外に反応があったので再び寄ってみた。

なんと、ジャンクヒートシンク(パワトラ付)袋詰め放題無料!!
実は前日にもいくつか回収したのだが、店員さんに遠慮するなと言われて・・・
ほとんどお持ち帰りいたしました。後悔は・・・若干(汗

1000円以上お買い上げでくじが引けました。まっ外れてgoodなボールペンです。


購入したのは、詳細不明DCDCコンバータ。2個で1000円。

帰宅して戦利品の選別。
合計71個。正直何に使うか悩む・・・





2011年10月9日日曜日

ThinkPad T40を修理してみた。

某所より、突然電源の入らなくなったT40を修理してみないか?と挑戦お誘いを受けたので、
何も保証できませんがと前置きして引き受けた。
ちなみにコイン電池はBIOS初期化したら直るかなーと思って外したが、やはり駄目だった。

さて、早速解体に入る。T40はご丁寧にもネジの大きさが裏面に印字してあり、
しかも、それぞれネジに記号が割り当てられており、どのネジをどこに入れるかが書いてある。
自己責任ではあるが、サービスマニュアルもあり、分解は容易。
余談だが、日本でもかつては家電製品に回路図や保守マニュアルが付いていた時代があって、
簡単な修理は自分でしたものだ ( -_-)



分解方法は、検索すれば出てくるので省略。
マザーボードを取り出したら、まずはセオリーどおりのヒューズチェック。
マザーボードをくまなく「F**」とある白い小さな部品を探し、テスターでチェック。
ヒューズは飛んでいないようだ。

余談:
修理のコツというか故障箇所の発見には、五感をフルに生かすことです。
例えば、
  • 変色している部品はないか。ヒビが入っていたりしないか。
  • 基板が変色していないか。
  • 半田の色や形がおかしくはないか。
  • 配線が緩んでいないか。コネクタが焦げていたり溶けていたりしないか。
  • ネジが緩んでいないか。
  • 通電時、変な音や匂いがしないか。
  • 部品を触ってみて、異常に熱くなっていたり、振動していたりしないか。(感電注意!)
  • 部品がグラついていたり、少し動かしてみて、外れたり欠けていたりしないか。
などを注意します。その為には、普段から正常な状態がどういう状態なのかを知る必要があります。インターネットからの知識では、匂いや音、感触までは分かりません。壊れたおもちゃやゲーム機などを分解して中身を見てみたりするといいですね。

Make: Electronics――作ってわかる電気と電子回路の基礎

 この本は、実際に部品を壊して(!)みたりして体感することで学ぶように出来ている珍しい本です。(電子書籍版もあるよ)
少なからず火傷や感電など失敗しないと身に付かないよね


ちなみにT40は有名な機種なので、修理の資料が豊富にある。
今回、チェック漏れがないか最終的にはここを参考にしました。

この時点で症状をまとめると、
  • ACアダプタをつないでも電源が入らない。
  • ACアダプタをつないでも、ランプが点かない。
  • バッテリは充電されている気配がない。
  • CMOSのコイン電池は正常。
  • ドックにつないでも電源が入らない
  • マザーボードのヒューズはすべてOK
ということなので、経験上電源周りのタンタルコンデンサのショートモード故障かFETのショートが可能性大。
ただ、この場合ほぼ間違いなくヒューズが飛ぶのだが・・・
と当たりをつけて、マザーボード上に複数あるDC-DCコンバータ周りの+-をテスターの抵抗レンジでチェック。・・・1箇所ゼロオームですか(汗

間違いなくどこかがショートしている確証が得られたので、ショートに気をつけつつ、
マザーボード単品(CPUやメモリなど一切つけない状態)でACアダプタを指し、主要箇所の
電圧を測定。
  • DC-DCコンバータの入力であるACアダプタの電源は来ている。
  • DC-DCコンバータのFETには電気が来ていない。
  • DC-DCコンバータ制御用ICに電気が来ていない?
制御用ICでググルと、まさにビンゴなページを発見。このサイトを参考に、各所の電圧を測ると、
どうも5V系がおかしいらしい。
幸い、パターンの焼損等はなく、ICやFETも特に焼けているようではなかった。
ここにあるブロックダイアグラムを参考に、ターゲットをMAX1631周辺に絞る。
やはりここの5Vがショートしているので、まずはFETを外す。(Q17というやつ)

外してもショートが直らないので、このFETは白。
つぎは上についているタンタルコンデンサが怪しい!
場所が狭くて難儀したが、どうにか外れた。
外したところ、ショートが直ったので、こいつが原因と確定。一応コンデンサ単体でもショート状態なのを確認。
さて、このコンデンサ、何Vの何uFなのでしょう?
NEa AJ8とあるので、とりあえずググルと、ここが出てきました。
これによると、10V220uFのようです。

地元では手に入りそうにないので、ジャンクノート基板より、10V150uFのコンデンサを貼付け。容量が少々少ないが、誤差の範囲ということでw

こいつが諸悪の根源だ!
(余談だが、チップコンデンサとかチップトランジスタの型番表記を統一してくれないものか。ググって出ても簡単に出てこないし。)
ショートが直ったのを確認後、ACアダプタを指し、各部の電圧チェック・・・OK!
後は組み立てて動作チェック。


修理完了!
ついでにバッテリの充電も行われるようになり、バッテリが復活しました。

最後にお約束
書かれている内容は一切保証ありません。正しいかも含めて。
あまり詳細に書いていないのはその辺りの配慮だったりします。
自己責任でお願いいたします。


2011年8月28日日曜日

技術メモ:WindowsXPでGitExtensionsを使う

1:必要なファイルを以下よりDLする。
GitExtensions224SetupComplete.msi 
2:インストール


MsysGitとKDiff3のインストールにチェックを入れる。

デフォルトは一番上。コマンドプロンプトなどでUnixコマンドを使いたい場合は、一番下を選択しておくと幸せになれる。(注意書きにもあるように、sort.exeとfind.exeがコマンドがぶつかっており、動きが変わるので、システム内でこれらを使用している人は、選択するとトラブルの元です。)



初めてGitExtensionsを起動するとこの画面が出てくる。すべてグリーンならOK。
たしかShellExtensionの項目でエラーが出る場合がある。その場合はその右横に出ているボタンを押して、DLLを登録すればOK(ゴメン。かなりうろ覚え)

オマケ:
Gitで使うSSHキーの生成めも

リモート->PuTTY->キーの生成/インポート


Generateボタンを押す


 Save public keyボタン、Save private keyボタンを押して、それぞれのキーを保存する。
上に表示されているpublic keyをgithubに登録する。
(Account Settings->SSH Public keys->Add another public key)


Account Settings->Account Admin->API Tokenの値をコピーしておく。



GitExtentionsのプラグイン->Githubを開き、User,Password,そして先ほどコピーしたAPITokenを入力。Preferrd access methodをSSHにしてSave

Github->Fork/Clone repositoryを開く。


何か適当なレポジトリをCloneしてみて動作を確認。

適当なファイルを作成してみる。


コミットを押す


変更があったファイルが上に出ているので、コミットしたいファイルを選択し、Stageボタンを押す。すると下にファイルが移動する。

右下にコミットコメントを入力して、コミットボタンを押す。

こんなメッセージが出ればOK。GitHubにファイルがあがっていればOK
もちろんコマンドでやってもOK