トップ 最新 追記
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2003年07月01日

[CAT709]

sambaパッケージから展開してFLASHに収めるファイル一覧
/etc/samba
/etc/default/samba
/etc/inetd.conf
/etc/init.d/samba
/etc/rc2.d/S20samba
/usr/bin/passwd
/usr/sbin/nmbd
/usr/sbin/smbd
/usr/lib/libcups.so.2
/usr/share/samba/codepages/codepage.932
mkdir -p /var.rom/log/samba
mkdir -p /var.rom/cache/samba
ln -s /var/cache/samba/MACHINE.SID /etc/samba/MACHINE.SID

2003年07月02日 晴れ(快晴あっちっち)


2003年07月03日

仕事

東京出張(セミナー講師)


2003年07月04日 曇り

仕事

東京出張(セミナー講師2日目)


2003年07月06日

サルサ

矢場町のオゾンで行われた年に1度のイベント「キューバンサルサフェスティバル」に参加した。いやぁもう、すごかった〜。バンドがかっこよかった。

こんな小さな子のサルサ発表もあった。かわいかったぁ


2003年07月08日 曇り

忙しいってば

誕生日だった。仕事が終わって帰宅したのがAM2時だ。誕生日終わってるじゃないのー。


2003年07月09日 曇り

サルサ

calizaの最後の活動をした。calizaは今日で活動休止だ。残念だ。

2003年07月11日 晴れ

仕事

東京ビックサイトでESEC開催される。


2003年07月12日 晴れ

仕事

午後に打ち合わせ一件あり。

サルサ

久しぶりにサルサネタを書く。久しぶりにエルココへいった。今日は、先週のozonの半券があるとla habanaはエントランス1000円ということだったのだが、すごく混んでることが予想されたのであえてエルココへ。混んでるとインストの動きを見てまねをするだけでまったく指導してもらえないので、すいているレッスンのほうが受ける身にとっては好都合かもしれな。今日はEMIKO先生の中級と上級のレッスンを受けた。新しい技はなかったが、それで十分、もう新しい技は知らなくても良いと思うし、それ以上に基本ステップやターン、スピンなどを練習していきたい。
やっぱり、最近思うことは、salsaはマジメに踊ってはダメだ。レッスンを受けて体の動きを鍛えることは重要なことだが、技を自慢するような踊り方はダメだ。曲にあわせて楽しむこと、酒を飲んみ、(話せないが)スペイン語の歌詞を聴きまねで歌いながらほどよく上機嫌にストレスを発散するのがsalsa的だ。もっというとペアで無くてもいいのだ。社交ダンスとの一番の違いは、酒を飲んで踊るってことだ。圧倒的に金もかからないし。ダンパ(ダンスパーティー)だって2000円くらいだし、先生とだって(タダで)踊ってもらえるし、服装なんてシャツでokだもん。とにかく体を動かして楽しまなきゃ!。
それと、技をたくさん知っているのがかっこいいわけではない。ベーシックやサイドステップだけでも楽しく踊れるし、女性を見た目で楽しませれるようになれば立派なもんだ。と思うので(^^;そうなれるようーにしよう。(^o^;;
今日のエルココは雰囲気が最高だった。皆が皆happyだったぞ

yuriちゃんとwakakoちゃん(勝手に掲載)。wakakoちゃんとははじめて踊ってもらったけど気持ちのいいフォローだった(^o^/~~ yuriちゃんはいつもニコニコしている(^^

2003年07月13日 大雨

CAT709

arch/sh/kernel/io_irq.c で用意されているI/O番地移動関数リファレンス
ret=cat709_port_map(開始IO番地, 終了IO番地,  物理番地, shift);
  shiftは通常は0, A0をA1につなぐなど、1bitシフトしているときは1にする
cat709_port_unmap(開始IO番地, 終了IO番地);
 
ret=cat709_make_irq_demux(IRQ転送元(hwIRQ番号), IRQ転送先);
cat709_make_irq_undemux(IRQ転送元);

迷惑メール

spamとよばれる迷惑メールが大量に来て困って困って。やっとspamassassin(スパム暗殺者)を導入することにした。
http://www.mimori.org/~h/diary/d200305b.htmlこちらを参考にさせてもらいました。
~/bin/my-spamassassin に以下のようなスクリプトを用意した。
#!/bin/bash
tmpfile=`mktemp /var/tmp/spamassassin.XXXXXX` || exit 111
trap 'rm -f $tmpfile' 0 1 2 3 5 9 15
/usr/bin/spamassassin -e > $tmpfile
case $? in
0)
        # not spam. normal operation
        exit 0;
        ;;
*)
        case $# in
        0)
                ;;
        *)
                # forward spammed mail for 1st argument
                /usr/sbin/qmail-inject $1 < $tmpfile
        esac
        exit 99; # no more deliver in .qmail
esac
をつくり、.qmail に以下のように記述
|/home/ebihara/bin/my-spamassassin ebiharaml@si-linux.co.jp
./Maildir/
spamassassin に引っかかったメールは ebiharaml@si-linux.co.jp に転送。それ以外は Maildir に記録する。

2003年07月14日 曇り

仕事

東京出張(セミナー講師1日目)


2003年07月15日 曇り

仕事

東京出張(セミナー講師2日目)


2003年07月16日 晴れ

家具

名古屋の南部、笠寺にあるIDC大塚家具にアーロンチェアを見に行った。対立候補のコンテッサが金曜日に入るそうなので金曜日にまた出直す。会社の備品とはいえ、安いとはいえない買い物なのである程度慎重だ。3脚購入予定だが全員好みがばらばらなので椅子もばらばらになりそうだ。


2003年07月18日

カーネル八苦

sh-linuxの話。ARCNET上でTCP/IPを動かすことをやっているが上手くいかない。arcnet上でIPを張り、pingが通るところまではできたのだが、tcpセッションを張ろうとするとサーバー側が下のように落ちる。
Unable to handle kernel NULL pointer dereference at virtual address 00000028
pc = 8c0f240c
*pde = 00000000
Oops: 0001
PC  : 8c0f240c SP  : 8d9f9b38 SR  : 40000101 TEA : c0181034    Not tainted
R0  : 000000f0 R1  : 8df4d800 R2  : 8dee6ba8 R3  : 8dbaad0c
R4  : 8dbaac50 R5  : 8dbaae0f R6  : 8dbaac90 R7  : 8dee6b90
R8  : 8dbaad0c R9  : 00000020 R10 : 8dbaac50 R11 : 8dee6b50
R12 : 8df5ca79 R13 : 00000000 R14 : 8dee6b7c
MACH: 00000000 MACL: 00000180 GBR : 00000000 PR  : 8c0f8da8
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
gdbでアドレスから探していって20時間目にして原因を突き止めた。 gdbで落ちているアドレス付近を逆アセンブルしてみると @(8,r9) のアドレス(00000028)をmov.lしているて落ちているのだが、なんとこのダンプ画面に来る前に原因があった。いくつかの複合的な問題だった。
カーネルソースの net/ipv4/tcp_input.c:3346付近
int tcp_rcv_established(struct sock *sk, struct sk_buff *skb,
                        struct tcphdr *th, unsigned len)
{
        struct tcp_opt *tp = &(sk->tp_pinfo.af_tcp);
        struct tcp_skb_cb *tmp1;
        unsigned long seq;
        unsigned long rcv_nxt;
 
        printk("<1>sk=0x%p, skb=0x%p, th=0x%p, len=d\n",sk,skb,th,len);
        // sk=0x8da15c50, skb=0x8df52c60, th=0x8df5c979, len=56
        // ここで th が奇数アドレスなのがおかしい
 
[略]
 
        if ((tcp_flag_word(th) & TCP_HP_BITS) == tp->pred_flags && seq == rcv_nxt) {  ←ここのth参照で死ぬらしい
ここで
union tcp_word_hdr {
        struct tcphdr hdr;
        __u32             words[5];
};
#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
となっているので、結果、th+0xc番地からlongアクセスしてアライメントエラーになっているらしい。

thを追いかければよさそうというところまでで封じ手。

カーネル八苦続き

辛かったが分かった。完全に理解した!!!!!すべての原因はRFC1051だ。こいつが完全に悪い。

ARCNET上にIPを通すためのプロトコルとしてrfc1051(古)とrfc1201(新)の2種類があって選択できる。ARCNETのlongパケット512バイトはそれぞれ以下のような構造になる。

include/linux/if_arcnet.h で宣言されているヘッダー
struct arc_hardware
{
    uint8_t  source,    // source ARCnet - filled in automagically
             dest,      // destination ARCnet - 0 for broadcast
             offset[2]; // offset bytes (some weird semantics)
};
#define ARC_HDR_SIZE 4
 
struct archdr                       // 20byteってことになる
{
    struct arc_hardware hard;            //   4 byte
    union {
        struct arc_rfc1201   rfc1201;    //   4 byte
        struct arc_rfc1051   rfc1051;    //   1 byte
        struct arc_eth_encap eth_encap;  //  20 byte
        uint8_t raw[0];                  // 508 byte
    } soft;
};
rfc1201を使用するときは受信バッファ+8番地からIPヘッダーがあるのだが、rfc1051を選択してしまうとバッファ+5番地からIPヘッダーが始まる。driver/net/arcnet/rcf1051.c から net/core/dev.c にskbが放り込まれたときに、まさか奇数番地からIPヘッダーが始まっているなど想像もしないので奇数アドレスからIPヘッダーを構造体にぶち込んでしまう。で、アライメント例外大発生だ。

i386 CPUでは奇数アドレスからのlongアクセスは(効率が落ちるが)特に問題は無い。そのためi386機ではrfc1051.cは問題なく動作する。しかしPC以外のRISC型アーキテクチャではrfc1051.cは動作しないだろう。まとめるとRISC型アーキテクチャでARCNETを使用するときは現状のrfc1051.cは組み込んではならないのだ。(え?コードを直せって?)

include/linux/skbuff.h の自分用備忘録
skb_push(struct sk_buff *skb, unsigned int len) データ領域の下位側を拡張する
skb_pull(struct sk_buff *skb, unsigned int len) データ領域の下位側を縮める
skb_put(struct sk_buff *skb, unsigned int len) データ領域の上位側を拡張する

椅子を買った

結局アーロンチェアは買わなかった。海老原はコンテッサを選んだ(オレンジのメッシュ地。フレームはポリッシュでボディーは黒)。岩崎と新谷はエルシオを選んでいた。3脚でかなりの金額になった(*_*)が、賞与が出ないかわりに必要だと思う備品は整備することにした(賞与を出せという話も(A^^;;)

プリンター


頼んでおいたレーザープリンター用の両面印刷ユニットが届いた。早速取り付ける。これでA3を折って製本ができるようになる。まんなかホチキスを買わねば。

2003年07月20日

サルサ

千種のエルシドでemiko先生、riko先生、araki先生主催のダンスパーティが開かれた。前日に聞いたので行くか悩んだが(忙しかったし)3連休仕事詰めも嫌だったのでまぁ夜だけはでかけるかってことでエルシドに行ってみた。行って正解!むちゃたのしかったので結局最後までいた。

サルサは技じゃないなー、ダンスだ。踊りだよねやっぱ。技繰り出してフラフラになっちゃいかんて。<俺も

2003年07月22日 曇り

BBQ

友人らと河原でBBQだ。天気はうす曇でちょうどよかった。

準備。ウマそうにbeerを飲むsatone

遅れてきたkabaya。アフガン帰還兵のようだ(河原で迷ったらしい)。

テーマは大人のBBQ(らしい)。10代には真似のできない具材だ(ほんとか?)

豪快にタマネギを切り落としていくkazami

これで全員かな

ミヤサコに似ている(らしい)nagai

後片付けをして掃除して終了

友人宅にて


かのんちゃん。6ヶ月のアイドルだ。かわいい。

2003年07月25日 曇り(7月末なのに肌寒い)

CAT709

どうも mkfs.jffs2 の調子が悪いというかイメージつくりにたまに失敗するらしい。
Node at 0x0065ffd8 with length 0x00000044 would run over the end of the erase block
Perhaps the file system was created with the wrong erase size?
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0065ffdc: 0x0044 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0065ffe0: 0xfb1d instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0065ffe4: 0x08cb instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0065ffe8: 0x0002 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0065ffec: 0x81a0 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00660000: 0x01e2 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00660018: 0x189e instead
jffs2_scan_eraseblock(): Node at 0x00670000 {0x1985, 0xffff, 0xffffffff) has invalid CRC 0xffffffff (calculat
ed 0x19861e00)
JFFS2: Erase block at 0x00670000 is not formatted. It will be erased
Eep. Child "syslog" (ino #2251) of dir ino #2223 doesn't exist!
VFS: Mounted root (jffs2 filesystem) readonly.
 :
jffs2_read_inode() on nonexistent ino 2251
cp: /var.rom/log/syslog: Input/output error
とか、ファイルシステムでエラーがでてしまう。
http://www.linux-mtd.infradead.org/ から最新のmkfs.jffs2をCVSでとってくることにした。ちなみに現状は
$ mkfs.jffs2 -V
mkfs.jffs2: revision 1.38
$ cd tmp
$ cvs -d :pserver:anoncvs@cvs.infradead.org:/home/cvs login (password: anoncvs)
$ cvs -d :pserver:anoncvs@cvs.infradead.org:/home/cvs co mtd
$ cd mtd/util/
$ make mkfs.jffs2
$ mkfs.jffs2 -V
mkfs.jffs2: revision 1.38
変わってないなぁ。

2003年07月26日 快晴(夏だ!)

梅雨明け

やっと梅雨が明けた!
天高く、秋空のような雲が出ていた7月の末
今年の夏は、とても短い予感がする。

俺の生活が。ではなくて、
本当に今年は、
気がついたら、秋の風が吹いているかもしれない。




栄TV塔 2003-07-26
(久屋大通アネックス前で撮影)

サルサ

すんごい速い曲を、早く踊っていないよう見せれる。軽々く踊る。ダンスに余裕がある。それがかっこいいとおもう。それから、相性なんだろうけど、ベーシックだけで踊って気持ちのいい相手っているもんだなぁとつくづく思った。とても気持ちよくベーシックが踊れる子がいた。相性なんだと思うのは勉強不足なのかな。どんな相手とでも気持ちよく踊れるリズムというものがあって、相手の波長にあわせれるのが、ペアダンスのうまい下手なのかもしれん(わからんけど)。そういえばNORIちゃんとのプリマはグングンと加速して音速を超える勢いだった。かな〜り愉快だった。

←ばか
ダンス上達のコツなんてないよな。いっぱい誘っていっぱい恥をかいて、悔しがって笑って上達せにゃならんね〜。勉強不足だ。


2003年07月27日

仕事

日曜日だというのに出社してみたら岩崎も新谷も働いていた。みな働き者だ。不意に油断していたら岩崎に写真を撮られた。

客観的に自分の姿を見てみると、まず、1)机が散らかっている。2)姿勢が悪い、3)頭がやばい(まぁ仕方ない)
やっぱり俺はPCに向かっているときは背もたれを使っていないのだな。このまえ椅子を買いに行ったときに家具屋の担当の人と姿勢についていろいろと話をしたけども、ワーキングチェアに求められるものは 1)働きやすい姿勢と 2)休憩するとき・思案するときにくつろげる姿勢の2つを両立できる椅子がワーキングチェアとしては良いらしい。
岩崎と新谷が選んだエルシオという椅子はカタログによると後傾姿勢をサポートする椅子だと書かれているが、実際にはカタログのようにふんぞり返っては仕事はできないだろう。実際に座ってみた感じではクルマのシートに近いと感じた。背もたれを起こせば普通の椅子だし、思案するときにリクライニングできるのは良いかもしれない。ただ、俺の好みではなかった。
海老原はコンテッサを選んでみた。万人向けな感じがしないでもないが、どちらかというと硬めだ。あと蒸れないようにメッシュ地が選択できる点も良い。なんだかんだ理屈をこねているが、実はかっこよかったので選んだだけという話も(汗)いいんだ。好みなんだから。

仕事

UNIXのプロセス間でデータを送受信する方法について考え直してみた。既存の方法はいろいろとあるがおおむね以下のようになるだろう
ファイルを使う ○簡単
○コマンドラインから人間が書き込むこともできる
×データの到着の同期が取りにくい(ポーリング)
×書き込み最中に読み出すといったレースコンディションが発生する
名前無しパイプ ○少リソース
○厳密な同期が取れる
×書き込み、読み込みが両端のプロセスが揃うまでブロックする
×プロセスに親子関係が必要
×片一方方向
名前付きパイプ ○少リソース
○厳密な同期が取れる
○シェルから書き込める
×書き込み、読み込みが両端のプロセスが揃うまでブロックする
×片一方方向
×同時に書き込みが発生したときに4バイト単位でデータが混じった。
TCPソケット ○非同期化しやすい
○比較的コーディングが楽
○双方向
×socket数といったリソースに限りがある
×コマンドライン(シェル)から書き込めない
UNIXドメインソケット ○非同期化しやすい
○比較的コーディングが楽
○双方向
×ソケットファイルに cat や echo といったシェルからは書き込めない
SysV IPC関連 あまり使いたくない
結局のところ一長一短ありなので、結局FIFOなデバイスドライバを作っちまうか。という結論になった。
A端とB端を持つキャラクタドライバで、A端にwriteしたデータはB端からreadでき、B端にwriteしたデータはA端からreadできる。データはkernelドライバが保持するのでA端、B端は非同期に動作でき、またreadデータが無い場合及びwriteしたときにバッファfullだった場合はプロセスをブロックして同期化できる。マイナー番号0〜255の255個のFIFOが同時に使える。うん、面白そうだ。今回はシェルから書き込みたいといった条件があったのだがこれならクリアできる。新人研修ネタにもなる。

2003年07月28日 晴れ

大工事

昨日ちょろっと書いたのだけどもケーブルテレビのネット接続が地域全体トラブったらしくて朝からほとんどネットが使えなかった。Webが見れないだけならダイヤルアップすればよいが、メールが届かないなど業務全体に支障をきたした。なんてこったい。仕事にならない。さっそくケーブル工事屋が来て調整に入ったが、今日は一日仕事にならないのでこの時間を利用して改装工事を行うことにした。

ケーブルモデムを見守る?ケーブル工事屋さん

壁とドアの撤去

工事といっても自分らでやるのが工房流だ。

以前からこの壁とドアの位置がヘンだったので撤去したいと考えていた。
ドアと壁を撤去すると、当たり前だが空間がとたんに広くなった。リフォームの匠の気分だ。
『なんということでしょう。今まで闇に隠れて死んでいた空間に新しい命が吹き込まれました』
ばらばらに崩していくのは楽しい(^-^)。とにかくバラす。

壁を支えていた天井のレールも電動インパクトではずす。ドアの開き方向も逆にするために撤去する。

続いて応接室のパーテーションも位置を変えるためにばらす。
こちらの壁は突っ張りなので楽だ。

新しく壁を組み立てる


電動インパクト大活躍だ。床はコンクリなのでカーペットの上からドリルで穴を開け、ハンマーで鉛を打ち込む。位置は一応計ったが最終的には現物あわせ(撤去した建材を再利用するので、もともと厳密には合わせこめないのだ)
それにしても新谷大活躍だ。ほとんどの電動工具を自前でもってきたこの男はいったい?(笑)

新しくドアが来る位置にレールを取り付ける
無事ドアと壁の移植成功。見栄えも強度もばっちりだ。
まるでリフォームの神様が降臨してきたかのごとくの仕上がり。
ドアの開き向きも逆になり空間が1.5畳ほど広くなった。

机の配置換え


CADで1/20スケール模型をつくり、あーでもない、こーでもないと争う。
左が現状、右がなんとか決まった新配置

移動先がきまっていればあとはひたすら作業の連続だ。
PCを撤去してLANやらシリアルやらの配線も撤去して移動。
LANも4chや8chのHUBがタコ足になっていたので一気に24chのHUBに交換して配線もやり直した。good。

新しい位置に物を収めていく。
『なんということでしょう』匠は長年壁として立っていた鉄板を利用して、みごと?パーテーションとして再利用しました。

完成


まだキレイなオレ机の記念写真(仕事が始まれば散らかるので)。全員念願の休憩ソファコーナーも出来上がった。

肝心のCATVネットの方はたまに落ちるというところまで合わせこんで「これ以上の調整は無理」なんてことをいうので、とりあえず様子見になった。TCPセッション張りっぱなし系のアプリは落ちて切断されてしまうかもしれない。

結局一日作業でつぶれたがLANや電源の配線見直しができたので安定・効率的な開発環境が得られただろう。改築工事は深夜までかかったがDIYは心地よい疲労感だ。

『なんということでしょう』(またかい)匠はドアの向きを逆にしたため、外から鍵が開けれる構造になってしまいました(中からは出られない)。というオチがついた。


2003年07月29日

sambaメモ

linuxからwindowsのSMB共有をマウントするには カーネルに smbfs をいれるだけでは不十分で smbmount (mount.smbfs)をインストールする必要がある。
# mount -t smbfs -o username=xxxxx,password=xxxxx,iocharset=euc-jp,codepage=cp932,gid=1000,fmask=664,dmask=775 //host/共有名/ /mnt
実際には mount.smbfsが呼び出される。

2003年07月30日 雨のち晴れ

CAT709

busyboxのアプレットコンフィグレーション(コマンド追加・削除)メモ。debian/Config.h-deb ファイルにて調整する
// #define BB_FEATURE_SH_STANDALONE_SHELL
ここをコメントアウトし、busybox内蔵コマンドよりも実コマンド優先とする