2005年10月8日 (土曜日)

10:02:56 # Life alsaとbt87xでまだ試行錯誤. arecord -D hw:1,1 -r 119466 -f S16_LE -t wav /tmp/a.wav として,arecordで音が録音できることは確認した.モノラルではあるが,けっこうきれいな音が出る. ecasound -i alsaplugin,1,1,0 -o alsaplugin,0,0,0として操作すると, 44100で操作しようとする.なんとなくステレオで処理してしまうようだ. ALSA sound/pci/bt87x.c:288: internal RISC error, status 0x40044008 というメッセージが出て,それからデバイスが使えなくなってしまう.

$ arecord -D hw:1,1 -r 119466 -f S16_LE -t wav /tmp/a.wav
Recording WAVE '/tmp/a.wav' : Signed 16 bit Little Endian, Rate 119466 Hz, Mono
arecord: pcm_read:1252: read error: Input/output error
	

11:41:53 # Life Xorgのデバッグをしてみようと思いたった. startx -- -config xorg.conf :2 と言うように指定すれば任意の設定ファイルでXorgを起動できるはず. noaccel yesをはずして起動したところ,べつに即クラッシュはしていない,とおもって, gdmを起動したらログイン画面を描画する途中でハングして ダメだった. 6.8.99.900.dfsg.1-0pre1を試すべきかなぁ,と思い, xorgのCVSレポジトリをチェックアウトすると, debian パッケージになっていない部分で結構変更が加わっているようだった. ここでexperimentalのパッケージをいれても特によいことは無いだろう,と判断.

12:17:06 # Life 関西オープンソースの懇親会の申込が始まっていた. とりあえずクリックして登録. もうすぐ,いろんな人に会えるのが楽しみですね.

17:43:25 # Life amd64上で,x86のchrootを管理する方法を調べた. 実は簡単だった.灯台もとくらし. IRCでMithrandirに教えてもらって,びっくり. pbuilder create --distribution sid --debootstrapopts "--arch=i386" --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://ftp.jp.debian.org/debian しかし,このままpbuilderを使うと,linux32をよんでいないので,64bit だと思ってしまう. uname -a の出力は Linux dancer64 2.6.14-rc3dancer-gedb4a353 #1 Fri Oct 7 10:59:13 JST 2005 x86_64 GNU/Linux となっている. sbuildはdpkg-buildpackageをlinux32経由で呼んでいるらしい.

19:31:33 # Life ibookg4でUSB無線LANデバイスを使えるようにしてみる. 無線LANデバイスはUSBの Bus 003 Device 006: ID 2c02:14ea. 製品名でいうと,Planex GW-US11H. linux-wlan-ng-sourceパッケージをインストールしてがんばってみた. /home/dancer/modules/ 以下に /usr/src/linux-wlan-ng-source.tar.gzを展開 make-kpkg --rootcmd fakeroot --revision Custom1.2.wireless kernel-image modules-imageを実行. 現在使用している 2.6.9 カーネルをビルドしようとしたらエラーが出た. gcc-4.0になった影響か,linux-kernel-headersの影響か.

make[2]: `arch/ppc/kernel/asm-offsets.s' is up to date.
  CC      init/main.o
In file included from include/asm/setup.h:8,
                 from include/asm/machdep.h:8,
                 from include/asm/irq.h:6,
                 from include/asm/hardirq.h:8,
                 from include/linux/hardirq.h:6,
                 from include/asm-generic/local.h:6,
                 from include/asm/local.h:4,
                 from include/linux/module.h:21,
                 from init/main.c:16:
include/asm-m68k/setup.h:365: error: array type has incomplete element type
In file included from include/linux/skbuff.h:30,
                 from include/linux/security.h:34,
                 from init/main.c:36:
include/net/checksum.h: In function 'csum_and_copy_to_user':
include/net/checksum.h:47: warning: pointer targets in passing argument 1 of 'csum_partial' differ in signedness
In file included from include/linux/security.h:34,
                 from init/main.c:36:
include/linux/skbuff.h: In function 'skb_add_data':
include/linux/skbuff.h:1017: warning: pointer targets in passing argument 2 of 'csum_and_copy_from_user' differ in signedness
init/main.c: In function 'maxcpus':
init/main.c:149: warning: pointer targets in passing argument 2 of 'get_option' differ in signedness
make[2]: *** [init/main.o] Error 1
make[1]: *** [init] Error 2
make[1]: Leaving directory `/home/dancer/shared/2.6.9/kernel-source-2.6.9'
make: *** [stamp-build] Error 2
	

327794によると, linux-wlan-ngはカーネル側にPCMCIAサポートが無いと,ビルドできないらしい. PCMCIAが無いシステムもあるので,それを要求されても困るといえば困る.

最新のgit版のカーネルでコンパイルしようとしたら,332752にひっかかった.最近URB_ASYNC_UNLINKというのがなくなったらしい. カーネル 2.6.12 では無事にビルドできた. ただ,linux-wlan-ngパッケージの最新版がpowerpcにない(builddでビルド失敗していた)ため インストールできなかった. 仕方が無いので,apt-get sourceしてソースからdebuildしてパッケージを作成, できたlinux-wlan-ngパッケージをインストールした.

無事にprism2カードが認識された.

$ lsusb
Bus 004 Device 002: ID 2c02:14ea
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
$ dmesg
	  .
	  .
usb 4-1: new full speed USB device using ohci_hcd and address 2
prism2usb_init: prism2_usb.o: 0.2.2 Loaded
prism2usb_init: dev_info is: prism2_usb
usbcore: registered new driver prism2_usb
	
# wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable
message=lnxreq_ifstate
  ifstate=enable
  resultcode=success
# wlanctl-ng wlan0 lnxreq_autojoin ssid=any authtype=opensystem
message=lnxreq_autojoin
  ssid='any'
  authtype=opensystem
  resultcode=success
	
Junichi Uekawa

$Id: dancer-diary.el,v 1.89 2005/05/12 11:19:14 dancer Exp $