Linux側からZaurusへ

 Zaurusアプリケーションを開発するためにLinuxからZaurusに接続することを考える。Kernelモジュールからusbnet.cを引っぱり出してきてコンパイルする。ところが、crc32_leの関数が定義されていなかったため、警告がでる。バイナリは出来ていたので、


#/sbin/insmod usbnet.o

 とやってみたのだが、crc32_leのシンボルが見つからないらしく、エラーが出ている。
 
 色々調べてみた結果、自分の持っているカーネルではcrc32_le(0,data,length)ではなくether_crc_le(length,data)となっているようだ。usbnet.cの中ではcrc32_leは一回しか使っていなかったので、そこだけ書き換えてコンパイルすると無事にコンパイルでき、usb0として認識した。
 
 次に、usb0にIPアドレスを割り振る。Zaurus側のUSBは192.168.129.201と割り振られているので、PC側のUSBにこれと通信できるようにIPを割り振る。

# /sbin/ifconfig usb0 192.168.129.2 netmask 255.255.255.0
# /sbin/ifconfig usb0
usb0 Link encap:Ethernet HWaddr 32:0C:2B:FC:AE:38
inet addr:192.168.129.2 Bcast:192.168.129.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:178 errors:12 dropped:0 overruns:0 frame:1
TX packets:152 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:44620 (43.5 Kb) TX bytes:15746 (15.3 Kb)

 この状態でPCとZaurusが繋がったことになる。
 
 最後にsmbmountを使って、ZaurusをPCにマウントする。

# mount -t smbfs -o iocharset=euc-jp //192.168.129.201/home /mnt/zaurus/

 これで、PC側でZaurusのファイルにアクセス出来るようになる。
 次はQtopiaアプリでもコンバイルして見ますかね。