2007-03-27

InterfaceのV850基板

この時期恒例の基板の付録。
今年はInterfaceがNECのV850の基板を出した。
USBでPCと接続すると、電源供給とシリアル通信ができるタイプでえらく敷居が低い。

いままでのものはACアダプタだのRS-232Cレベルコンバータだのが必要で、初心者向けの記事のわりには後の準備が大変だった。
まあ、周りに先輩がいるような環境ならそれでもいいかも知れないのだけど。

家に帰ってさっそくUSB B端子をハンダづけ。ケーブルでつなぐとそれだけでLEDが点滅するので動作確認もしやすいし、動作しているのがすぐに分かって初心者には嬉しい。

dmesg出力

Mar 27 01:50:13 nanoha unix: usba: no driver found for device Silicon Labs CP2102 USB to UART Bridge Controller 0001

prtconv -Dv出力

device
Hardware properties:
name='usb-product-name' type=string items=1
value='CP2102 USB to UART Bridge Controller'
name='usb-vendor-name' type=string items=1
value='Silicon Labs'
name='usb-serialno' type=string items=1
value='0001'
name='usb-release' type=int items=1
value=00000110
name='usb-num-configs' type=int items=1
value=00000001
name='usb-revision-id' type=int items=1
value=00000100
name='usb-product-id' type=int items=1
value=0000ea60
name='usb-vendor-id' type=int items=1
value=000010c4
name='compatible' type=string items=8
value='usb10c4,ea60.100' + 'usb10c4,ea60' + 'usbif10c4,classff.0.0' + 'usbif10c4,classff.0' + 'usbif10c4,classff' + 'usbif,classff.0.0' + 'usbif,classff.0' + 'usbif,classff'
name='reg' type=int items=1
value=00000003
name='assigned-address' type=int items=1
value=00000003

2007-03-24

レミリアお嬢様と対面

EASYでのノーコンクリアもまあまあ安定してきたので、そろそろNORMALで挑戦。
コンティニューしまくりだけど、どうにか咲夜さんクリア!
「くっ、強い…」なんて言われたの初めてですよ!? (おちつけ自分)

で、リプレイでしか見たことのなかった第6ステージ。
エターナルミークもなんとかやりすごして、とうとう自力でレミリアお嬢様とお会いできましたよ。
感激〜 (我ながら安い男だなあwww)

…速攻で落されましたがね。
まあ、それはそれ、いつかはフランにも会いにいけるようにしたいものです。

MP3プレーヤでいつも音楽は聞いていたつもりだったんだけど、いざ到達してみてBGMが流れ出すと感動しますな。

2007-03-22

純金名刺

DPZ経由。
1g純金名刺というものがあるらしい。
これは面白いね。知っていれば父親の退職祝いに送れたのに。

キャラクター系の名刺をでっち上げる輩が出るんじゃないかなあ…
架空の人物の名刺の作成または私的使用が、公序良俗に反する行為になるかどうかが鍵かなあ。

簡易保健

グチ。

母親が自分名義でかけていた養老保険の満期金を受け取りに郵便局に行ったところ、「本人でないと受け取れない」と断られたらしい。
で、なんとか満期金を受け取ろうとするため、窓口で1時間半も粘ったらしい orz...

自分が半休取って郵便局に出かけることもできるのだけど、母親は母親なりに息子に「迷惑」をかけたくないので、そういう要求をしたらしい。親心だねえ。

ただ、あちらさんも規則だからそういう対応をしたのであって、正直なところ、そんなクレーマーまがいな社会性のないことはして欲しくない。
親心から出たものであっても、郵便局の人に迷惑をかけていい理由にはならない。

…と言ったら泣かれた。
老いた親を見るのはイヤなものだ orz...

昇格審査結果

前半休を取ってお昼に出勤したら、上司が昇格審査の結果を通知してくれた。
まあ、合格だったんだけど。

なんだか徒労感だけが残って、達成感とかぜんぜん出てこなかったなあ。
具体的に何がどう変わるってわけでもない(しょせん下っ端なので)し、給料は元のままでも生活には困らないし。

偉くなったら昼夜逆転の勤務時間にしていい、とかだったらすごくがんばるんだけど。

帰省#2

帰省から帰還〜

生後4ヶ月の甥っ子と対面。
人見知りをしない子で、顔を見ていきなり泣かれるとかいうこともなく、ちょっと安心。
そうなると現金なもので、暇潰しついでにミルクをあげたり、よだれをふいてあげたりと、ついつい世話をしてみたり。
本当はおっかなびっくりなのだけど、傍から見ると手慣れているように見えたようで、それはそれで嬉しいのだけど、なぜか隠し子疑惑が orz...

しかしまあ子育って大変だなあと思ったのも事実。
これを毎日やるのはいかにもしんどい。
妹の場合、出産時から実祖父母のところにいるのでまあなんとかやれているのだけど、核家族の場合はどうするんだろうね…

まあ、相手が出来てから考えますか。あはははは orz...

2007-03-17

帰省

妹の出産祝いで帰省。
いろいろバタバタしてるけど、ちょっくら甥っ子の顔をみてきますノシ

日本の企業はなぜOSをアップグレードしないのか

@ITの記事に日本の企業はなぜOSをアップグレードしないのかという記事が載ったが、激しく同意。
いや「売る側の論理」として非常に共感できる、というだけのことだけどwwww

作る側からすれば、いったん売ってしまったものはもう興味の範囲外なんだよね。
不具合を出しても「何で不具合のない新しいのを買ってくれないのか」、性能が出せなくても「何で高機能な新製品を買ってくれないのか」と思うのはホンネのところ。
最初からちゃんとしたのを出すとか、旧バージョンからセキュリティ機能だけ強化したモデルを出すとか、「顧客側にとって合理的な」選択肢は「売る側の論理」には存在しないのだ。

だけど、これをはずかしげもなくお客様が聞いている可能性のあるところで堂々と言ってしまえる神経は尊敬するほかなく、ちょっと真似できないw

2007-03-03

Ecole予約

しますた。4/4発売予定。

外界と途絶された世界って好きなのかもしれない。
灰羽連盟(これもTV-BOXを予約すみ)や東方projectとかね。

…ょぅι゛ょ目当てじゃないですよ?

Wikiで課題管理

仕事で、モジュール間の設計課題をPukiWikiで管理している。

もともとは親分が「設計過程も記録に残しておくことはできないのか? 新しい機種の設計を行なう毎に似たような検討を繰り返しているのはうんぬん」と言い出してきて、それを受けた中ボスが自分の使っていたPukiWikiを試してみましょうかと応じた次第。

アイデアは仲間と一緒に考える【解決編】(ITmedia Biz.ID)
実践! 一人で思い浮かばないアイデアは同志を募って集める【解決編】(ITmedia Biz.ID)
Wikiを使ってプロジェクトの進捗管理【解決編】(ITmedia Biz.ID)
企業内でWiki活用の効果はどの程度? (/.j)

今のところ、trackerプラグインをカスタマイズして検討課題を管理してる。
1ページ中に複数の細かい項目が出てくるようになったのでこの方法も試してみるのもいいかも。

人の名前でページを作っておいて、各ページのTODO項目からリンク張っておくと、その人のTODO項目が一度に分かって便利なのに気が付いた(PukiWiki公式でやってた)。

課題のステータスはこれにならってToDo, Doing, Doneの3つに設定。
やはりカンバン方式にならって赤・黄・緑で分かりやすく表示してる。

あと、リアルタイムに進捗が分かるのが親分に受けが良い。
ただ、2時間おきに「緑が増えたね」などとプレッシャーをかけられるようになるとは予想外の事態wwww

モチベーション復活?

昇格審査の準備という非生産的なシバリがようやっと終わり、今週から通常業務に復帰。

ゲンキンなもので、もともとたいして仕事熱心だったわけでもないのに
開発に戻ったことでモチベーションが復活してしまった模様。
偉いったらないねwww

とはいえ、非生産的なことにかまけていたせいで、スケジュールがすごいことに。
2つある担当のうち、片方はほとんど手がついてない。

まあ、勢いでコードだけは8割ほど作ってしまったのだけど
…あわわわわわ、もちろんこんなインチキは設計が難しくないところだけに限ってますよ?

昇格審査終わった

ようやく昇格審査が終わった。疲れた疲れたw

1月末頃に人事部からの案内が届き、2月中旬に論文提出、下旬に面接。
まあ、実際には冬休み前に部門内の推薦があることがわかってて、出来レースもいいところ。
さらに言うと、推薦が近づくと査定が不自然に上がったりするwwww
これで割りを喰ってる人もいるわけで、なんだかとっても申し訳ない。

面接の時は久しぶりにスーツ着て六本木の本社まで出向いた。
聞かれた内容は、論文中の用語の定義の説明、目標数値の算出根拠、今後の取り組みなど。

面接官は開発系の偉い人2人、よくわからない人1人、人事部の人1人の合計4人。被面接者も4人。
いっしょに受けた人の中に役員の秘書をやってる人がいて、なかなか面白い話が聞けた。偉い人を前にしてもあまり動じない(ように聞こえる)のはさすが。

逆に、人事部の人が助け船を出さなければならないほどしどろもどろになってしまう人もいて、練習不足なのか、性格なのか、ちょっと気の毒なほどだった。
自分も何秒か絶句してしまったので、あまり人のことは言えないのだけど。

で、今のところ結果待ちだけど… どうなりますことやら。

OpenSolarisのビルドに挑戦 #2

OpenSolarisのビルドに挑戦の続き。

ソースコードが準備でき、手順とは違うけどSolaris10上でもビルドできるようになったため、
Solaris Express Community Release (snv_b57)のDVDイメージをダウンロード。
さっそく、インストールしてみたのだけどあえなくブート失敗 orz...

実験用のx86マシンはDVDドライブがUSB接続なので、
ブートローダまでは読み込めるけど、boot_archiveを読み込むことができないらしいのが原因。
うーむ。

2007-02-18

OpenSolarisのビルドに挑戦

S.M.A.R.T.の機能でも入れてみようかなあと思って、OpenSolarisをビルドしてみようかと思い立つ。

第69回 OpenSolarisをビルドしてみる(1)
http://journal.mycom.co.jp/column/yetanother/069/

OpenSolaris事始め(その1)
http://blogs.sun.com/eota/entry/opensolaris%E4%BA%8B%E5%A7%8B%E3%82%81_%E3%81%9D%E3%81%AE%EF%BC%91

流れとしては、(1) Solaris Express, Community Editionをインストール (2) BFUをインストールしてデフォルトのOpenSolarisを上書きインストール (3) 自前ビルドのOpenSolarisを上書きインストール、でいいのかな?

んで、Solaris ExpressとBFUアーカイブの取得まではサクっといったんだけど、なんとOpenSolarisのソースコードアーカイブがなくなってるではないですか!?

いや、急いで訂正すると、なんだかMercurialという構成管理ツールを使わないとソースコードが取り出せないらしい。これではBFUをインストールするまでソースにアクセスできないじゃまいか orz...

幸い、subversionでも取り出せるので、
svn co http://svn.genunix.org/repos/on/trunk/usr/src/
で取得(中)。なんだかなあ。今度はBitTorrentでも試してみようか。

そういえばLinuxもgitに乗り換えたとかなんとか。巨大なソースコードを抱えるところはいろいろ苦労してるみたいですなあ。

追記
ソースのアーカイブが用意されてないのは
http://www.opensolaris.org/os/downloads/ から辿れるcurrentと、週ごとのリリースだけみたい。
http://dlc.sun.com/osol/on/downloads/ を直接見るとbuildごとのディレクトリもあって、ちゃんとtar.bz2でアーカイブされたファイルも入ってる。

2007-02-17

忙中暇あり

忙しいとか言いつつ、紅魔郷のEasyレベルをノーコンティニューでいけるように。
うわー、低レベルw

パッドもPS2コントローラに変えてからあまり操作ミスしなくなった。
もちろん、操作ミスが減ったというだけで、下手くそなのは変ってない。
弾に囲まれるとパニックになってしまうところは早く直さねば。

モチベーション喪失

ここんとこ昇格論文(とプロダクトWの開発)でずっと忙しかった orz...
3連休あったけど、結局休日出勤だったし orz...
しかも自己啓発扱いで出勤扱いにはなってないしなあ orz...
で、役に立つことだったらまだガマンもできるけど orz...
前もって準備を進めておいたのに、土壇場でとんでもない難癖つけて台無しにしてくれるし orz...

人事部への推薦枠が限られているらしく、その貴重な資源を割りふってもらった以上は一応きばってみようかとも最初は思ったけど、そんな殊勝な気分はまるきりなくしました。むこう10年分くらいのモチベーションを使ってしまった2週間ですた。

まだ面接があるので多少準備はしないと orz...

2007-02-03

Solaris用のW-ZERO3ドライバ5

前回の続き。

ひとまずドライバと、synceへのパッチと、コンパイル済パッケージを
うpしてみた。

synceはvdccmを動かしておいて、triggerconnectionを実行すると、W-ZERO3の認識までは無事できるようになっている。だけど、その後plsしても全然ファイル一覧が取得できない。うがー。

ドライバのビルド方法はREADME.jaに書いておいた。synceのビルド方法は以下の通り:

libsynce

svn co https://synce.svn.sourceforge.net/svnroot/synce/branches/libsynce/WM5/libsynce
パッチあて
./bootstrap
env CFLAGS='-std=c99' LDFLAGS='-lsocket' ./configure --disable-desktop-integration
gmake
sudo svr4pkg.sh
sudo pkgadd -d . KSWlibsynce


librapi2

svn co https://synce.svn.sourceforge.net/svnroot/synce/branches/librapi2/WM5/librapi2
パッチあて
./bootstrap
env PKG_CONFIG_LIBDIR=/usr/local/lib/pkgconfig CFLAGS='-std=c99' LDFLAGS='-lsocket' ./configure
gmake
sudo svr4pkg.sh
sudo pkgadd -d . KSWlibrapi2


vdccm

パッチあて
env PKG_CONFIG_LIBDIR=/usr/local/lib/pkgconfig CFLAGS='-std=c99' LDFLAGS='-lsocket' ./configure
gmake
sudo svr4pkg.sh
sudo pkgadd -d . KSWvdccm


以上のビルドにはSUNWuiu8パッケージ, libtool, pkgconfigが必要。加えて

http://forum.sun.com/jive/thread.jspa?threadID=73150
の対策が必要。

2007-01-26

Solaris用のW-ZERO3ドライバ4

前回の続き。

pingが通った!
予想通り、RNDISヘッダがおかしかったのが原因。orz...

W-ZERO3からDHCPでアドレスをもらうのもばっちりできた。W-ZERO3側はDHCPサーバとして168.254.2.1というアドレスを持っていて、Solaris側には168.254.2.2を振ってくる。
PDA'ごとき'にアドレスを振ってもらうというのも妙な気がするけど、考えてみるとこれはこれで合理的なのかも。

まだいろいろ細かいところがおかしくて、snoop中にunplumbするとパニックしたり、ケーブルをいきなり抜くとドライバがdetachする時にパニックしたり。synceもまだ動いてない。

以下dmesg。ドライバ名がwzsunなので、wzsun0というデバイス名になってる(なぜwzsunかというと、W-ZERO3だから…ww)

Jan 26 01:47:42 etta unix: Port4: USB descriptor tree for SHARP CORPORATION SHARP WS004SH ActiveSync Remote NDIS Driver
Jan 26 01:47:42 etta unix: Port4: highest configuration found=0
Jan 26 01:47:42 etta unix: Port4: Configuration #0 (Addr= 0xd601a2e8)
Jan 26 01:47:42 etta unix: Port4: String descr=
Jan 26 01:47:42 etta unix: Port4: config descr: len=9 tp=2 totLen=62 numIf=2 cfgVal=1 att=0xc0 pwr=50
Jan 26 01:47:42 etta unix: Port4: usb_cfg_data_t shows max if=1 and 0 cv descr(s).
Jan 26 01:47:42 etta unix: Port4: interface #0 (0xd5a3ed20)
Jan 26 01:47:42 etta unix: Port4: Alt #0 (0xd57f8fb0)
Jan 26 01:47:42 etta unix: Port4: String descr=
Jan 26 01:47:42 etta unix: Port4: if descr: len=9 type=4 if=0 alt=0 n_ept=1 cls=239 sub=1 proto=1
Jan 26 01:47:42 etta unix: Port4: usb_alt_if_data_t shows max ep=0 and 3 cv descr(s).
Jan 26 01:47:42 etta unix: Port4: endpoint[0], epaddr=0x81 (0xd5a3ed00)
Jan 26 01:47:42 etta unix: Port4: len=7 type=5 attr=0x3 pktsize=8 interval=1
Jan 26 01:47:42 etta unix: Port4: alt cv descriptor #0 (0xd606e1d0), size=5
Jan 26 01:47:42 etta unix: Port4: 5 24 1 0 1
Jan 26 01:47:42 etta unix: Port4: alt cv descriptor #1 (0xd606e1d8), size=4
Jan 26 01:47:42 etta unix: Port4: 4 24 2 0
Jan 26 01:47:42 etta unix: Port4: alt cv descriptor #2 (0xd606e1e0), size=5
Jan 26 01:47:42 etta unix: Port4: 5 24 2 0 1
Jan 26 01:47:42 etta unix: Port4: interface #1 (0xd5a3ed28)
Jan 26 01:47:42 etta unix: Port4: Alt #0 (0xd601a1a8)
Jan 26 01:47:42 etta unix: Port4: String descr=
Jan 26 01:47:42 etta unix: Port4: if descr: len=9 type=4 if=1 alt=0 n_ept=2 cls=10 sub=0 proto=0
Jan 26 01:47:42 etta unix: Port4: usb_alt_if_data_t shows max ep=1 and 0 cv descr(s).
Jan 26 01:47:42 etta unix: Port4: endpoint[0], epaddr=0x82 (0xd5f7b6e0)
Jan 26 01:47:42 etta unix: Port4: len=7 type=5 attr=0x2 pktsize=64 interval=0
Jan 26 01:47:42 etta unix: Port4: endpoint[1], epaddr=0x3 (0xd5f7b6f0)
Jan 26 01:47:42 etta unix: Port4: len=7 type=5 attr=0x2 pktsize=64 interval=0
Jan 26 01:47:42 etta unix: Port4: Returning dev_curr_cfg:0xd601a2e8, dev_curr_if:0
Jan 26 01:47:42 etta unix: wzsun0: wzsun: type "ether" mac address 80:00:60:0f:e8:00
Jan 26 01:47:42 etta unix: USB 2.0 interface (usbif4dd,9103.config1.0) operating at full speed (USB 1.x) on USB 1.10 external hub: interface@0, wzsun0 at bus address 4
Jan 26 01:47:42 etta unix: SHARP CORPORATION WS004SH ActiveSync Remote NDIS Driver
Jan 26 01:47:42 etta unix: wzsun0 is /pci@0,0/pci1106,aa03@11,2/hub@1/device@2/interface@0
Jan 26 01:47:42 etta unix: /pci@0,0/pci1106,aa03@11,2/hub@1/device@2/interface@0 (wzsun0) online

2007-01-23

ゲームパッド

1コンティニューくらいでEasyの5面にいけるくらいにはなりますた。

弱っ orz...

ここまで弱いのはきっとパッドが悪いということに(脳内)決定。
実際、500円程度の安物のパッドなので、方向も定まりづらかったし、
アソビがありすぎて反応が遅すぎという問題もあった。
それでさっそく調べてみると、PS2のコントローラをUSBに変換するコンバータが
1500円位であるらしいので、ウィッシュリストに追加。

や、普通のパッドを買ってもよかったのだけど、
いままでのものとあわせて2つもあるのはなんかやだなあと。

Solaris用のW-ZERO3ドライバ3

前回の続き。

バッファの二重開放バグを修正。だけど、まだICMP ECHO REPLYが帰ってこない orz...

snoopコマンドの出力を見ると、W-ZERO3からは確かにパケットを受信しているし、DLPI的には送信もしている。
となると、ドライバで送信できていないということになるかな…

STREAMSのmsgb(message block?)構造体が分散しているのが
USBドライバに蹴られているのかと思い、単一データブロックにしてみたけど効果なし。
Bulk-OUTじゃないパイプに送っているのかと思ったけど、
返り値を信じる限りエラーは検知していない。
最後になって、RNDISヘッダに入れている値がおかしいっぽいのを発見したけど、
これの対応は時間切れ。

ところで、LinuxのskbってSysVのSTREAMSに対応するという認識でいいのかなあ?
どちらもデータのコピーを押さえたままヘッダ/トレイラを処理するためのものなので。
もちろん前者はネット関係しか使われていないのに対し、
後者はread()/write()はもちろんのこと、ioctl()にさえ対応できる無駄に凝った
たくさんの機能を持つという違いはあるけど。