DD-WRTのなんか 
Monday, February 13, 2012, 07:24 AM - OS / Misc
Posted by Administrator
簡潔にDD-WRTの検証内容について

chipcorerevfirmware
BUFFARO WHR-G54SBroadcom53529BrainSlayer V24 preSP2 r18007
BUFFARO WBR2-G54Broadcom47127BrainSlayer V24 preSP2 r18007
FON FON2201Atheros AR2315A-BrainSlayer V24 preSP2 r17990


・WHR-G54S
公式のV24(SP1/preSP2)だと4つ目のVAPを動作させようとするとクラッシュ、文鎮
BrainSlayer r18024だと即座に文鎮
しかし文鎮化しても起動直後192.168.11.1に対してtftpでfirmwareを投げると復旧できる、ワロタ

・WBR2-G54
WHR-G54Sと同様だが、VAPのMACアドレスが全て同じになってしまうのでVAPでWDSできない
これはcore revisionによるものらしい

・FON2201
r17990以降のfirmwareは全て文鎮
しかし下記の手順で復旧できる
1.
mount a serial adapter to the fonera device
(the serial adapter documentation can be found at http://wiki.openwrt.org/toh/fon/fonera#serial.port)

2.
set your terminal client to 9600-8-N-1

3.
enter the RedBoot console by pressing CTRL+C

4.
copy linux.bin to your tftp server directory

5.
configure the RedBoot bootloader IP and TFTP server settings using
ip_address -l [local ip address] -h [remote server address]

6.
flash the unit by entering the following commands

RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa83e0000-0xa83f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa83e0000: .

load -r -v -b 0x80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x802e3fff, assumed entry at 0x80041000
RedBoot> fis create linux
... Erase from 0xa8030000-0xa82f0000: ............................................
... Program from 0x80041000-0x80301000 at 0xa8030000: ............................................
... Erase from 0xa83e0000-0xa83f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa83e0000: .

fconfig
enter the bootscript:
fis load -l linux
exec

save the config and do

reset

シリアルアダプタがなくても起動直後に192.168.1.1:9000へtelnetし、CTRL+Cを連打するとCLIに落ちるのでfirmwareの書き換えが普通にできる
しかし起動直後ifupしてから1秒くらいしか接続許可されないので結構シビア
一度CLIに落ちてしまえばfconfig boot_script_timeout 10で時間猶予を設定できる、これは10秒
同様にfconfig gdb_port 23で9000ではなく通常の23で待ち受けるようになる
この辺りのパラメータはfconfig -l -nで見れる

あと言うとめちゃくちゃfirmwareの書き換えが遅い
add comment ( 1722 views )   |  permalink
DBIメソッドの返値一覧 
Tuesday, January 24, 2012, 08:54 AM - Programing, Programing / Perl
Posted by Administrator
なんか必要に駆られたので
全部SELECT

メソッド正常終了10件正常終了0件エラー
do100E0undef
selectall_arrayrefARRAY[10]ARRAY[0]undef
selectall_hashrefHASH{10}HASH{0}undef
selectrow_array1undefundef
selectrow_arrayrefARRAY[7]undefundef
selectrow_hashrefHASH{7}undefundef
selectcol_arrayrefARRAY[10]ARRAY[0]undef
fetchARRAY[7]undefundef
fetchrow_arrayrefARRAY[7]undefundef
fetchrow_array1undefundef
fetchrow_hashrefHASH{7}undefundef
fetchall_arrayrefARRAY[10]ARRAY[0]ARRAY[0]
fetchall_hashrefHASH{10}HASH{0}undef
execute100E0
row100-1

add comment ( 1007 views )   |  permalink
HDDの容量の謎 
Wednesday, October 19, 2011, 11:09 AM - Hardware
Posted by Administrator
いつか途中まで書いたHDDのお話……の要点その1

疑問に思いつつも問題にならないので考えない、または全く気にしない人が大半であろうHDDの容量
調べるとよく出てくるのが「2^10の1024と10^3の1000が原因で発生する差分」だという説

が、ちょっと待ってくれ
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d0589

Device Boot Start End Blocks Id System
/dev/sda1 * 1 59471 477697024 83 Linux
/dev/sda2 59471 60802 10687489 5 Extended
/dev/sda5 59471 60802 10687488 82 Linux swap / Solaris

500GBのHDDをfdisk -lで見てみるとこうなる
実容量が500107862016だが、これは2^10でも10^3でもない
更に言うと500107862016 / 8225280(1cyl)は60801.317となり割り切ることができない

はて、何故か?
実は500107862016という値は512*63*255の倍数ではなくて512*63*16の倍数、この場合は500107862016 / 516096 = 969021で割り切れる
ご存知の通り、この512*63*16は過去使用されていたCHSで、LBAになった今も無関係ながら生きている

しかしだ
10^9*500以上でかつ512*63*16の倍数なら500000514048だし、512*63*255としても500006545920なので"ちょっと多い"ということになる
ならば10^9*500以上の512*63*255倍数以上の512*63*16の倍数だとしても500006707200でやっぱり値が一致しない

さてこの500107862016はどうやったら計算で導けるのか、ということだが正解は
10^9^500以上の512*63*16と512*63*255の公倍数に10838016を足した値
となる
一応一覧 (Google Docs)も作った
しかし10838016は512*63*16でいう21cylに相当するが、何故これが足されているのかは謎

4KBセクタなHDDだとまた違うかもしれない
add comment ( 2144 views )   |  permalink
Thecus N8800+が来た 
Sunday, October 16, 2011, 09:40 AM - Hardware
Posted by Administrator
先日NASを探していたらThecus N8800+が安価に転がっていたので「この手の製品は開けてみないとわからんよね」という流れで購入
昨日届いたので早速開けてみることにした



購入前から当然気になるSATA周辺

謎のインターフェースへ基盤が縦に刺さっており、ここから8本ケーブルが生えている形
基盤の横に4枚規則正しく並んだチップが見えるがこれが目的の品で……

恐らくSilicon-PowerのSI13132だと思われる
末尾の3132CNUまでは判別できたが、頭3文字に関しては判別不可能だったので推測だが、SI3132だと文字数が合わないように見えるのでSI13132と予測

仮にSI13132ならばHardware-RAIDとは考えにくい
2口のPCIe eSATAボードに搭載されるような品で、RAIDは0か1のみ
RAID5の時はSoftwareでRAID0/1/10の時はHardwareなんて都合のいい話はないだろう


標準搭載しているメモリ
これはKingstonのKVR800D2N6/2Gで一般的なDDR2-800
チップは未確認だが、どうであれメモリはTranscend TS256MLQ72V8Uを2枚へ入れ替える予定なのでチップに関しては後日

またN7700とプリントされていることからM/BはN7700シリーズと共有のよう

その理由になりそうなのが、このどうにもならないUSB
http://www.thg.ru/network/thecus_n7700/を見るとわかるが、N7700のフロントパネルUSBの位置のそれのようだ

ベイ部分の正面及び背面


背面には一切使用されていない謎のSATAコネクタがある
使用されているのは全て写真のような"青"のコネクタで"緑"は一切接続されていない
これは謎

CPU部分

見る限りM/Bへ直付けではなく、一般的なCPUスロットの形状が予測できる
Software RAIDであれば標準装備のCeleron 1.86MHzでは若干不安なので、換装できるかは不安だったが、これならば換装できるだろう

話によればSocket Mらしいが、Socket MにはCeleronの1.86MHzなるラインナップは存在していない模様、OCでもしているのだろうか?
add comment ( 1363 views )   |  permalink
LinuxでSkypeAPIをDBusで叩く 
Sunday, October 2, 2011, 10:23 PM - OS / Linux, Misc
Posted by Administrator
LinuxでSkypeAPIをDBus経由で叩こうと試みたときの走り書き

基本的にSkypeの公式で配布されているパッケージ、かつサポートされているディストリビューションならば特に問題にはならないはずだが……
だが、現行最新の2.2をCentOS 5xなどで動かそうとした場合に
skype: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by skype)
で、コケる

この点のみで言えば回避策としてskype_static-2.1.0.47.tar.bz2を使えとhttp://wiki.centos.org/HowTos/Skypeに記述されているが、このバイナリではDBusを使えない、そもそもDBusでAPIを叩けるなんて機能がない
ついでに言うと"使えない"なんてどこにも書いていないし、検索しても出てこない

恐らくSkypeはDBusをlibQtDBus.so経由で利用する(別のバイナリは当然のようにこれを要求してくる)が、skype_static-2.1.0.47.tar.bz2はそう見えない
# ldd skype
linux-gate.so.1 => (0xffffe000)
libasound.so.2 => /lib/libasound.so.2 (0x00273000)
libXv.so.1 => /usr/lib/libXv.so.1 (0x00c94000)
libXss.so.1 => /usr/lib/libXss.so.1 (0x00c9b000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x001b9000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00c78000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00269000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00cb9000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x001b3000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00131000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00cc9000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x001d2000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00cfa000)
libz.so.1 => /lib/libz.so.1 (0x001e4000)
libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x00ca0000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00b9b000)
librt.so.1 => /lib/librt.so.1 (0x00c42000)
libdl.so.2 => /lib/libdl.so.2 (0x00c3b000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00b80000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00354000)
libm.so.6 => /lib/libm.so.6 (0x00c4d000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00ca7000)
libc.so.6 => /lib/libc.so.6 (0x00a25000)
libexpat.so.0 => /lib/libexpat.so.0 (0x00101000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00cc4000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00129000)
/lib/ld-linux.so.2 (0x00a06000)

転がってたskype-2.1.0.81-fc10.i586.rpmのバイナリ
# ldd skype
./skype: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./skype)
linux-gate.so.1 => (0xffffe000)
libasound.so.2 => /lib/libasound.so.2 (0x00273000)
libXv.so.1 => /usr/lib/libXv.so.1 (0x00c94000)
libXss.so.1 => /usr/lib/libXss.so.1 (0x00c9b000)
librt.so.1 => /lib/librt.so.1 (0x00c42000)
libQtDBus.so.4 => /usr/lib/qt4/lib/libQtDBus.so.4 (0xf7f25000)
libQtGui.so.4 => /usr/lib/qt4/lib/libQtGui.so.4 (0xf785a000)
libQtNetwork.so.4 => /usr/lib/qt4/lib/libQtNetwork.so.4 (0xf77ff000)
libQtCore.so.4 => /usr/lib/qt4/lib/libQtCore.so.4 (0xf7683000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00b80000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00354000)
libm.so.6 => /lib/libm.so.6 (0x00c4d000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00ca7000)
libc.so.6 => /lib/libc.so.6 (0x00a25000)
libdl.so.2 => /lib/libdl.so.2 (0x00c3b000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00cfa000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x001d2000)
/lib/ld-linux.so.2 (0x00a06000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0xf7643000)
libQtXml.so.4 => /usr/lib/qt4/lib/libQtXml.so.4 (0xf75ff000)
libz.so.1 => /lib/libz.so.1 (0x001e4000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xf75d9000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x001b9000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00c78000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00269000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00cb9000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x001b3000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xf75ce000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00771000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00131000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00cc9000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00cc4000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00129000)
libcap.so.1 => /lib/libcap.so.1 (0xf75c9000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x0075f000)
libexpat.so.0 => /lib/libexpat.so.0 (0x00101000)

見てのとおり同じバージョンでも(47と81の差はあるが)後者はlibQtDBus.so.4を要求してくるが、同時にGLIBCXX_3.4.9を要求してくるので、CentOS 5xで動かすには若干手間がかかることになるので、DBusは諦めてX11 messageを使うことになるだろう

なめてる
add comment ( 1789 views )   |  permalink

<<First <Back | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Next> Last>>