かたばみ?

とりあえず写真。。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

停電

teiden-1.jpg
地震の影響で、1日3時間ずつ停電します。
停電そのものは、東北のことを考えるとどってことないんですが、やっぱりいろいろ起こります。
サーバ用に常時電源いれっぱなしにしてテレビの録画してるんですが(アナログですが。。)、停電にそなえて電源きって、その後電源いれたら2度と動かない。。。
ブルーベリーの写真のバックアップもここにおいてあるから、一応動かさないとバックアップなくなっちゃうし。
ディスクがまわらないから、ディスクがおかしいのかとおもって、別のPCにつなぐと普通によめるし。。。
で、電源みたらコンデンサが膨れてました。
ディスク起動時の電圧低下で、リセットがかかるらしい。
5V電源に10V耐圧の1600uFがはいってるんですが、トランスの真横においてあるんですよ。。これ。。
なんでこんなとこにケミコンおくかなあ。。。
手持ちに丁度いいのがないので、しかたないので、1000uFを空中配線して2パラで配線、、写真の赤茶色のやつ。
今はデータの復旧中です。
一応動くようになりましたが、コンデンサが安物で、ESRが小さくないので、1年くらいしかもたないかも。。。
スポンサーサイト
  1. 2011/03/20(日) 00:06:49|
  2. PC
  3. | トラックバック:0
  4. | コメント:0

K10

ひさしぶりのlinuxねたです。
うちのサーバのCPUをphenom2にとっかえました。
したらpowernow-k8いれてもやっぱし電圧がさがらなくなったので、ごにょごにょした備忘録
modprobe msr
してから以下をコンパイルして
------ここから
#include
#include
#include
#include


#define _FILE_OFFSET_BITS 64

void writeMSR( long long addr , unsigned char *d , int iCpu)
{
int fh;
char s[80];
sprintf( s , "/dev/cpu/%c/msr" , iCpu + '0' );
fh = open( s,O_RDWR);
if( fh==-1 ){
printf("can not open the file\n");
return;
}
long long iPos = lseek64( fh , addr , SEEK_CUR);
printf("%x\n" , iPos );
int size=write( fh, (void *) d , 8 );
printf("%d\n" , size );
printf("Addr %08x=",addr );
close(fh);
}

void readMSR( long long addr , unsigned char *d , int iCpu)
{
int fh;
char s[80];
sprintf( s , "/dev/cpu/%c/msr" , iCpu + '0' );
fh = open( s,O_RDWR);
if( fh==-1 ){
printf("can not open the file\n");
return;
}
long long iPos = lseek64( fh , addr , SEEK_CUR);
int size=read( fh, (void *) d , 8 );
close(fh);
}

void printMSR( long long addr , int iCpu)
{
int fh;
char s[80];
sprintf( s , "/dev/cpu/%c/msr" , iCpu + '0' );
fh = open( s,O_RDWR);
if( fh==-1 ){
printf("can not open the file\n");
return;
}
long long iPos = lseek64( fh , addr , SEEK_CUR);
printf("%x\n" , iPos );
unsigned char d[8];
int size=read( fh, (void *) d , 8 );
printf("%d\n" , size );
printf("Addr %08x=",addr );
int i;
for( i=0 ; i< 8 ; i++ ){
printf( "%02x " , d[i] );
}
printf("\n");
close(fh);
}

int main(int argc , char *argv[])
{
if( argc== 1 ){
printMSR( 0xc0010060 ,0);
printMSR( 0xc0010061 ,0);
printMSR( 0xc0010062 ,0);
printMSR( 0xc0010063 ,0);
printMSR( 0xc0010064 ,0);
printMSR( 0xc0010065 ,0);
printMSR( 0xc0010066 ,0);
printMSR( 0xc0010067 ,0);
printMSR( 0xc0010068 ,0);
} else {
unsigned char d[8];
readMSR( 0xc0010067 ,d , 1);
int iVid ,core_voltage;
sscanf( argv[1] , "%d" , &core_voltage );
iVid = (15500 - core_voltage) /125;
printf( "P3 Core voltage to %d\n" , 15500 - iVid * 125 );
iVid <<= 1;
iVid &= 0xfe;
d[1] &= 1;
d[1] |= iVid ;
if( iVid > 0x88 ){
printf(" Value too big\n");
return 0;
}
if( iVid < 0x20 ){
printf(" Value too small\n");
return 0;
}
if( argc==3 && argv[2][0]=='-' ){
writeMSR( 0xc0010067 , d ,0);
printMSR( 0xc0010067 ,0);
writeMSR( 0xc0010067 , d ,1);
printMSR( 0xc0010067 ,1);
writeMSR( 0xc0010067 , d ,2);
printMSR( 0xc0010067 ,2);
writeMSR( 0xc0010067 , d ,3);
printMSR( 0xc0010067 ,3);
}
}
return 0;
}
-----ここまで
a.out つくって
./a,out 8000 -
とかするとP3ステートだけ電圧書き変わっていこう 負荷が一度あがって落ちたのがトリガで0.8V
P3しか書き換えないのでP4までつかってるとだめだし、計算方法もいまでまわってるphenom2じゃないとだめかもしれませんが。。。適当に。。。
AMDの
AMD Family 10h Desktop Processor Power and Thermal Data Sheet
に詳細がでてます。
自分の備忘録として書いてるので、万が一反響があればまた。。。
でも、CPUかえたらHW_PSTATEになってカーネルモジュール関係なく電圧いじれて幸せかも。。
  1. 2010/02/15(月) 00:45:58|
  2. PC
  3. | トラックバック:0
  4. | コメント:0

Ubunts 9.10

唐突ですが。。。Linux
自分のマシンにubunts つかってるんですが、アップデートされました。
いろんなもののバージョンがあがり。。。カーネルのバージョンが2.6.31にあがったら、省電力が効かなくなったので、数時間の備忘録
AMD ATHLON用 低電圧パッチ powernow-k8.c が盛大にかわってました。パッチつくりなおし
SRC/arch/x86/kernel/cpu/cpufreq にいって、
DIFF
でパッチをあてると幸せになれる人が一部いるかも、(自分でつくった手抜きDIFFだからディレクトリはカレントのみ)
patch -p0 powernow-k8.c < powernow-k8_lovoltage.diff
してからカーネルビルド。。。なんか、ACPIからテーブルとれてきた時にやることがかわってるような、もとのパッチあててみなかったけど、実はなにもしなくてもつかえたとかあるかも。。
よーわかりませんが、HWPSTATEだのFIDVIDだのの分岐を吹っ飛ばしてテーブル強引に書き換えました。
他のCPUで動くかはしりませんが4850eは動くようになりました、HW_PSTATEつかっててもテーブル自身は書き換えるから、動くかどうかは別にして前は invalid powernow_table ってでて動かなかった環境では一歩進むはずです。
分からずに書いてるし持ってないから確認してませんが、Phoenom? Phenom?とかで動くようなことがあったらラ楽しいですが書きこむ側はもとのままなのでどうなんでしょう。。自分のマシンはPhoenomでも780とか785とか790とかでもないので、Northもいじれないし、確認もできません。
ブートしないKernelができても責任持ちませんので、念のため
しっかしこれ、Kernelが変わるたびにいじってて、いい加減めんどくさい。。

カーネルのパラメータで以前同様
powernow-k8.freq_list=2500,2400,2200,2000,1800,1000 powernowk8.vcore_list=1200,1150,1150,1050,1000,800
とか。。。いれると変わるはずです。

そいから、fancontrol のlm_sensors のf71805fがconflicts with ACPI region って文句をいうからさらにカーネルパラメータに acpi_enforce_resources=lax を追加
ここまでで、とりあえず普通に起動
あと、bridgeの設定のRouteが吹っ飛んで、route add したのと。。
/etc/resolv.conf の設定やりなおし
bridge 設定いれると、networking restart しないとデフォルトGWがわけわかめ。。。やっぱしLinuxはよくわかりまへん。。。
  1. 2009/11/01(日) 08:39:49|
  2. PC
  3. | トラックバック:0
  4. | コメント:0

ネタ切れ

ふくらんで。。。
冬になってきて。。完全にネタ切れなので、写真だけでいくのはあきらめました。。。^^;
で、いきなりですが。コンデンサ。。夏をのりきっておちついたとおもったらこれ

[ネタ切れ]の続きを読む
  1. 2006/11/26(日) 22:55:51|
  2. PC
  3. | トラックバック:0
  4. | コメント:0

最近の記事

最近のコメント

月別アーカイブ

カテゴリー

FC2カウンター

カレンダー

08 | 2017/09 | 10
- - - - - 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

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

FC2 Blog Ranking
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。