Intrepid에서 WPA/WPA2 with PEAP를 이용하는 Wireless 로긴 실패시 수동 접속은?

지난번에도 비슷한 질문을 올렸는데 답변이 없으시더라구요…
사실 구글링을 해봐도 아직은 뚜럿한 방법이 없는 듯 보였습니다. 우분투포럼에도 꽤나 많은 유저들이
이러한 문제가 있지만 아무리 버그 리포팅을 해도 해결책을 주지 않는다고 하면서 투덜대는
투덜이 스머프들을 많이 보았습니다. 저도 그들중에 하나이겠지만요… ^^

현재 학교에서 Wireless를 사용하는데는 아무런 문제가 없습니다. 학교에서는 Encryption이 전혀
없기 때문에 그냥 로긴할 때 학생 아이디와 패스워드로 접속이 가능하기 때문이죠… 하지만 집에서
인터넷을 사용하기 위해서 Wireless에 접속하기 위해서는 사정이 다릅니다. Windows XP에서는 전혀
문제가 없지만 우분투 Intrepid에서 WPA/WPA2 Enterprise with PEAP 방법을 이용하여 접속을 하면
계속해서 접속이 끊어지고 로긴 정보를 다시 넣어라고 하고 그 과정을 몇 번 반복하게 되면 결국
접속이 끊어졌다는 메세지를 받게 됩니다. 결국 집에서는 Wireless에 로긴할 방법이 현재로서는
없는 것 같습니다.

하지만 구글링을 하다가 수동으로 접속이 가능하다고도 하던데 저는 아직 그러한 수준에 도달하질
못해서 알 수가 없네요. 그에 대한 자세한 방법도 알려주지 않고 말이죠.

Network-manager와 Wicd 모두를 사용해봤지만 어떤 것도 접속이 되지 않기에 마지막으로 수동접속을
시도해보고자 합니다. 시간이 좀더 지나면 해결책이나 업데이트가 되겠지만 그 전까지는 수동으로라도
접속을 해서 집에서도 랩탑을 좀 사용하고 싶습니다.

도움을 주셨으면 합니다.

그럼 이만…

혹시 Ralink칩 무선랜 사용중이시면
ndiswrapper로 윈도우즈용 드라이버를 설치해 보세요.

저는 집에서는 무인증으로 쓰고
학교에서는 TTLS-PAP로 인증하는데
네이티브 드라이버로는 죽어라 안되던게 윈도우즈용 드라이버로 설치하니
언제 안됐냐는듯이 잘 되더군요.

혹시나 해서 달아봅니다…

답글을 달아주신 분이 계셨네요…
벌써 ndiswrapper를 이용해서 한번 시도를 해보았지만
저는 접속을 할 수가 없었습니다.

빨리 network-manager가 정상화되기만을 기다려야 할 것 같습니다. ㅠ…ㅠ

[quote="kyu419":3ag1a9pt]혹시 Ralink칩 무선랜 사용중이시면
ndiswrapper로 윈도우즈용 드라이버를 설치해 보세요.

저는 집에서는 무인증으로 쓰고
학교에서는 TTLS-PAP로 인증하는데
네이티브 드라이버로는 죽어라 안되던게 윈도우즈용 드라이버로 설치하니
언제 안됐냐는듯이 잘 되더군요.

혹시나 해서 달아봅니다…[/quote:3ag1a9pt]

저는 항상 무선랜을 수동을로 접속해서 쓰는데… 혹시 도움 될지모르겠네요… 길기만 하고 도움 안될수도 있습니다…

제 경우는…
보통 /etc/wpa_supplicant.conf 라는 파일을 만들고

[code:2d8p4qxd]####### Home
network={
ssid="linuxfriend"
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="abcefg"
}
#########
######## Keyus Office
network={
ssid="CurieKhan"
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="abcefg"
}
#########[/code:2d8p4qxd]
와 같은 형태로 미리 사전 정의 를 해두고
접속 실행 스크립트를 아래와 같이 만들어 쓰는데…
핵심은. 인증 방식에 따라 위 내용을 바꾸어야 겠죠… 예제등에 잘 나와 있을것으로 보입니다…

[code:2d8p4qxd]iwconfig wlan0 essid some-ap
wpa_supplicant -i wlan0 -D wext -w -c /etc/wpa_supplicant.conf"
[/code:2d8p4qxd]
과 같이 해서 사용하는것입니다.

[code:2d8p4qxd]
#!/bin/sh
#####################################################

For My bcm43xx wireless

by bluetux@gmail.com

iwl3945

2006 09 05 v0.3 License is GPL

#####################################################

declare -a WLIST
declare -a ALIST
declare -a CLIST
declare -i es
declare -i s
declare -i si

#wireless=$1
wireless="wlan0"
if [[ $wireless != "wlan1" && $wireless != "wlan0" ]]
then

echo "Which Wireless Card do you Want to you?"

else

ifconfig $wireless down
sleep 1
ifconfig $wireless up

function setwireless {
if [[ $wireless == "wlan0" ]]
then
echo "rmmod iwl3945"
rmmod iwl3945
echo "modprobe iwl3945"
modprobe iwl3945
fi
echo "ifconfig $wireless up"
ifconfig $wireless down
ifconfig $wireless up
echo "iwconfig $wireless ap "$2""
iwconfig $wireless ap "$2"
echo "iwconfig $wireless channel "$3""
iwconfig $wireless channel "$3"
echo "iwconfig $wireless essid "$1" mode managed"
iwconfig $wireless essid "$1" mode managed
}

function add_wpa {
echo "network={"
echo " ssid="$1""
echo " priority=6"
echo " key_mgmt=NONE"
if [ $2 ]; then
echo " wep_key0=$2"
echo " wep_tx_keyidx=0"
fi
echo "}"
}
if [[ $wireless == "wlan0" ]]
then
rmmod iwl3945
modprobe iwl3945
fi

ifconfig $wireless down
sleep 1
ifconfig $wireless up

echo "" > .wlist
echo "Scaned ESSID List is"
sleep 1
iwlist $wireless scan | tee .encrypt_chk | grep ESSID | awk -F: ‘{print $2}’| sed s/"//g | while read fn
do
s=$[$s+1]
WLIST[$s]="$fn:"
echo "${WLIST[@]}" > .wlist
done

for enc in cat .encrypt_chk | grep Encryption | sed s/Encryption\ //g
do
si=$[$si+1]
CLIST[$si]="$enc"

echo "$s : ${CLIST[$s]}"

done

for enc in cat .encrypt_chk | grep Channel | sed s/Channel://g
do
sp=$[$sp+1]
PLIST[$sp]="$enc"

echo "$s : ${CLIST[$s]}"

done

for kenc in cat .encrypt_chk | grep Address | sed s/Address:\ /Address:/g | awk -F: '{print $2":"$3":"$4":"$5":"$6":"$7}'
do
sj=$[$sj+1]
ALIST[$sj]="$kenc"

echo "$sj : ${ALIST[$sj]}"

done

IFS=":"

#s="0"

for new in cat .wlist| sed s/:\ /:/g
do
s=$[$s+1]
WLIST[$s]="$new"
echo "$s : ${WLIST[$s]} - Encryption ${CLIST[$s]} with ${ALIST[$s]} MAC"
done

if [ $s ]
then

IFS=""
echo "Which want to ESSID access try to"
echo -n "Type Number : "

read -s -n 1 es

read es
echo $es


if [ "${WLIST[$es]}" ]; then
	wpa=$(grep ${WLIST[$es]} /etc/wpa_supplicant.conf)
	if [ "$wpa" ]; then
		wpa_returned=$(setwireless ${WLIST[$es]} ${ALIST[$es]} ${PLIST[$es]})
		echo $wpa_returned
		echo "wpa_supplicant -i $wireless  -D wext -w -c /etc/wpa_supplicant.conf"
		wpa_supplicant -i $wireless -D wext -w -c /etc/wpa_supplicant.conf 
		
	else
		echo "You need to add ESSID setting in /etc/wpa_supplicant.conf"
		echo "Do you want to add ${WLIST[$es]} ESSID Setting?"
		echo -n "[Y]es or No(Enter): "
		read -s -n 1 want
		case $want in
			Y | y | YES | yes | Yes )
				echo "Yes"
				echo "Ok you want to add ${WLIST[$es]}"
				echo "Dose ESSID ${WLIST[$es]} need to  wep key setting?"
				case ${CLIST[$es]} in
					key:on )
						echo -n "Type web key or Enter(no web key) : "
						read webkey
						;;
				esac
				echo "---------------------"
				add_wpa ${WLIST[$es]} $webkey
				echo "---------------------"
				echo "Do you want to add these setting"
				echo -n "Type [Y]es or No(Enter) : "
				read -s -n 1 webkey_add
				case $webkey_add in
					Y | y | YES | yes | Yes )
						add_wpa ${WLIST[$es]} $webkey  >> /etc/wpa_supplicant.conf
						setwireless ${WLIST[$es]} ${ALIST[$es]} ${PLIST[$es]}
						echo "wpa_supplicant -i $wireless  -D wext -w -c /etc/wpa_supplicant.conf"
						wpa_supplicant -i $wireless -D wext -w -c /etc/wpa_supplicant.conf
						;;
					* )
						echo  "No"
				esac
				;;
			* )
				echo "No"
				;;
		esac
	fi
else
	echo "You chose Wrong ESSID!!!"
fi

else
echo "There is No Ap Scaned"
break
fi
fi
[/code:2d8p4qxd]