o ether_ioctl() を使うようにしたら cdce(4) が OHCI マシンでなんとなく動きだした。
でも uhci(4) のバグ(というか実装できていない所)を突いてしまったので直さなきゃ。
o 0630発。実家方面へ。
o SL-C3000 でセルフ開発環境を設定してコンパイルしたり .ipk を作ってみたり。 Libretto 100 より速い感じだな。
o 用事を済ませて 1630 着。
o 腹の調子が良くない。
o 13時前の列車で発。18時頃に着。
o uhci.c を修正。cdce(4) がなんとなく動いた。
o cdce(4) 経由で、サーバ NetBSD、クライアント Zaurus な ftp(1) してみようとしたがダメ。途中で TCP 的に反応なしになる。 まだなんかいるな…。
o uhci.c にバグ発見。同じバッファを n 回使ってる…(汗)。
直したら cdce(4) 経由で ftp できるようになった。
o FreeBSD だと usb_ethersubr.[ch] に if_*.c の共通部分を出しているな…。 それは正しいと思うが、中身はあまり使えなさそう。
o GPT (GUID Partition Table) ってのがあるらしい。 boot するときはどこから実行するんだろうか…。
o ニセ。アルゴリズムを考えるが、うまくいかんな…。
o SL-C3000 で録音ってどうやるのかと思ったら、ヘッドホン端子がマイクと兼用らしい。 「プラグインパワー」なモノラルマイクが使えるということだ。 とりあえずステレオマイクを挿してみるか。
…録れた。マイクが微妙に大きすぎてうまく置けないけど。
ヘッドホン端子まわりの回路が分かればどうつなげばいいのか分かるんだが。
o あぶく銭が来た。
o ラジオを聞いていたら 1130前の交通情報中に1秒くらい途切れた。雷?
o cdce(4) から USB Ethernet なドライバで共通に使えそうな所を切り出し。
o 「ヤマザキ スナックスティック 10本入」を食べていたのだが、あれ 9本しか入っていない!?
消費期限 07.6.14
製造所固有記号 Y02
確かに以前は9本入りだったんだけどさ…。
o USB Ethernet いじり。しまった、これでは mbuf(9) がリークしてしまう…。
直すか…。
o USB Ethernet いじり。共通コードを使うようにひたすら修正。 コンパイルが通るようになった。
休み。
o USB Ethernet いじり。mbuf(9) chain の長さを伸ばす(後ろの方に)のはどうやるのが正しいんだろう。
前に伸ばすには M_PREPEND() があるし、前や後ろを削るのは m_adj() でいいんだが、mbuf(9) のマニュアルを読んでも後ろに伸ばすのだけよく分からん。
とりあえず branch に commit。
o 梅雨入り前の掃除をしたり。
o 平城京の十条大路が発掘で確認されたとな。
o 梅雨入りらしい。
o ucom(4) の送信側は直接 map できそうだが、受信側は 1文字ずつ処理しないといけないのであまり軽くならなさそう。
o usb(4) いじり。とりあえず各ドライバが動くようにした(テストしてないけど)。
o uaudio(4) を、でっち上げ mbuf(9) を使うように書き換えてメモリコピーを排除。 isochronous 転送が動いてるのかどうか不明。
o usb(4) いじり。 current の変更をふにふにと拾い上げ。無駄な仕事を増やしやがって…。
attach まわりも変わっているけどどうしよう…。
o 健康診断の問診。あまり(?)問題なし。
o usb(4) いじり。attach まわりの変更をふにふにと拾い上げ。FreeBSD 関連のコードはよく分からないけどテキトーに変更。
o ニセ。知財まわりでしてやられる(汗)。
o なんか眠い…。
o HEAD で更新されたファイルをそのまま branch に持ってくるのは tag し直せばいいのかな…。
o usb(4) いじり。current にだいたい追い付く。
o branch を移動して trank のリビジョンを指すようにしたいんだけど、動かないな…。 ソースを読むと tag -B が使えるみたいだが…。
ふる〜い cvs にパスが通っていた…。
-r-xr-xr-x 1 root wheel 462848 Oct 25 2000 /usr/pkg/bin/cvs
いつのだ。
o usb(4) いじり。FreeBSD の USB Ethernet で何をやっているのかと思ったら、 mbuf と一緒に ifp と関数ポインタを渡すために、構造体を作ってそのポインタを、 本来 ifp を入れるべき所に入れて渡しているらしい。これはひどい。
つか xfer ごとの callback を usb_task で実行すれば済むんじゃないのか? というわけで代りに勝手に実装。
つか splimp() (NetBSD 的に言えば splnet())が USB の割込みをブロックすればいいのに…。
o usb(4) いじり。ちょっくら他の BSD のコードをチェックして更新を始めたら全然終わらなく…(汗)。
o axe(4) の AX88178/AX88772 を殴り書き。でもテストできない。
いろいろデバイスを追加していたが、uplcom(4) はよく分かんないな。
o axe(4) をちょっと見直したらバグバグだった。直したつもり。 デバイスが無いからテストはしない。
o Zaurus でセルフコンパイルしたり。 大文字小文字の区別が無くてハマったり、メモリ不足でターミナルが死んでハマったり。
o sort(1) で +n や -k -k n-1 でフィールドを指定して、かつ -t で区切り文字を指定しないときに、 ソート結果がおかしい気がする。
-t を使わない時は区切りに blank space がいくつあってもいいのだが、 フィールドの前にその blank space 列がくっついたままソートされているような感じ。
o termcap(3) の tgetstr() で取得した文字列は tputs() で表示しないとだめよ(誰に言ってる)。
o ニイニイゼミが鳴いている。
o 未明。暑くて目が覚めた…。
o ふとボロマシン(OHCI 付き)で cdce(4) を試してみた。動かなかった(汗)。
o ふと受話器を上げたらひかり電話用 VoIP アダプタ(AD-100SE)のファーム更新通知が。 CTU を PPPoE で使っていても自動ファーム更新が来るようになったのね。 ***11 で更新。
01.20 (Fri Aug 4 18:47:38 JST 2006) から
01.51 (Mon Apr 23 10:37:19 JST 2007) になった。
ログを見たら
2007/05/16 09:33:45 自動バージョンアップを検知[0151]
この時点で来ていたらしい。気付けよ。