5/7 0:05 ごめんなさい。下記の解決法ではダメでした。別途「解決編」を掲載。
5/6 20:15 追加:暫定的な解決法を掲載
Linux Zaurus (私の場合 SL-C3200)に LAN経由でのシンクロ同期を設定してあげるには、Linux Zaurus側で「ifconfig wlan0 add 192.168.129.201」(無線LANの場合は wlan0, 有線LANの場合は eth0 )と入力してあげればよく、自動的に ifconfig を実行する場所として /etc/pcmcia/network や /etc/pcmcia/network.opts に ifconfig を書いていたのですが、そうすると不具合が発生するようです。まだちゃんと調べていないのですが。
サスペンドから復旧した際に、ネットワークアダプタ(例:無線LANで wlan0 の場合)に「192.168.129.201」のIPアドレスだけは割り当てられるものの、本来の自宅LAN用のIPアドレス(192.168.0.xxx)が割り当てられず、そのため自宅LANに接続できなくなってしまうのです。以下はその際の ifconfig コマンドの実行結果。無線LAN(wlan0)に「自宅LAN」のIPアドレス(192.168.0.xxx) が割り当てられていません。
~$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:516 (516.0 b) TX bytes:516 (516.0 b)
wlan0 Link encap:Ethernet HWaddr 00:07:40:7C:15:E1
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7339 errors:0 dropped:0 overruns:0 frame:0
TX packets:19564 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:633241 (618.3 Kb) TX bytes:711931 (695.2 Kb)
Interrupt:135
wlan0:0 Link encap:Ethernet HWaddr 00:07:40:7C:15:E1
inet addr:192.168.129.201 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:135
~$
再起動時には両方のIPアドレス「192.168.0.xxx」と「192.168.129.201」が割り当てられるので問題ないのですが、サスペンドからの復旧時に不具合が発生するようです。
以下は再起動時の ifconfig コマンドの実行結果。wlan0に正しく2つIPアドレスが割り当てられています。
~$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:172 (172.0 b) TX bytes:172 (172.0 b)
wlan0 Link encap:Ethernet HWaddr 00:07:40:7C:15:E1
inet addr:192.168.0.*** Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:71 errors:0 dropped:0 overruns:0 frame:0
TX packets:78 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:5484 (5.3 Kb) TX bytes:4480 (4.3 Kb)
Interrupt:135
wlan0:0 Link encap:Ethernet HWaddr 00:07:40:7C:15:E1
inet addr:192.168.129.201 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:135
~$
/etc/pcmcia/network や /etc/pcmcia/network.ops から「ifconfig wlan0 add 192.168.129.201」の行を削除すると、サスペンドからの復旧時にも自宅LAN用のIPアドレス「192.168.0.xxx」が無事に割り当てられるのですが。
単にPCMCIAに無線LANカードを差し込んでから「ifconfig wlan0 add 192.168.129.201」をどこで実行するかという「タイミングの問題」だと思われるので、ちょっとLinuxのネットワークの動作について調べてみます。
最悪の場合は、「ifconfig wlan0 add 192.168.129.201」を実行するシェルスクリプトとアイコンを作って、シンクロ同期のたびにメニューから手動で実行すると (^^;
過去記事:雑木林とコンピュータ: Linux Zaurusに LAN経由でのシンクロ同期を設定
http://d-k.cocolog-nifty.com/blog/2006/05/linux_zaurus_la_f676.html
■5/6 20:15 追記: 暫定的な解決策
以下の方法では解決しませんでした。ごめんなさい。「別の記事」にまとめ直します。
暫定的な解決方法は以下のとおりにしてしまいました。
Linux ザウルスのサスペンド・レジュームからの復帰時にネットワークへ接続するためには「手動」でタスクトバーの小さい「地球儀」アイコンをクリックする必要があります。
小さい小さい「地球儀」アイコンを(スタイラスのない場合など)いちいちクリックするのは面倒なので、メニューにネットワーク接続を行うシェルスクリプトを起動する「Network Connect」というアイコンを作成して登録してあります。
私の場合サスペンド・レジュームからの復帰時にネットワークへ接続をするには、どっちにしろ「手動」で「Network Connect」アイコンをクリックする必要があるので、アイコンから起動されるシェルスクリプト (network_connect.sh) の中に「ifconfig wlan0 add 192.168.129.201」も記述してしまいました。
~$ cat /home/QtPalmtop/bin/network_connect.sh
#!/bin/sh
netctl -c WLAN0
ifconfig wlan0 add 192.168.129.201
~$
※:
netctl は「ネットワーク接続」を行ってくれるコマンドラインのソフトです。
以上です。暫定的ですが。上記の方法では解決しませんでした。
理由は
- ifconfig add コマンドは一般ユーザ権限(ユーザ名:zaurus)では動作せず、root で実行する必要があります。
- 一方 netctl コマンドは一般ユーザ権限でないと動作せず、root ではエラーになります。
「別の記事」に解決方法をまとめます。