○wlan-prism3_1.0.0-B_arm.ipk インストール時の不具合の調査 ===================================================================================== wlan-prism3_1.0.0-B_arm.ipk によりインストールされるファイルのリスト data.tar.gz ------------------------------------------------------------------------------------- -rwxr-xr-x root/root 313 2005-03-10 13:23:38 etc/pcmcia/prism3.conf -rwxr-xr-x root/root 7111 2005-04-13 18:44:13 etc/pcmcia/network -rwxr-xr-x root/root 6348 2005-04-05 15:49:34 etc/pcmcia/wlan-ng -rwxr-xr-x root/root 6195 2005-03-10 13:23:52 etc/pcmcia/wlan-ng.conf -rwxr-xr-x root/root 16674 2005-03-15 15:39:42 etc/wlan/shared -rwxr-xr-x root/root 4034 2005-03-02 15:37:48 etc/wlan/shared.prism2 -rwxr-xr-x root/root 15548 2005-03-02 09:51:18 etc/wlan/prism2_af.hex -rwxr-xr-x root/root 15508 2005-03-02 09:51:18 etc/wlan/prism2_ak.hex -rwxr-xr-x root/root 15552 2005-03-02 09:51:18 etc/wlan/prism2_pm.hex -rwxr-xr-x root/root 166748 2005-03-02 09:51:18 etc/wlan/prism2_r1.hex -rwxr-xr-x root/root 185980 2005-03-02 09:51:18 etc/wlan/prism2_rf.hex -rwxr-xr-x root/root 181348 2005-03-02 09:51:18 etc/wlan/prism2_ru.hex -rwxr-xr-x root/root 273 2005-03-02 09:51:24 etc/wlan/prism2_ssf.pda -rwxr-xr-x root/root 2797 2005-04-05 15:51:22 etc/wlan/wlan-setup -rwxr-xr-x root/root 3029 2005-04-05 15:52:04 etc/wlan/wlan.conf -rwxr-xr-x root/root 1826 2005-01-01 00:09:14 etc/wlan/wlancfg-DEFAULT -rwxr-xr-x root/root 41 2005-04-07 14:57:59 etc/wlan/qpe-scansetup -rwxr-xr-x root/root 39250 2005-03-16 16:14:52 lib/modules/2.4.18-rmk7-pxa3-embedix/net/p80211.o -rwxr-xr-x root/root 97900 2005-03-16 16:14:52 lib/modules/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o -rwxr-xr-x root/root 159577 2005-04-14 14:00:00 opt/QtPalmtop/plugins/network/libwlan.so.1.2.0 -rw-r--r-- root/root 222 2005-03-10 19:21:33 opt/QtPalmtop/etc/inetwizard/devices/gw-cf11xzc.conf -rw-r--r-- root/root 168 2005-03-10 19:21:33 opt/QtPalmtop/etc/inetwizard/devices/wn-b11cfz.conf -rwxr-xr-x root/root 40236 2005-04-07 15:45:32 usr/sbin/prism2dl -rwxr-xr-x root/root 77388 2005-04-07 15:45:32 usr/sbin/wlancfg -rwxr-xr-x root/root 77316 2005-04-07 15:45:32 usr/sbin/wlanctl-ng -rwxr-xr-x root/root 73172 2005-04-07 15:45:32 usr/sbin/wland ------------------------------------------------------------------------------------- ===================================================================================== wlan-prism3_1.0.0-B_arm.ipk の postrm スクリプトファイルの内容 ------------------------------------------------------------------------------------- #!/bin/sh tar xf /root/.home_default.tar -C / \ home/etc/pcmcia/wlan-ng.conf \ home/etc/pcmcia/wlan-ng \ home/etc/pcmcia/network ln -s /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o \ /lib/modules/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o ln -s /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/net/p80211.o \ /lib/modules/2.4.18-rmk7-pxa3-embedix/net/p80211.o /sbin/depmod -a exit 0 ------------------------------------------------------------------------------------- ===================================================================================== 工場出荷時に元々存在し、wlan-prism3_1.0.0-B_arm.ipk のインストール時に上書きされる ファイルのチェック結果(簡単なシェルスクリプトを作成しチェック) ・No such file or directory は工場出荷時に元々存在しないファイル ・それ以外は、工場出荷時に元々存在し、wlan-prism3_1.0.0-B_arm.ipk のインストール時に上書きされるファイル ------------------------------------------------------------------------------------- ls: /etc/pcmcia/prism3.conf: No such file or directory -rwxr-xr-x 1 root root 7009 Apr 15 2003 /etc/pcmcia/network -rwxr-xr-x 1 root root 9265 Dec 14 2007 /etc/pcmcia/wlan-ng -rwxr-xr-x 1 root root 5343 Oct 10 2003 /etc/pcmcia/wlan-ng.conf -rw-r--r-- 1 root root 3062 May 20 2002 /etc/wlan/shared ls: /etc/wlan/shared.prism2: No such file or directory ls: /etc/wlan/prism2_af.hex: No such file or directory ls: /etc/wlan/prism2_ak.hex: No such file or directory ls: /etc/wlan/prism2_pm.hex: No such file or directory ls: /etc/wlan/prism2_r1.hex: No such file or directory ls: /etc/wlan/prism2_rf.hex: No such file or directory ls: /etc/wlan/prism2_ru.hex: No such file or directory ls: /etc/wlan/prism2_ssf.pda: No such file or directory ls: /etc/wlan/wlan-setup: No such file or directory ls: /etc/wlan/wlan.conf: No such file or directory ls: /etc/wlan/wlancfg-DEFAULT: No such file or directory ls: /etc/wlan/qpe-scansetup: No such file or directory lrwxrwxrwx 1 root root 54 Jan 1 1970 /lib/modules/2.4.18-rmk7-pxa3-embedix/net/p80211.o -> /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/net/p80211.o lrwxrwxrwx 1 root root 60 Jan 1 1970 /lib/modules/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o -> /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o lrwxrwxrwx 1 root root 51 Jan 1 1970 /opt/QtPalmtop/plugins/network/libwlan.so.1.2.0 -> /usr/QtPalmtop.rom/plugins/network/libwlan.so.1.2.0 ls: /opt/QtPalmtop/etc/inetwizard/devices/gw-cf11xzc.conf: No such file or directory ls: /opt/QtPalmtop/etc/inetwizard/devices/wn-b11cfz.conf: No such file or directory ls: /usr/sbin/prism2dl: No such file or directory ls: /usr/sbin/wlancfg: No such file or directory ls: /usr/sbin/wlanctl-ng: No such file or directory ls: /usr/sbin/wland: No such file or directory ------------------------------------------------------------------------------------- ===================================================================================== 上記のファイルリストを出力するため作成したシェルスクリプト なお、SL-Zaurus の grep コマンド(busybox)のバグ(-v、--revert-match が使用できない)ため 一発で、工場出荷時に元々存在し、wlan-prism3_1.0.0-B_arm.ipk のインストール時に上書きされる ファイルの一覧を出力することは断念した 【使い方】 wlan-prism3_1.0.0-B_arm.ipk インストールパッケージと同じディレクトリに下記のシェルスクリプト (ここではファイル名を check.sh とした)を置き実行する bash-2.05$ ls wlan-prism3_1.0.0-B_arm.ipk wlan-prism3_1.0.0-B_arm.ipk bash-2.05$ ./check.sh : : 上記のファイルリストが出力される : bash-2.05$ ------------------------------------------------------------------------------------- #!/bin/sh TARGET_FILE_NAME=wlan-prism3_1.0.0-B_arm.ipk TEMP_FILE_NAME=temp.txt if [ -e $TARGET_FILE_NAME ] then tar -xzOf ./$TARGET_FILE_NAME ./data.tar.gz | tar -zt > $TEMP_FILE_NAME while read line; do ls -dl /$line # ls -dl /$line | grep -v 'No such file or directory' done < ./$TEMP_FILE_NAME else echo "$TARGET_FILE_NAME file is not found." exit 1 fi rm ./$TEMP_FILE_NAME exit 0 ===================================================================================== 工場出荷時に元々存在し、wlan-prism3_1.0.0-B_arm.ipk のインストール時に上書きされる ファイルの一覧 ------------------------------------------------------------------------------------- -rwxr-xr-x 1 root root 7009 Apr 15 2003 /etc/pcmcia/network -rwxr-xr-x 1 root root 9265 Dec 14 2007 /etc/pcmcia/wlan-ng -rwxr-xr-x 1 root root 5343 Oct 10 2003 /etc/pcmcia/wlan-ng.conf -rw-r--r-- 1 root root 3062 May 20 2002 /etc/wlan/shared lrwxrwxrwx 1 root root 54 Jan 1 1970 /lib/modules/2.4.18-rmk7-pxa3-embedix/net/p80211.o -> /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/net/p80211.o lrwxrwxrwx 1 root root 60 Jan 1 1970 /lib/modules/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o -> /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o lrwxrwxrwx 1 root root 51 Jan 1 1970 /opt/QtPalmtop/plugins/network/libwlan.so.1.2.0 -> /usr/QtPalmtop.rom/plugins/network/libwlan.so.1.2.0 ------------------------------------------------------------------------------------- ===================================================================================== 工場出荷時に元々存在し、wlan-prism3_1.0.0-B_arm.ipk のインストール時に上書きされ、 アンインストール時に postrm スクリプトにより復旧されるファイル ------------------------------------------------------------------------------------- -rwxr-xr-x 1 root root 7009 Apr 15 2003 /etc/pcmcia/network -rwxr-xr-x 1 root root 9265 Dec 14 2007 /etc/pcmcia/wlan-ng -rwxr-xr-x 1 root root 5343 Oct 10 2003 /etc/pcmcia/wlan-ng.conf lrwxrwxrwx 1 root root 54 Jan 1 1970 /lib/modules/2.4.18-rmk7-pxa3-embedix/net/p80211.o -> /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/net/p80211.o lrwxrwxrwx 1 root root 60 Jan 1 1970 /lib/modules/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o -> /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o ------------------------------------------------------------------------------------- ===================================================================================== 工場出荷時に元々存在し、wlan-prism3_1.0.0-B_arm.ipk のインストール時に上書きされ、 アンインストール時に postrm スクリプトにより復旧されないファイル ------------------------------------------------------------------------------------- -rw-r--r-- 1 root root 3062 May 20 2002 /etc/wlan/shared lrwxrwxrwx 1 root root 51 Jan 1 1970 /opt/QtPalmtop/plugins/network/libwlan.so.1.2.0 -> /usr/QtPalmtop.rom/plugins/network/libwlan.so.1.2.0 ------------------------------------------------------------------------------------- ===================================================================================== wlan-prism3_1.0.0-B_arm.ipk の postrm の修正案 /etc/wlan/shared /opt/QtPalmtop/plugins/network/libwlan.so.1.2.0 -> /usr/QtPalmtop.rom/plugins/network/libwlan.so.1.2.0 のリカバリーを追加 ------------------------------------------------------------------------------------- #!/bin/sh tar xf /root/.home_default.tar -C / \ home/etc/pcmcia/wlan-ng.conf \ home/etc/pcmcia/wlan-ng \ home/etc/pcmcia/network \ home/etc/wlan/shared ln -s /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o \ /lib/modules/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o ln -s /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/net/p80211.o \ /lib/modules/2.4.18-rmk7-pxa3-embedix/net/p80211.o ln -s /usr/QtPalmtop.rom/plugins/network/libwlan.so.1.2.0 \ /opt/QtPalmtop/plugins/network/libwlan.so.1.2.0 /sbin/depmod -a exit 0 ===================================================================================== 【参考】wlan-prism3_1.0.0-B_arm.ipk の情報 自作の簡単なシェルスクリプトで出力 wlan-prism3_1.0.0-B_arm.ipk ===================================================================================== ipk root ------------------------------------------------------------------------------------- -rw-r--r-- root/root 4 2005-03-02 16:36:26 ./debian-binary -rw-r--r-- root/root 374120 2005-04-14 14:04:14 ./data.tar.gz -rw-r--r-- root/root 674 2005-04-14 14:04:14 ./control.tar.gz control.tar.gz ------------------------------------------------------------------------------------- -rw-r--r-- root/root 226 2005-04-12 16:34:29 ./control -rwxr-xr-x root/root 386 2005-04-07 15:27:55 ./preinst -rwxr-xr-x root/root 402 2005-04-14 14:01:39 ./postrm data.tar.gz ------------------------------------------------------------------------------------- -rwxr-xr-x root/root 313 2005-03-10 13:23:38 etc/pcmcia/prism3.conf -rwxr-xr-x root/root 7111 2005-04-13 18:44:13 etc/pcmcia/network -rwxr-xr-x root/root 6348 2005-04-05 15:49:34 etc/pcmcia/wlan-ng -rwxr-xr-x root/root 6195 2005-03-10 13:23:52 etc/pcmcia/wlan-ng.conf -rwxr-xr-x root/root 16674 2005-03-15 15:39:42 etc/wlan/shared -rwxr-xr-x root/root 4034 2005-03-02 15:37:48 etc/wlan/shared.prism2 -rwxr-xr-x root/root 15548 2005-03-02 09:51:18 etc/wlan/prism2_af.hex -rwxr-xr-x root/root 15508 2005-03-02 09:51:18 etc/wlan/prism2_ak.hex -rwxr-xr-x root/root 15552 2005-03-02 09:51:18 etc/wlan/prism2_pm.hex -rwxr-xr-x root/root 166748 2005-03-02 09:51:18 etc/wlan/prism2_r1.hex -rwxr-xr-x root/root 185980 2005-03-02 09:51:18 etc/wlan/prism2_rf.hex -rwxr-xr-x root/root 181348 2005-03-02 09:51:18 etc/wlan/prism2_ru.hex -rwxr-xr-x root/root 273 2005-03-02 09:51:24 etc/wlan/prism2_ssf.pda -rwxr-xr-x root/root 2797 2005-04-05 15:51:22 etc/wlan/wlan-setup -rwxr-xr-x root/root 3029 2005-04-05 15:52:04 etc/wlan/wlan.conf -rwxr-xr-x root/root 1826 2005-01-01 00:09:14 etc/wlan/wlancfg-DEFAULT -rwxr-xr-x root/root 41 2005-04-07 14:57:59 etc/wlan/qpe-scansetup -rwxr-xr-x root/root 39250 2005-03-16 16:14:52 lib/modules/2.4.18-rmk7-pxa3-embedix/net/p80211.o -rwxr-xr-x root/root 97900 2005-03-16 16:14:52 lib/modules/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o -rwxr-xr-x root/root 159577 2005-04-14 14:00:00 opt/QtPalmtop/plugins/network/libwlan.so.1.2.0 -rw-r--r-- root/root 222 2005-03-10 19:21:33 opt/QtPalmtop/etc/inetwizard/devices/gw-cf11xzc.conf -rw-r--r-- root/root 168 2005-03-10 19:21:33 opt/QtPalmtop/etc/inetwizard/devices/wn-b11cfz.conf -rwxr-xr-x root/root 40236 2005-04-07 15:45:32 usr/sbin/prism2dl -rwxr-xr-x root/root 77388 2005-04-07 15:45:32 usr/sbin/wlancfg -rwxr-xr-x root/root 77316 2005-04-07 15:45:32 usr/sbin/wlanctl-ng -rwxr-xr-x root/root 73172 2005-04-07 15:45:32 usr/sbin/wland control file ------------------------------------------------------------------------------------- Package: wlan-prism3 Filename: ./wlan-prism3_1.0.0-B_arm.ipk Version: 1.0.0-B Priority: optional Section: system Architecture: arm InternalOnly: yes NeedRestart: linux Description: linux-wlan-ng 0.2.1pre25 driver for SL-C860. preinst file ------------------------------------------------------------------------------------- #!/bin/sh # m_slc=$(cat /proc/deviceinfo/product) if [ "$m_slc" = "SL-C860" ]; then m_rev=$(cat /proc/deviceinfo/revision) if [ "$m_rev" != "1.40" ]; then echo "This ipkg can apply to version 1.40 only." exit 1 else exit 0 fi elif [ "$m_slc" != "SL-C760" -a "$m_slc" != "SL-C750" ]; then echo "This ipkg is not for $m_slc." exit 1 else exit 0 fi postinst file ------------------------------------------------------------------------------------- prerm file ------------------------------------------------------------------------------------- postrm file ------------------------------------------------------------------------------------- #!/bin/sh tar xf /root/.home_default.tar -C / \ home/etc/pcmcia/wlan-ng.conf \ home/etc/pcmcia/wlan-ng \ home/etc/pcmcia/network ln -s /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o \ /lib/modules/2.4.18-rmk7-pxa3-embedix/pcmcia/prism2_cs.o ln -s /lib/modules.rom/2.4.18-rmk7-pxa3-embedix/net/p80211.o \ /lib/modules/2.4.18-rmk7-pxa3-embedix/net/p80211.o /sbin/depmod -a exit 0