« サイクリング+ハイキング高尾山 (5/6) | トップページ | 「解決編」 Linux Zaurusに LAN経由でのシンクロナイズ同期を設定で、サスペンドからの復旧で不具合。 (5/7) »

2006.05.06

Linux Zaurusに LAN経由でのシンクロナイズ同期を設定(続き) サスペンドからの復旧で不具合 (5/6)

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 ではエラーになります。

「別の記事」に解決方法をまとめます。


|

« サイクリング+ハイキング高尾山 (5/6) | トップページ | 「解決編」 Linux Zaurusに LAN経由でのシンクロナイズ同期を設定で、サスペンドからの復旧で不具合。 (5/7) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/49099/9926929

この記事へのトラックバック一覧です: Linux Zaurusに LAN経由でのシンクロナイズ同期を設定(続き) サスペンドからの復旧で不具合 (5/6):

» 「解決編」 Linux Zaurusに LAN経由でのシンクロナイズ同期を設定で、サスペンドからの復旧で不具合。 (5/7) [雑木林とコンピュータ]
5/6の記事で書いた Linux ザウルスをサスペンドから復帰させたときに「ネッ [続きを読む]

受信: 2006.05.07 01:34

« サイクリング+ハイキング高尾山 (5/6) | トップページ | 「解決編」 Linux Zaurusに LAN経由でのシンクロナイズ同期を設定で、サスペンドからの復旧で不具合。 (5/7) »