2013年6月30日日曜日

mplayer-1.1はgcc-4.6.3でコンパイル要?

Firefoxをバージョンアップしたときにあおりでmplayerもバージョンアップするはめに。
FreeBSD-8.3のgcc-4.2.2でコンパイルするとTSファイルの再生でシークできずに難儀した(音声が消えてしまう)。mplayer2を試すとシークはできるけどfull screenがダメ。
さて困ったと思いいろいろ探し回っていたのだが、ひょんなことからビルドオプションにOTCHAINを発見。ちょうどfirefoxに要求されてgcc-4.6.3も入っていたので試したら問題解消した。たぶんmplayerの記述に問題があるのだろうと思うが、思わぬところでFreeBSDが非GPL化(この場合はGPLv3回避?)のあおりを喰ってしまった。
mplayer-1.0の頃は映像と音声と思われる2スレッドで再生していたように思っていたのだが、mplayer-1.1は1スレッド。せっかく2コアのATOM330なのでマルチスレッドにしてくれればいいのにとも思ったり。
もうひとつgnuplotもバージョンアップが必要になったが、こっちは時間がかかっただけですんなり通過した。

2013年6月29日土曜日

AVR ATTINY2313のシリアルポートがやっと動いた

ずっと前からうまく動かなくて放置していたのだが、久々に思い立って試してみた。
シリアルポートに0xff=>0x55=>0x00を、それぞれボーレート/10*2回ずつ送信する。
テスターで電圧を計ればHigh=>Mid=>Lowと2秒ごとに電圧が変化するはず。
んで、試したら切り替わりに10秒以上もかかるので、ボーレートクロックの設定誤りと判定。
LowヒューズのCKDIV8で8分周されているためだった。

なぜだか、CPUは1MHzでも、シリアルポートやタイマーは8MHzで動くものと思い込んでしまっていた。
データシートを見てもはっきりした説明が見当たらないのだが、ぬかったなぁ〜。

ちなみにhidspxで以下の操作をした。
Lowヒューズへ0xe4を書き込み
% hidspx -phu -fl0xe4
確認する
% hidspx -phu -rf
Detected device is ATtiny2313.

Low: 11100100
     ||||++++-- CKSEL[3:0] システムクロック選択
     ||++-- SUT[1:0] 起動時間
     |+-- CKOUT (0:PD2にシステムクロックを出力)
     +-- CKDIV8 クロック分周初期値 (1:1/1, 0:1/8)

High:11-11111
     |||||||+-- RSTDISBL (RESETピン 1:有効, 0:無効(PA2))
     ||||+++-- BODLEVEL[2:0] (111:Off, 110:1.8, 101:2.7, 100:4.3)
     |||+-- WDTON (WDT 0:常時ON, 1:通常)
     ||+-- SPIEN (1:ISP禁止, 0:ISP許可) ※Parallel時のみ
     |+-- EESAVE (消去でEEPROMを 1:消去, 0:保持)
     +-- DWEN (On-Chipデバッグ 1:無効, 0:有効)

Ext: -------1
            +-- SPMEN (SPM命令 1:無効, 0:有効)

Cal: 89 87

gmailからDoCoMo携帯へ転送

GmailからDoCoMoの携帯電話へ転送設定しているのだが、うっかりバッテリー切れしていた間のメールが届いてない気がする。あれ?でもDoCoMoのサーバに蓄積されてそうなものだが、なぜなんだろう?

2013年6月23日日曜日

FreeBSDでルートを指定するにはboot -a

HDDを入れ替えようとしてゴニョゴニョしていたらFreeBSDが起動できなくなってしまった。/がマウントできなくてpanicしてしまうのだが、どうやって指定するんだろう?とけっこう悩んだ。結局bootのソースをみて-aオプションと判明。
起動途中でloaderプロンプトへ落としてboot -aで起動すればよい。ルートをマウントするところで聞いてくるので、ufs:/dev/ad4s3aなどと指定すれば良い。
ディスク追加でディスクの番号が変わったように思ったのでいろいろ試すが改善せず、実は追加したディスクへのインストール途中で元のディスクにパーティションを追加したのが原因と判明。FreeBSDのパーティション番号が変わっていたのであった。

FreeBSDでルートパーティションを指定して起動するには、boot -aとしてASKNAMEオプションをkernelに渡せばよい。

2013年6月15日土曜日

CDからboot.binを抜き出す

以前にもはまったので調べてみた。El Toritoという名前を思い出すのに時間がかかった。
これ が詳しい。
dd if=/dev/cd0 bs=2k skip=17 count=1 | od -x
とかしてBRVDを読んで、オフセット0x47-0x4aを確認する。
boot catalogのセクタ位置が書かれているので、同様にして読んで、オフセット0x20が0x88ならブート可能。
boot catalogの0x28-0x2bにブートセクタの位置が書かれているので、そこをboot.binとして抜き出せば良い。
素直にbbie使えってことなのかも知れないが、いちいちWindows引っ張り出すのも面倒なので。

2013年6月9日日曜日

firefox9から19へバージョンアップ

常用のFreeBSDでfirefoxを9から19へバージョンアップ。まえからurlclassifier3.sqliteに激しくアクセスするのが気になっていたが、ビルドは一仕事なのでなかなかできずにいた。まだ起動して1時間ほどだけど、ずいぶんとおとなしくなったような気がする。該当すると思われるbug票は13で修正する予定になっていたので、19では直っているはずなのだけれど。一週間以上も起動したままで使うことが多いので、メモリー消費が減っていそうなのもビルドの甲斐ありか?
メニューをうまくクリックできないのはctwmと食い合わせが悪いからなのか?あとshared objectでロードできていないものがあるっぽいので直さないと。

2013年6月7日金曜日

PAEが必要とは

古いPCにCentOS6を入れようとしたらPAE必須と言われて驚いた。
PentiumMにPAEが無いのもビックリ。
紆余曲折あって結局CentOS5を入れた。