ページ 1 / 3
ネットワークウィザードの改良(net-setup)
Posted: 10/02/24(水) 10:55
by シノバー
WPA-AESをサポートする試みがあります。
viewtopic.php?f=27&t=2451 日本語版パピー 571JPにはさらに修正されたものが組み込まれています。
本家版5.x系の最新パピーには次のものが組み込まれています。
ftp://distro.ibiblio.org/quirky/pet_pac ... 121101.pet
2011年10月25日:更新
Barryさんからの
net_setup-20111016.pet が最新版になります。
http://bkhome.org/blog/?viewDetailed=02557
2010年3月10日: 更新しました。
net-setup-20100310.pet を
こちらから
2010年3月7日: 更新しました。
net-setup-20100307.pet を
こちらから
2010年2月25日: 改良したネットワークウィザードをアップしました。
net-setup-20100225.pet を
こちらから
詳細:
viewtopic.php?f=28&t=1679&start=30#p12204
viewtopic.php?f=14&t=1656#p12139
あたりからの続きでもありますが……
開発者ブログより
viewtopic.php?f=26&t=1283&p=9647&hilit= ... 3%89#p9647
ひとつ残念なのは、ネットワークウィザードに関して多くのバグレポートが寄せられているのに、我々の中に現在これをメンテナンスする人がいないことです。これはヴァージョン4.4で取り組む必要があるでしょう。
私の記憶が正しければ、二つの主要な問題があります:ワイアレス・ネットワークは二度スキャンする必要があること(having to scan twice for a wireless network)、再起動後に設定が 正しく保持されていない(settings not (properly) remembered between boots)、という問題です。
Barryさんは現在メンテされていないネットワークウィザードに代えて Pwireless2 に期待してるようにも思えます。
私個人的にはネットワークウィザードは使えていますが Pwireless2 のほうは使えてません。なのでこの状況は私には不思議であります。
ネットワークウィザードに関して私自身も感じることは、IP取得に失敗しているのに「成功!」と表示され、その実「169.254.***.***」という意味不明なIPが設定されることです。これは Pwireless2でも同様です。
このあたりについて、少々追いかけてみたいと思います。
その他の関連トピック
無線LANのツールの使い分けは?
viewtopic.php?f=23&t=1062&start=0
設定した「接続」情報を覚えてくれません
viewtopic.php?f=32&t=1405
HOWTO文書
ヘルプ >
HOWTO インターネットに接続するには
保存されるプロファイル
Posted: 10/02/24(水) 13:29
by シノバー
話題を絞ります。まず無線LANに限定します。
viewtopic.php?f=14&t=1656#p12154
↑この例のように手動で設定できるのにネットワークウィザードではできないという場合を主に扱います。
ネットワークウィザードでも
- 無線LANインターフェースが認識できている
- スキャンでアクセスポイントが見つけられる
までできていることとします。
この後、
- プロファイルを編集
- 保存
- このプロファイルを使う
成功すれば
- 自動DHCP
と進めることになります。
(4)のところでプロファイルは
/etc/network-wizard/wireless/profiles/*.conf に保存されます。WPAの場合、同時に
/etc/network-wizard/wireless/wpa_profiles/*.conf というファイルもできます。これらはテキストファイルなので geany などのテキストエディタで確認することができます。
たとえば次のような内容。ESSID, KEY, AP_MACの値は伏せ字にしました。ファイル名の「*」のところはインターフェース(PC上の子機のものではなく、
アクセスポイント側)のMACアドレスと WEP/WPAなど暗号化方式を示すものとなっています。この例は WPA/TKIP。
/etc/network-wizard/wireless/profiles/00:??:??:??:??:01.WPA.conf
コード: 全て選択
TITLE="AirStation"
WPA_DRV="wext"
WPA_TYPE=""
WPA_AP_SCAN="1"
ESSID="68***EF"
NWID=""
KEY="59***12"
MODE="managed"
SECURE="open"
FREQ=""
CHANNEL="11"
AP_MAC="00:??:??:??:??:01"
/etc/network-wizard/wireless/wpa_profiles/00:??:??:??:??:01.WPA.conf
コード: 全て選択
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
update_config=1
network={
ssid="68***EF"
scan_ssid=1
#psk="59***12"
psk=eb***e6
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
また、途中のエラーメッセージなどは
/tmp/network-connect.log や
/tmp/dhcpcd.log などに残されます。
起動時の自動接続の記録は
/tmp/bootsysinit.log にあります。
/var/log/messages にも手がかりがあるかもしれません。
Re: ネットワークウィザード
Posted: 10/02/24(水) 14:11
by みのむし
>ワイアレス・ネットワークは二度スキャンする必要があること
確認しました。
>再起動後に設定が 正しく保持されていない
未確認
但し、ASUS Eee PC 901-16G 動作実績で私が問題にしていたのは出ていないようです。
Re: ネットワークウィザード
Posted: 10/02/24(水) 14:14
by みのむし
シノバーさん、検証ご苦労様です。
>ネットワークウィザードでも
>...
>4. 保存
ここまではOKです。
>5. このプロファイルを使う
ここでおかしくなります。
(多分、この部分にバグが有ります。←バグではありませんでしたが、修正の必要有り)
Re: ネットワークウィザード
Posted: 10/02/24(水) 14:39
by みのむし
>(4)のところでプロファイルは /etc/network-wizard/wireless/profiles
>...
私の環境で調べてみます。
私の環境)
ノートPC ... ASUS Eee PC 901-16G
無線LAN ... PC内蔵 RaLink RT2860 (ドライバ rt2860sta)、WEP40(5文字のASCII文字列 "secky"と仮定)
コード: 全て選択
# cd /etc/network-wizard/wireless
# ls
interfaces profiles wpa_profiles
# cd interfaces
# ls
00:15:AF:XX:XX:XX.conf
(↑一部伏せ字、00:15:AF:XX:XX:XX はクライアントPCのMACアドレス)
# cat 00:15:AF:XX:XX:XX.conf
INT_WPA_DRV=''
USE_WLAN_NG=''
# cd ../profiles
# ls
00:16:01:XX:XX:XX.WEP.conf autoconnect.conf template.conf
(↑00:16:01:XX:XX:XX は無線LANアクセスポイントのMACアドレス )
# cat 00:16:01:XX:XX:XX.WEP.conf
TITLE="001601XXXXXX"
WPA_DRV=""
WPA_TYPE=""
WPA_AP_SCAN=""
ESSID="001601XXXXXX"
NWID=""
KEY="s:secky"
MODE="managed"
SECURE="restricted"
FREQ=""
CHANNEL="11"
AP_MAC="00:16:01:XX:XX:XX"
※すべて正しく設定されていました。
実験その1
Posted: 10/02/24(水) 14:49
by シノバー
ここで /etc/network-wizard/wireless/profiles/*.conf に細工をします。
KEY="59***12" の頭に「#」を入れてコメントアウトします。
#KEY="59***12"
こうすると暗号化キーが与えられませんから、とうぜん失敗します(我が家の無線LANはWPA/TKIP)。
ところが……
改造したプロファイルを読み込むと、もちろん暗号化キーは現れません。かまわず「このファイルを使う」とすると、「パピーは生きているネットワークを見つけられました」と、成功したかに見えます。
続けて「自動DHCP」を実行すると、「ネットワークの設定に成功」!
で、取得した(?)IPですが、「169.254.36.159」……誤っています(我が家のネットワークの場合正しくは 192.168.11.xxx)。
エラーフラグ
Posted: 10/02/24(水) 15:42
by シノバー
シノバー さんが書きました:こうすると暗号化キーが与えられませんから、とうぜん失敗します。
ところが……
改造したプロファイルを読み込むと、もちろん暗号化キーは現れません。かまわず「このファイルを使う」とすると、「パピーは生きているネットワークを見つけられました」と、成功したかに見えます。
この実験は適切ではなかったかな?
ネットワークウィザードよりワイヤレスを選んで「このファイルを使う」とすると、次のようにスクリプトが実行されます。
netsetup.sh 内 configureWireless()
↓
wag-profile.sh 内 showProfilesWindow()
↓
useProfile()
↓
useWpaSupplicant() または useWlanctl() または useIwconfig()
暗号化キーが無いと、最後のところで useWlanctl または useIwconfig が実行されるのですが、この2つの関数ともに、
エラーフラグを返しません(必ず return 0)。
暗号化キーのある場合(WPA/WPA2)に限り useWpaSupplicant() が実行され、この場合は失敗するとエラーフラグを返すようです。
dhcpcdのエラーフラグ
Posted: 10/02/24(水) 16:15
by シノバー
シノバー さんが書きました:続けて「自動DHCP」を実行すると、「ネットワークの設定に成功」!
で、取得した(?)IPですが、「169.254.36.159」……誤っています(我が家のネットワークの場合正しくは 192.168.11.xxx)。
自動DHCPの取得は wag-profile.sh 内 setupDHCP() で dhcpcd を呼ぶことで行われています。
コマンドラインから dhcpcd を実行してみますと……
コード: 全て選択
# dhcpcd -d -I '' ra0 && echo yes || echo no
Info, ra0: dhcpcd 3.1.8 starting
Info, ra0: hardware address = 00:24:a5:58:2b:a4
Info, ra0: broadcasting for a lease
Debug, ra0: sending DHCP_DISCOVER with xid 0x8df422d
Debug, ra0: waiting on select for 20 seconds
Debug, ra0: sending DHCP_DISCOVER with xid 0x8df422d
Debug, ra0: sending DHCP_DISCOVER with xid 0x8df422d
Debug, ra0: sending DHCP_DISCOVER with xid 0x8df422d
Debug, ra0: sending DHCP_DISCOVER with xid 0x8df422d
Debug, ra0: sending DHCP_DISCOVER with xid 0x8df422d
Debug, ra0: sending DHCP_DISCOVER with xid 0x8df422d
Error, ra0: timed out
Info, ra0: trying to use old lease in `/var/lib/dhcpcd/dhcpcd-ra0.info'
Error, ra0: lease information file `/var/lib/dhcpcd/dhcpcd-ra0.info' does not exist
Info, ra0: probing for an IPV4LL address
Debug, ra0: sending ARP probe #1
Debug, ra0: sending ARP probe #2
Debug, ra0: sending ARP probe #3
Debug, ra0: sending ARP claim #1
Debug, ra0: sending ARP claim #2
Warning, ra0: using IPV4LL address 169.254.65.101
Info, ra0: adding IP address 169.254.65.101/16
Debug, ra0: no dns information to write
Debug, ra0: writing /var/lib/dhcpcd/dhcpcd-ra0.info
Debug, ra0: exec "/etc/dhcpcd.sh" "/var/lib/dhcpcd/dhcpcd-ra0.info" "new"
Debug, ra0: forking to background
yes
「ra0」は使用した無線LANインターフェース。「 && echo yes || echo no」は返されたフラグによって「yes」あるいは「no」を印字させようとするものです。
結果は「yes」なので、エラー「なし」がフラグとして返されています。
上記を見ると「
Error, ra0: timed out」とあって、その後に IPV4LL address として 169.254.65.101 を使ってますね。 IPV4LL address が決定できたのだから結果は
成功ということなんでしょう。
「Warning, ra0: using IPV4LL address 169.254.65.101」とはどういうことなんでしょう?
無線LANの実装上の仕様なのか?(タスクトレイにネットワークのマークが2つ出ますよね)
またこの現象はパピー固有なのか?
dhcpcd 正常動作時のログ
Posted: 10/02/24(水) 16:51
by シノバー
正常時はどのように動作するかというと…
ログを見るために少し手間を掛けます。
- さきほど改変した /etc/network-wizard 以下の (AP Macアドレス).WPA.conf を削除します。
- ネットワークウィザードから正しい手順で無線LANを設定し、保存します。
- デスクトップ上の「接続」アイコンを右クリックし、いったん「ネットワークから切断」します。
- 念のため /tmp/network-connect.log があれば削除しておきます。
- 有線のLANは外しておきます。
- デスクトップ上の「接続」アイコンを右クリックし、「ネットワークに接続」を選びます。
デスクトップ上の「接続」アイコンから起動すると /tmp/network-connect.log にログが残ります。
コード: 全て選択
configuring network interface eth0
cheching if interface eth0 is alive...no
interface eth0 does not seem to be plugged in... skipping
configuring network interface ra0
/usr/sbin/wag-profiles.sh: line 1504: 25490 Terminated gtkdialog3 --program=NETWIZ_Scan_Progress_Dialog <$PROGRESS_OUTPUT
cheching if interface ra0 is alive...yes
or connection...
completed
Info, ra0: dhcpcd 3.1.8 starting
Info, ra0: hardware address = 00:24:a5:58:2b:a4
Info, ra0: broadcasting for a lease
Debug, ra0: sending DHCP_DISCOVER with xid 0x2817a794
Debug, ra0: waiting on select for 20 seconds
Debug, ra0: waiting on select for 20 seconds
Debug, ra0: waiting on select for 20 seconds
Debug, ra0: waiting on select for 20 seconds
Debug, ra0: waiting on select for 20 seconds
Debug, ra0: waiting on select for 19 seconds
Debug, ra0: waiting on select for 19 seconds
Debug, ra0: got a packet with xid 0x2817a794
Info, ra0: offered 192.168.11.34 from 192.168.11.2
Debug, ra0: sending DHCP_REQUEST with xid 0x2817a794
Debug, ra0: waiting on select for 19 seconds
Debug, ra0: waiting on select for 19 seconds
Debug, ra0: got a packet with xid 0x2817a794
Info, ra0: checking 192.168.11.34 is available on attached networks
Debug, ra0: sending ARP probe #1
Debug, ra0: sending ARP probe #2
Debug, ra0: sending ARP probe #3
Debug, ra0: sending ARP claim #1
Debug, ra0: sending ARP claim #2
Info, ra0: leased 192.168.11.34 for 86400 seconds
Debug, ra0: renew in 43200 seconds
Debug, ra0: rebind in 75600 seconds
Info, ra0: adding IP address 192.168.11.34/24
Info, ra0: adding default route via 192.168.11.1 metric 0
Info, ra0: adding route to 169.254.0.0/16 metric 0
Debug, ra0: writing /etc/resolv.conf
Debug, ra0: /etc/ntp.conf already configured, skipping
Debug, ra0: /etc/ntpd.conf already configured, skipping
Debug, ra0: writing /var/lib/dhcpcd/dhcpcd-ra0.info
Debug, ra0: exec "/etc/dhcpcd.sh" "/var/lib/dhcpcd/dhcpcd-ra0.info" "new"
Debug, ra0: forking to background
eth0は繋がってないので、 ra0に取り掛かり、今回は正しく「192.168.11.34」を取得しました。
この場合でも
adding route to 169.254.0.0/16 metric 0
というのが付きますね。よく分からないが、これは仕様なのでしょう。
コード: 全て選択
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.11.0 * 255.255.255.0 U 0 0 0 ra0
169.254.0.0 * 255.255.0.0 U 0 0 0 ra0
default router.nowhere 0.0.0.0 UG 0 0 0 ra0
Re: ネットワークウィザード
Posted: 10/02/24(水) 16:59
by みのむし
>「Warning, ra0: using IPV4LL address
169.254.65.101」とはどういうことなんでしょう?
5) IPアドレスの種類について
その後、色々調べて /etc/modprobe.conf に
alias ra0 rt2860sta
を追記してみましたが、ESSID に何も設定されていない状況は変わりませんでした。
Re: ネットワークウィザード
Posted: 10/02/24(水) 17:39
by みのむし
>正常時はどのように動作するかというと…
>...
追試してみましたが、
/tmp/network-connect.log
が保存されていないので確認できませんでした。
私の実行手順)
・/etc/modprobe.conf に以下の行を追記。
alias ra0 rt2860sta
・デスクトップ「接続」アイコンをクリックして
「ネットワーク 又は 無線 LAN でインターネット...」の右のアイコンをクリック
・[ra0]をクリック
・[ワイヤレス]をクリック
・(以前の設定があれば[読み込]んで[削除])
・[スキャン]をクリックして、接続先の無線LANアクセスポイントを選択
・無線セキュリティ(暗号化)を選択して設定し、保存
・[このプロファイルを使う]をクリック
(↑これは何処で実行しているのでしょうか
)
ここで別の端末を開いて
コード: 全て選択
# iwconfig ra0
(ESSID が設定)されていないので
# iwconfig ra0 essid "<ESSID>"
# iwconfig ra0
(ESSID が正しく設定されている事を確認して戻る)
・[自動 DHCP]をクリック
・[Yes]をクリック
・[完了]をクリックして終了。
※この手順で ra0 に正しくIPアドレスが取得出来、インターネット接続OK。
実験その2
Posted: 10/02/24(水) 17:54
by シノバー
きの
KEY=" をコメントアウトするのは適当ではなかったので、 KEYの内容を一部書き換えてみました。
まず /etc/network-wizard/wireless/profiles/*.WPA.conf の
KEY="59***12"
↓
KEY="
49***12"
と、1文字書き換えます(16進数字であること)
これでデスクトップ上の「接続」アイコンで「ネットワークから切断」、「ネットワークに接続」。
……あれ?正常に繋がるではないですか。
この場合 profiles/*.WPA.conf の KEYは見てなくて、 wpa_profiles/*.WPA.conf の
psk を使っているようです。
そこで wpa_profiles/*.WPA.conf をいったん削除します。
ネットワークウィザードを立ち上げ、改変したプロファイルを読み込みそのまま保存すると、改変された暗号化キーに応じた psk が wpa_profiles/*.WPA.conf に作成されます。
「このプロファイルを使う」と、タイムアウトで無事(?)エラーとなります。
分かったこと
- 「このファイルを使う」で「パピーは生きているネットワークを見つけられました」となる場合は
- 暗号化キーが正しいか
- 暗号化キーを与えていない場合
- 続けて「自動DHCP」を実行すると、正しくIPが取得できたかどうかに関わらず、常に「ネットワークの設定に成功」となります。
Re: ネットワークウィザード
Posted: 10/02/24(水) 18:14
by シノバー
みのむし さんが書きました:・無線セキュリティ(暗号化)を選択して設定し、保存
・[このプロファイルを使う]をクリック
ここで別の端末を開いて
# iwconfig ra0
(ESSID が設定)されていない
「パピーは生きているネットワークを見つけられました」となるが、ESSID が設定されていないということですか。
私のテストした無線子機はUSB接続 Baffalo WLI-UC-G300HP、チップは Ralink、
ドライバは rt3070sta
viewtopic.php?f=25&t=1639&start=0
[このプロファイルを使う]直後はこんな感じです。(WPA/TKIP)
コード: 全て選択
# iwconfig ra0
ra0 RT2870 Wireless Nickname:"RT2870STA"
Mode:Managed Frequency=2.462 GHz Access Point: 00:xx:xx:xx:xx:01
Bit Rate=36 Mb/s
RTS thr:off Fragment thr:off
Encryption key:BE8F-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-39F9
Link Quality=89/100 Signal level:-74 dBm Noise level:-71 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
ESSID: は無くって Encryption key: がある。
「ネットワークから切断」すると Encryption key: は消え、ESSID: が現れます。
コード: 全て選択
# iwconfig ra0
ra0 RT2870 Wireless ESSID:"11n-AP" Nickname:"RT2870STA"
Mode:Auto Frequency=2.412 GHz Access Point: 00:xx:xx:xx:xx:01
Link Quality=94/100 Signal level:0 dBm Noise level:-87 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Re: ネットワークウィザード
Posted: 10/02/24(水) 20:40
by みのむし
>「パピーは生きているネットワークを見つけられました」となるが、ESSID が設定されていないということですか。
その通りです。
WEP と WPA ではESSIDの扱いに違いがあるのですか?
Re: ネットワークウィザード
Posted: 10/02/24(水) 21:32
by シノバー
みのむし さんが書きました:WEP と WPA ではESSIDの扱いに違いがあるのですか?
違うみたいです。
我が家の無線LANは WAP/TKIP です。 WEPに変更しようとしたが、繋がってません。WEPで繋いだことはいままでにないので、操作を誤っているか、ハード・ソフトが対応していないのか分かりません。
分かったのは WEPの場合、
wpa_profiles/*.conf は作られないようです。
みのむしさんの例を参考に iwconfig ra0 essid "<ESSID>" とかやってみましたが、ダメでした(169.254.78.200 とかになる)。
WEP設定で[このプロファイルを使う]直後
コード: 全て選択
# iwconfig ra0
ra0 RT2870 Wireless ESSID:"11n-AP" Nickname:"RT2870STA"
Mode:Auto Frequency=2.462 GHz Access Point: 00:xx:xx:xx:xx:01
Bit Rate=1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=94/100 Signal level:0 dBm Noise level:-87 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
iwconfig ra0 essid "<ESSID>" 実行後
コード: 全て選択
# iwconfig ra0 essid "00xxxxxxxxx_G"
# iwconfig ra0
ra0 RT2870 Wireless ESSID:"00xxxxxxxxx_G" Nickname:"RT2870STA"
Mode:Managed Frequency=2.462 GHz Access Point: 00:xx:xx:xx:xx:01
Bit Rate=36 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=55/100 Signal level:-80 dBm Noise level:-71 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
[自動DHCP]後
コード: 全て選択
#iwconfig ra0
(さきと変化なし)
# ifconfig ra0
ra0 Link encap:Ethernet HWaddr 00:xx:xx:xx:xx:A4
inet addr:169.254.145.182 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:141967 errors:3528 dropped:0 overruns:0 frame:0
TX packets:62696 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30143364 (28.7 MiB) TX bytes:6327375 (6.0 MiB)
もちろんインターネットには繋がりません。
viewtopic.php?f=23&t=1062&start=0#p6246
きりん さんが書きました:3.ネットワーク ウィザードを使う。
セキュリティなし、WPAでは使えるが、なぜかWEPでは使えないようだ。