2009年3月28日から2009年3月24日までの日記を表示中

2009年 3月28日 (土)

T60でビデオ出力を外部切り替え

T60 上で,Linux の X の画面を外部出力に出すにはどうすればいいのかという話.T40 や T42 の頃は日頃から使うシチュエーションが多かったので色々設定してやってたわけですが,T60 になってからはそんな必要もなかったので全く設定してなかったり (多分).というわけでググってヒットしたこちらのページを参考にやってみたらうまくいきました.すげえ,超簡単だ.でも忘れそう.

  1. 外部出力端子にVGAケーブルをつなぐ
  2. aticonfig で両方に同じ映像が出るように切り替え (ケーブルつないでないとうまくいかない?)
    aticonfig --enable-monitor=crt1,lvds
    
  3. xrandr で解像度を適当に調整
    xrandr -s 1280x1024
    
  4. 戻すときは再度 aticonfig と xrandrを再度走らせる感じで.
    aticonfig --enable-monitor=lvds
    xrandr -s 1400x1050
    

Hack the Cell 反省会

早朝になってしんどくて目が覚めました.何か超熱っぽい・・・(;´Д`).とりあえず風邪薬と大量の水を摂取して再び布団に入ったところ,しばらくしたら今度は汗だくになった状態で目が覚めました.そしてしんどさは徐々に消え去り・・・.勝った.

というわけで言われたら何か出すかくらいのノリで適当にスライドを作って昼頃出かけてきました.あまりに適当に作りすぎたため,本番で文字がずれまくったり表が壊れていたりして,大変見苦しいところをお見せしてしまい申し訳ありませんでした (´・ω・`).まあ中身もかなりアレでしたが・・・.ていうかみんなすげーよマジで.あとどう見ても spu-gcc と長く付き合ってるのはフィックスターズの皆様です.本当にありがとうございました (いろんな意味で)

終わった後は例によって飲みでした.今日はだいぶ控えたつもり.一応病み上がりだしw.というわけで以下雑感.

  • 今日も「団子さん」という声があちこちで上がっていた.さすが過ぎるw
  • 団子さんが3人いるという説が囁かれていた (串にささった団子のパターンで識別可能らしい)
  • 団子さんのコードマダァ〜(・∀・ )っ/凵 ⌒☆チンチン
  • kikさんの説明を聞いていて「あー,あとで講義資料見ながら考えればいいやー」という超懐かしい感覚が蘇るw
  • koderaさんのbitsliceしたやつを足し込む話のところで「あーそこは多分何かもっと命令減らせるんじゃ?」と思って自分のソースを読み返したけど既に何をやっているのかよくわからず終了 (´・ω・`)
  • xrotというキャメルトライ風ゲームを知る
  • 非bitslice版もすごいなぁ
  • Cell Challengeも面白かったみたいだなー
  • フィックスターズ賞受賞者は何かカッコいいぞ
  • なぜか突然の大阪市民批判w
  • ていうかみんな2ch好きすぎだろw

T60でEEPROMチェックサムエラー

暇だったのでリブートしてみたら↓なメッセージが (;´Д`)

e1000: 0000:02:00.0: e1000_probe: The EEPROM Checksum Is Not Valid
/*********************/
Current EEPROM Checksum : 0xcd27
Calculated              : 0xcd27
Offset    Values
========  ======
00000000: 00 16 41 e4 18 d7 30 0b b2 ff 51 00 ff ff ff ff
00000010: 53 00 03 01 6b 02 01 20 aa 17 9a 10 86 80 df 80
00000020: 00 00 00 20 54 7e 00 00 14 00 da 00 04 00 00 27
00000030: c9 6c 50 31 3e 07 0b 04 8b 29 00 00 00 f0 02 0f
00000040: 08 10 00 00 04 0f ff 7f 01 4d ff ff ff ff ff ff
00000050: 14 00 1d 00 14 00 1d 00 af aa 1e 00 00 00 1d 00
00000060: 00 01 00 40 18 13 07 40 ff ff ff ff ff ff ff ff
00000070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 27 cd
Include this output when contacting your support provider.
This is not a software error! Something bad happened to your hardware or
EEPROM image. Ignoring this problem could result in further problems,
possibly loss of data, corruption or system hangs!
The MAC Address will be reset to 00:00:00:00:00:00, which is invalid
and requires you to set the proper MAC address manually before continuing
to enable this network device.
Please inspect the EEPROM dump and report the issue to your hardware vendor
or Intel Customer Support: linux-nics@intel.com
/*********************/
e1000: 0000:02:00.0: e1000_probe: Invalid MAC Address
e1000: 0000:02:00.0: e1000_probe: (PCI Express:2.5Gb/s:Width x1) 00:00:00:00:00:
00
e1000: 0000:02:00.0: e1000_probe: This device (id 8086:109a) will no longer be s
upported by this driver in the future.
e1000: 0000:02:00.0: e1000_probe: please use the "e1000e" driver instead.
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection

ifconfig してみると見事に eth0 の MAC アドレスが 00:00:00:00:00:00 orz.そしてリブートしても直らん _|‾|○

dhcpd の設定で MAC アドレスを調べて「ifconfig eth0 hw ether 00:16:41:e4:18:d7」とかやって MAC アドレス設定したら普通に動いてくれたのでとりあえず乗り切れそうではありますが (まあよく考えたら調べるまでもなくEEPROMの先頭に書いてある値そのものなわけですが),やっぱ気持ち悪いのでどうにかしたいところですなー.

調べてみたらこちらなどに情報が.BIOS で一旦内蔵 Ethernet を無効にして,その後再度有効にすればいいっぽい.・・・お,直った.やった.

あれ,でも Current EEPROM Checksum と Calculated が同じなのになんでエラーなんだろう? しかも「ethtool -e eth0」ってやっても上のログと同じダンプ結果が表示されるんですが.一体何がまずかったっていうの? 謎だ.

2009年 3月27日 (金)

Wiki

玄箱だとこっちのページの表示が遅いのでちょっと困っていたらヒタヒタさんから「今日の〜件」を外すと効果的との提案が.うーん,あんまり変わった気がしない・・・.

飲み

サンレッドの舞台で飲みでした.本当に漫画で出てくるような飲み屋があるんですなーw

行く前,微妙に体調悪かったんですが,飲み始めたらそんなこともすっかり忘れ・・・.で,4時間以上飲んで帰って寝たら超体調悪化.二日酔いとは違うよなこれは・・・.とりあえずひたすら水分摂取中.やべー.

2009年 3月26日 (木)

Hack the Cell 反省会

何かやりそうなことになっているぅ! (;´Д`)'`ァ'`ァ. な,何もないんだからね!

2009年 3月25日 (水)

Perl

玄箱の Debian で Perl のスクリプト走らせると LANG 関連の警告がよく出てうるさいなーと思いつつ放置し続けること数年だったりするのですが,「PERL_BADLANG=0」と環境変数を設定しておくことでこいつを防げることを今日初めて知りました.さっそく .zshrc に書いたので,きっとすぐ忘れてしまうと思いますが(笑)

イヤホン

先週買ったイヤホンですが,今週になって実はヘッドホン全然OKということが判明し,全く活躍しておりません.ちなみにイヤホンつけてるとコードに何かが触れる度にガサゴソ響いて気持ち悪いんですが,どうにかなるのかなこれ (;´Д`).慣れの問題?

[コメントを書く]

あこり 2009/03/28(土) 10:15:00
線の被覆が硬くて劣化したりすると糸電話みたいになっちゃうそうです
_( (_´Д`)_
場合によってはサポートでやわらかいものに替えてもらえるとか。
nosuke 2009/03/29(日) 17:04:56
おお,なるほどー.まだ劣化するには早いですが(笑)
色々と工夫の余地がありそうですね

USB Etherアダプタとか

ヨドバシで USB Ether アダプタを買ってみました.これで SL-C3100 に 2個目の Ether の口をつけてだな・・・.うへへ.その前に内蔵のマイクロドライブもでかいCFに交換か?

あと,先日の玄箱のアレに懲り,むき出しの HDD を USB 経由で PC につなげるためのものとかも買ってみました.裸族の頭じゃないのが残念ですがw

2009年 3月24日 (火)

Webサーバの玄箱への移行

昨日の続きです.昨日は実質何一つ進まなかったので今日から始まったと考えるのが適切なのかもしれませんが・・・.

とりあえず方針として,今までの設定ファイルとかノウハウ (というほどのものはないけど) を優先して Debian のパッケージは使わない方向でいきます.今までと同じ環境を,今までと同じようにソースからがっつりビルドする感じで.まあ,がっつりとか言っても元々 chroot して動かしてたんで実際のところは Apache2 と PHP (とそれらが利用するライブラリ類) をビルドするだけなんですが.

クロス環境を作るのが面倒くさかったので玄箱でセルフビルド開始.なかなか順調です.今までとプロセッサアーキテクチャが違うとはいえ,同じ Linux で同じ gcc によるコンパイルで,しかも安心 (?) の PowerPC アーキテクチャなので何も詰まることはありませんでした.強いて違うところをあげるとすればコンパイルがめちゃくちゃ遅いってとこかナ───

まあ遅くてもコンパイルが通ればよし.どうにか完走して PHP までインストールできましたよ.そのまま以前の環境からデータと設定ファイルを引き継いで,設定ファイルに書かれた IP アドレスなどを書き換えて,chroot して動かすのに必要なファイルをコピーしまくって準備完了.特にトラブルもなく,無事 httpd が起動し,この日記が読める状態となりました.ふー.

気になる速度ですが,日記の方は普通そう.よかったー.一方別館の方はやっぱ読み込みがワンテンポ遅いかな.そんなひどいわけでもないけどちょっと引っかかる感じ.まあ,でもこれくらいなら許容範囲かなぁ・・・.まあとりあえずこれで移行完了ですな.ああ・・・つぎは DynDNS だ・・・.

DynDNSを何とかする

ここのページのドメイン名は,見りゃわかりますが DynDNS のやつです.元々ここのページが置いてあった実家のネットワークは,外側の口にグローバルIPが固定で割り振られていたので,DynDNS はアカウントが消失しないよう月に1回くらい手で更新するだけで十分でした.

が,今,この玄箱がつながっているネットワークの外側の口は,グローバル IP こそ振られているものの,固定である保証があるわけではなく,もしかしたら何らかの理由でリース期間が終わったところで IPアドレスが変わってしまうかもしれません (多分そうそうないとは思うけど).というわけで,IPアドレスが変わっちゃったら自動的に DynDNS に登録し直すような仕組みが欲しかったりします.

DynDNS に自動で登録する方法は色々あるようですが,軽く調べた感じだと ddclient が良いみたいです.ルータで dhclient が IP アドレスの変更を検出したときにこれを呼べば良さそうですね・・・.と思ったんですが,ルータ (OpenBlockS) には Perl が入っておらず,Flash の容量的にも入りそうな気がしません.Perl 自体を CF に入れるのも何か微妙だしなー.うーん.

仕方がないので ddclient は玄箱で動かすことにしました.が,ここで一つ疑問が. OpenBlockS の外側の口の IP アドレス (が変わったこと) を玄箱はどうやって知ることができるのか.

ヒタヒタさんを巻き込んであれこれ考えるもなかなかいいアイディアが思いつきません.外の Web サーバにアクセス元のIPアドレスを表示するページを置いて利用するとか, OpenBlockS が玄箱のどっかを NFS マウントして IP アドレスが変わるたびにそこに書き出すとか,玄箱から ssh とかで認証なしで入れるようにして定期的にチェックさせるとか,どれもちと微妙な感じです.

で,結局,OpenBlockS の namedb (OpenBlockS は LAN 内の DNS もやっている) に,名前を引くと外側の口の IP アドレスが返ってくるようなホスト名を追加し,外側の口の IP アドレスが更新されるたびに zone ファイルを書き換えて追従させることにしました.ヒタヒタさんはイマイチ賛同してくれませんでしたが (´・ω・`)

適当に外側の口の IP アドレスを調べて,今 zone ファイルに登録されているやつと違ってたら zone ファイルの IP アドレスとシリアル番号を書き換えるOpenBlockS用のスクリプトを作成.一応それっぽく動くようです./etc/dhclient-exit-hooks から呼ぶようにして,dhclient を落として上げたら zone ファイルに外側の口のアドレスが追加されました.IP アドレスが変わったときにも呼ばれるんだよな,このスクリプト・・・.

後は玄箱から定期的に OpenBlockS の外側の口に対応するホスト名の IP アドレスを引くようにして,今まで覚えていたのと違っていたら ddclient を呼んで DynDNS に登録すようにすればいいはず.・・・おっと,ddclient の設定がまだでした.・・・ん?この「use=web」ってなん・・・だ・・・と?

何と ddclient の設定に「use=web, web=checkip.dyndns.org/, web-skip='IP Address'」とか書いておけば, ddclient を実行する側が IP アドレスを知らなくても,DynDNS 側の機能を呼び出してこっち側のグローバル IP を調べてそのまま設定できちゃうみたいです・・・.あああ,確かに Web からアクセスしたときもそういう機能あったな・・・.というわけで,「適当に」といいつつも1時間くらいかけて書いたスクリプトが不要になりました orz

まあでもこれ使えば DynDNS まで問い合わせにいかなくてもいいわけで (当たり前),30秒に1回 IP アドレスが変わってないかチェックとかしても怒られないからw,こっちでやるってのもありかもなぁ.よーし,自前の方使ってみますかねー.

あ,そうそう,上記スクリプトを書いて動かそうとして気づいたんですが,OpenBlockS に awk と head が入ってなくて悶絶しましたw.すげえなこれ.とりあえず CF に head 入れました.いっそ CF に busybox を入れてしまうというのもありか・・・?

GMail

ところで問題の実家サーバは,再度上げ直してもらったものの,夜になってまた落ちてしまいました (;´Д`).上がった直後に SSH で入って dhcpd を止め,Proxy 経由で実家のルータの DHCP を有効化したんで,一応次に落ちてもネットワークが丸ごと死ぬという心配はなくなりましたが・・・..この前ちょっと構成変えたのが功を奏しましたなー.いやしかし,こうなると Web 以外の機能も他に移さないとダメってことですね・・・.

右上の方を見るとわかりますが,現在メールアドレスは GMail のものをメインに使っています.で,今までは GMail に届いたメールは一旦実家の方で使っているプロバイダ提供のメールアドレスに転送しておりました.これを手元のマシンで読む場合は,SSH で実家サーバを経由してプロバイダのメールサーバへのトンネルを掘って,そこを通じて fetchmail で POP してました.手元のマシンから送る時も,同じようにトンネルを掘って,実家サーバで上がってた SMTP サーバ経由で送ってました.・・・と,こんな事情により,とりあえずこの辺を何とかしないと手元のマシンでメールが使えなかったりします・・・.

というわけで,あんまりやりたくなかったんですが GMail の提供している SMTP と POP を利用することにしました.

まずは送る方から.MUA は未だに Mew なんですが,調べてみたら stunnel が入っていれば SMTP over SSL とかできるとか何とか.というわけで↓のように .emacs に設定してやり,

    (setq mew-smtp-server "smtp.gmail.com")
    (setq mew-smtp-ssl t)
    (setq mew-smtp-user "********@gmail.com")
    (setq mew-smtp-ssl-port "465")

さらにこちらに書いてある方法で ~/.certs を用意してやったら送れる用になりました.わーい.まあ,本当は ~/.certs を用意すればいいというところにたどり着くまでにかなりかかったんですけどね・・・.ちなみに Mew は 6.1,stunnel は 4.26 でやってます.Mew が古いと stunnel 3系じゃないとダメとかなんとかどっかで見ましたが,最近のは関係ないみたいですね.

次に受け取る方.こっちは Mew が直接叩かずに,fetchmail で拾います (その後 maildrop 噛まして SPAM と振り分けて非 SPAM は ~/.Maildir に突っ込ませている).調べてみたら fetchmail は最初から SSL に対応しているようで,自分のマシンに入ってるやつもちゃんと libssl とかとリンクしてました.知らんかったー.

というわけでここを参考に以下のようにやったらうまくいきました.まあこっちもここにたどり着くまでにずいぶんかかったんですが.というかそもそもあってんのかこれで・・・

poll "pop.gmail.com"
   protocol pop3
   port 995
   username "********@gmail.com"
   pass "パスワード"
   ssl
   sslcertck
   sslcertpath /home/nosuke/.certs

というわけで,GMail のサーバと直接やりとしてメールの送受信ができる状態をどうにか確保できました.めでたしめでたし・・・

GMailって実は・・・

と終わるはずが,実は問題発生.何か自分で自分に出したメールに限り POP できないじゃありませんか.ググってみたらどうも GMail はそういうもんらしい.マジかよ.こりゃ不便です (;´Д`)

仕方ないので,1個サブアカウントを取って,メインからサブに転送するようにして,サブの方を fetchmail で POP し,こっちから送るときは Dcc でサブにも送るようにして・・・とやって大体今までと同じような環境にできましたが,なんだかなぁ・・・.

2009年3月28日から2009年3月24日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2009年3月
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 31        

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ