우분투9.10에서 Ralink 리눅스용 무선랜 드라이버(RT3090)의 WPA 보안접속 버그 해결방법 문의

무선랜 드라이버와 관련하여

viewtopic.php?f=20&t=8412

이 게시물에 댓글로 남겼더니 답변을 얻기가 힘드네요…새 글타래로 다시 올립니다.


저와 같은 무선랜 칩셋이네요.
포럼에 새글로 올리려다 관련 내용이라서 여기다 댓글로 남깁니다.
전 [b:1nk7hyll]MSI WIND NB U210[/b:1nk7hyll] 모델입니다.
9.04를 사용할 때 무선랜이 잡히지 않아 위에서 알려주시는 곳(https://launchpad.net/~markus-tisoft/+archive/rt3090)
을 구글을 통해 겨우 찾아서 설치한 적이 있습니다.
윈도우용 무선랜 드라이버를 맵핑을 통해 사용하는 것도 있었지만, 이왕이면 리눅스용 드라이버를 설치하고 싶었습니다.
9.04에서는 아주 잘 돌아갑니다.(rt3090-dkms_2.1.0.0-0ubuntu0~ppa1_all.deb)

이번에 9.10으로 업데이트 하면서 문제가 발생했습니다.
제가 원래 선호하는 방식은 아니지만 9.04에서 업그레이드 기능으로 9.10으로 갈아탔습니다.
역시 시간은 오래 걸리나 호기심에 한번 해 보았습니다.
무선랜 드라이버도 잘 살아있고 좋은데 그래픽 드라이버와 사운드 드라이버가 잘못되었는지
컴피즈 효과도 안되고 소리도 안나왔습니다. 이 당시에는 무선랜 기능 이상이 없었습니다.

그래서 코분투 9.10버전을 클린설치 했습니다.
라이브에서 잘 되던 것 처럼 컴피즈, 사운드 다 정상적으로 작동하고 무선랜은 9.04에서처럼 역시 바로 잡히지 않았습니다.
여기에서 지난번처럼 rt3090-dkms_2.1.0.0-0ubuntu0~ppa1_all.deb를 설치했는데 커널이 안맞아서 그런지 오류가 뜹니다.
그래서 부랴부랴 찾아보니 해당 사이트에서 칼믹용으로 [color=#0000FF:1nk7hyll]rt3090-dkms_2.2.0.1-0ubuntu0~ppa1_all.deb[/color:1nk7hyll]를 배포하고 있더군요.
냉큼 받아서 설치했습니다.

[size=150:1nk7hyll][b:1nk7hyll][color=#FF0000:1nk7hyll]그런데!![/color:1nk7hyll][/b:1nk7hyll][/size:1nk7hyll]
무선랜 드라이버 잡히고 잘 되는 줄 알았는데… [color=#FF4000:1nk7hyll][b:1nk7hyll]심각한 버그 하나[/b:1nk7hyll][/color:1nk7hyll]가 있습니다.
무선랜 공유기는 보통 보안상 암호를 설정하잖아요. WPA방식의 암호를 설정해 둔 공유기에 접속이 안됩니다.
암호를 설정해 두지 않은 공개된 무선 네트워크는 잘 잡히고 접속도 아주 잘 되지만,
WPA방식의 암호만 설정해 버리면 아무리 암호를 정확하게 입력해도 접속이 안됩니다.

이 문제에 대해 구글을 통해 찾아보니 외국에서도 이 문제가 발생하는 듯 합니다.

http://www.uluga.ubuntuforums.org/showt ... 886&page=3

여기에서 Odemia란 분이 Ralinktech의 리눅스용 무선랜 드라이버를 다운받아 컴파일 하여 설치하는 해결책을 주신 듯 한데요.
핵심은 소스파일(/os/linux/config.mk)에서

[code:1nk7hyll]HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y[/code:1nk7hyll]
이렇게 값을 활성화 해주고 컴파일하는 것 같습니다…만,

혹시나 Markus Heberling란 분이 deb패키지를 만드실 때 옵션 변경 없이 그대로 만들어 버린게 아닌지 궁금하여 확인을 해 보았는데요.
rt3090_2.2.0.1-0ubuntu0~ppa1.tar.gz 소스를 받아 압축을 풀어 확인해 보니…

[code:1nk7hyll]# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y

Support Native WpaSupplicant for Network Maganger

HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

#Support Net interface block while Tx-Sw queue full
HAS_BLOCK_NET_IF=n[/code:1nk7hyll]
활성화 되어 있습니다… OTL

9.04에서 업그레이드 할 때에는 정상이던 것이 어찌 클린 설치 후엔 문제가 발생하는 것일까요?

제가 찾아본 다른 해결책은 http://ubuntuforums.org/showthread.php? … ost8265688 에서
veyun 이라는 분이 해결책으로 남기신 http://www.kernel.org/pub/linux/kernel/ … .6/2.6.31/ 에서
staging-rt3090-enable-native_wpa_supplicant_support-option.patch 이 파일을 가지고 커널패치를 하는 것 같은데요…
(답변 주신 분도 LG X130모델이라 여기 질문하신 분에겐 딱인데…흠…핵심은 RT3090칩셋이니…)

암튼 초보인 저로서는 더 이상 방법을 모르겠습니다…
어떤분은 그냥 ndiswrapper로 윈도우용 드라이버를 맵핑하여 사용하니 해결되었다고 하기는 한데…
리눅스용 드라이버가 존재하는 만큼 가능한 리눅스용 드라이버를 설치하고 싶습니다.
부디 [b:1nk7hyll][color=#008000:1nk7hyll]도와주세요[/color:1nk7hyll][/b:1nk7hyll]. ㅠㅠ

[quote="고군분투":1fzgvyge]무선랜 드라이버와 관련하여

viewtopic.php?f=20&t=8412

이 게시물에 댓글로 남겼더니 답변을 얻기가 힘드네요…새 글타래로 다시 올립니다.


저와 같은 무선랜 칩셋이네요.
포럼에 새글로 올리려다 관련 내용이라서 여기다 댓글로 남깁니다.
전 [b:1fzgvyge]MSI WIND NB U210[/b:1fzgvyge] 모델입니다.
9.04를 사용할 때 무선랜이 잡히지 않아 위에서 알려주시는 곳(https://launchpad.net/~markus-tisoft/+archive/rt3090)
을 구글을 통해 겨우 찾아서 설치한 적이 있습니다.
윈도우용 무선랜 드라이버를 맵핑을 통해 사용하는 것도 있었지만, 이왕이면 리눅스용 드라이버를 설치하고 싶었습니다.
9.04에서는 아주 잘 돌아갑니다.(rt3090-dkms_2.1.0.0-0ubuntu0~ppa1_all.deb)

이번에 9.10으로 업데이트 하면서 문제가 발생했습니다.
제가 원래 선호하는 방식은 아니지만 9.04에서 업그레이드 기능으로 9.10으로 갈아탔습니다.
역시 시간은 오래 걸리나 호기심에 한번 해 보았습니다.
무선랜 드라이버도 잘 살아있고 좋은데 그래픽 드라이버와 사운드 드라이버가 잘못되었는지
컴피즈 효과도 안되고 소리도 안나왔습니다. 이 당시에는 무선랜 기능 이상이 없었습니다.

그래서 코분투 9.10버전을 클린설치 했습니다.
라이브에서 잘 되던 것 처럼 컴피즈, 사운드 다 정상적으로 작동하고 무선랜은 9.04에서처럼 역시 바로 잡히지 않았습니다.
여기에서 지난번처럼 rt3090-dkms_2.1.0.0-0ubuntu0~ppa1_all.deb를 설치했는데 커널이 안맞아서 그런지 오류가 뜹니다.
그래서 부랴부랴 찾아보니 해당 사이트에서 칼믹용으로 [color=#0000FF:1fzgvyge]rt3090-dkms_2.2.0.1-0ubuntu0~ppa1_all.deb[/color:1fzgvyge]를 배포하고 있더군요.
냉큼 받아서 설치했습니다.

[size=150:1fzgvyge][b:1fzgvyge][color=#FF0000:1fzgvyge]그런데!![/color:1fzgvyge][/b:1fzgvyge][/size:1fzgvyge]
무선랜 드라이버 잡히고 잘 되는 줄 알았는데… [color=#FF4000:1fzgvyge][b:1fzgvyge]심각한 버그 하나[/b:1fzgvyge][/color:1fzgvyge]가 있습니다.
무선랜 공유기는 보통 보안상 암호를 설정하잖아요. WPA방식의 암호를 설정해 둔 공유기에 접속이 안됩니다.
암호를 설정해 두지 않은 공개된 무선 네트워크는 잘 잡히고 접속도 아주 잘 되지만,
WPA방식의 암호만 설정해 버리면 아무리 암호를 정확하게 입력해도 접속이 안됩니다.

이 문제에 대해 구글을 통해 찾아보니 외국에서도 이 문제가 발생하는 듯 합니다.

http://www.uluga.ubuntuforums.org/showt ... 886&page=3

여기에서 Odemia란 분이 Ralinktech의 리눅스용 무선랜 드라이버를 다운받아 컴파일 하여 설치하는 해결책을 주신 듯 한데요.
핵심은 소스파일(/os/linux/config.mk)에서

[code:1fzgvyge]HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y[/code:1fzgvyge]
이렇게 값을 활성화 해주고 컴파일하는 것 같습니다…만,

혹시나 Markus Heberling란 분이 deb패키지를 만드실 때 옵션 변경 없이 그대로 만들어 버린게 아닌지 궁금하여 확인을 해 보았는데요.
rt3090_2.2.0.1-0ubuntu0~ppa1.tar.gz 소스를 받아 압축을 풀어 확인해 보니…

[code:1fzgvyge]# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y

Support Native WpaSupplicant for Network Maganger

HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

#Support Net interface block while Tx-Sw queue full
HAS_BLOCK_NET_IF=n[/code:1fzgvyge]
활성화 되어 있습니다… OTL

9.04에서 업그레이드 할 때에는 정상이던 것이 어찌 클린 설치 후엔 문제가 발생하는 것일까요?

제가 찾아본 다른 해결책은 http://ubuntuforums.org/showthread.php? … ost8265688 에서
veyun 이라는 분이 해결책으로 남기신 http://www.kernel.org/pub/linux/kernel/ … .6/2.6.31/ 에서
staging-rt3090-enable-native_wpa_supplicant_support-option.patch 이 파일을 가지고 커널패치를 하는 것 같은데요…
(답변 주신 분도 LG X130모델이라 여기 질문하신 분에겐 딱인데…흠…핵심은 RT3090칩셋이니…)

암튼 초보인 저로서는 더 이상 방법을 모르겠습니다…
어떤분은 그냥 ndiswrapper로 윈도우용 드라이버를 맵핑하여 사용하니 해결되었다고 하기는 한데…
리눅스용 드라이버가 존재하는 만큼 가능한 리눅스용 드라이버를 설치하고 싶습니다.
부디 [b:1fzgvyge][color=#008000:1fzgvyge]도와주세요[/color:1fzgvyge][/b:1fzgvyge]. ㅠㅠ[/quote:1fzgvyge]

컴파일 직접 해보세요 deb 패키지 급하게 만들면서 뭔가 실수했을 수도 있죠. 소스가 있겠다 9.04에서 제대로 된거면 그 소스로 새 커널에서 컴파일하면 안될리가 없어 보입니다.

[quote="ahavatar":3b202e5e]컴파일 직접 해보세요 deb 패키지 급하게 만들면서 뭔가 실수했을 수도 있죠. 소스가 있겠다 9.04에서 제대로 된거면 그 소스로 새 커널에서 컴파일하면 안될리가 없어 보입니다.[/quote:3b202e5e]
deb패키지 오류 가능성에 대해 힘을 얻고 제가 찾은 방법에 설명된 대로 컴파일을 시도하였습니다.
$ sudo apt-get install build-essential linux-headers-uname -r
로 패키지 설치하고 $ sudo make && make install 하니…

[code:3b202e5e]
make -C tools
make[1]: Entering directory /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/tools' gcc -g bin2h.c -o bin2h make[1]: Leaving directory /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/tools’
/home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/tools/bin2h
cp -f os/linux/Makefile.6 /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/Makefile
make -C /lib/modules/2.6.31-14-generic/build SUBDIRS=/home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux modules
make[1]: Entering directory /usr/src/linux-headers-2.6.31-14-generic' CC [M] /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.o /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSTaskAttach’: /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.c:1304: warning: unused variable ‘pid_number’ /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSNetDevAttach’: /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.c:1646: error: ‘struct net_device’ has no member named ‘open’ /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.c:1647: error: ‘struct net_device’ has no member named ‘stop’ /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.c:1648: error: ‘struct net_device’ has no member named ‘hard_start_xmit’ /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.c:1649: error: ‘struct net_device’ has no member named ‘do_ioctl’ /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.c:1655: error: ‘struct net_device’ has no member named ‘get_stats’ /home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.c:1689: error: ‘struct net_device’ has no member named ‘validate_addr’ make[2]: *** [/home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux/../../os/linux/rt_linux.o] 오류 1 make[1]: *** [_module_/home/youngjin/2009_0903_RT3090_Linux_STA_v2.2.0.1/os/linux] 오류 2 make[1]: Leaving directory /usr/src/linux-headers-2.6.31-14-generic’
make: *** [LINUX] 오류 2
youngjin@MSI-U210:~/2009_0903_RT3090_Linux_STA_v2.2.0.1$
[/code:3b202e5e]
이렇게 에러가 떠버려서 더 이상 진행이 안됩니다.
예전에 auto-apt 인가? 의존성 자동으로 검사하면서 필요한거 설치해주는 뭔가가 있던데…
개발패키지를 더 설치해서 컴파일 해야 하나요?
컴파일 하나도 모르는 초보라 막막합니다. ㅠㅠ

또, wpa_supplicant-0.6.9.tar.gz란걸 받아서

./wpa_supplicant -Dwext -ira0 -c wpa_supplicant.conf -d 이렇게 해서 컴파일 다시 해보라는 게 있던데

$ sudo wpa_supplicant -Dwext -ira0 -c wpa_supplicant.conf -d 이렇게 했더니

[code:3b202e5e]
Initializing interface ‘ra0’ conf ‘wpa_supplicant.conf’ driver ‘wext’ ctrl_interface ‘N/A’ bridge ‘N/A’
Configuration file ‘wpa_supplicant.conf’ -> ‘/home/youngjin/wpa_supplicant-0.6.9/wpa_supplicant/wpa_supplicant.conf’
Reading configuration file ‘/home/youngjin/wpa_supplicant-0.6.9/wpa_supplicant/wpa_supplicant.conf’
ctrl_interface=‘/var/run/wpa_supplicant’
eapol_version=1
ap_scan=1
fast_reauth=1
Line 694: unknown EAP method ‘IKEV2’
You may need to add support for this EAP method during wpa_supplicant
build time configuration.
See README for more information.
Line 694: failed to parse eap ‘IKEV2’.
Line 697: failed to parse network block.
Line 703: unknown EAP method ‘FAST’
You may need to add support for this EAP method during wpa_supplicant
build time configuration.
See README for more information.
Line 703: failed to parse eap ‘FAST’.
Line 709: failed to parse network block.
Line 714: unknown EAP method ‘FAST’
You may need to add support for this EAP method during wpa_supplicant
build time configuration.
See README for more information.
Line 714: failed to parse eap ‘FAST’.
Line 720: failed to parse network block.
Priority group 20
id=24 ssid=‘example’
Priority group 10
id=5 ssid=‘example’
Priority group 5
id=0 ssid=‘simple’
id=19 ssid=‘static-wep-test’
id=20 ssid=‘static-wep-test2’
Priority group 2
id=1 ssid=‘second ssid’
id=2 ssid=‘example’
id=6 ssid=‘example’
id=8 ssid=‘example’
Priority group 1
id=4 ssid=‘example’
Priority group 0
id=3 ssid=‘example’
id=7 ssid=‘example’
id=9 ssid=‘example’
id=10 ssid=‘’
id=11 ssid=‘eap-sim-test’
id=12 ssid=‘eap-psk-test’
id=13 ssid=‘1x-test’
id=14 ssid=‘leap-example’
id=18 ssid=‘plaintext-test’
id=21 ssid=‘test adhoc’
id=22 ssid=‘example’
id=23 ssid=‘example’
id=25 ssid=‘’
Failed to read or parse configuration ‘/home/youngjin/wpa_supplicant-0.6.9/wpa_supplicant/wpa_supplicant.conf’.
Failed to add interface ra0
Cancelling scan request
Cancelling authentication timeout
youngjin@MSI-U210:~/wpa_supplicant-0.6.9/wpa_supplicant$
[/code:3b202e5e]

이런 에러가 뜹니다…

wpa_supplicant-0.6.9.tar.gz 소스파일에 wpa-gui란게 보이길래 우분투 저장소에서 찾아보니
wpa-gui 가 존재하길래 바로 설치해 보았습니다만, 어뎁터나 네트워크가 추가되지도 않고 도통 모르겠습니다.

아… 어렵네요.

음… 이게 드라이버는 멀쩡해두 우분투 9.10 버전에 따라온 WPAsupplicant가 제대로 동작 안하면 그럴수도 있다고 하네요. 아직 원인을 모르는거 같습니다. 9.04에서 되었으면 9.10에서도 당연히 되야하는데 말이지요. 며칠내로 해결되겠죠.

[quote="ahavatar":2mxuj1ml]음… 이게 드라이버는 멀쩡해두 우분투 9.10 버전에 따라온 WPAsupplicant가 제대로 동작 안하면 그럴수도 있다고 하네요. 아직 원인을 모르는거 같습니다. 9.04에서 되었으면 9.10에서도 당연히 되야하는데 말이지요. 며칠내로 해결되겠죠.[/quote:2mxuj1ml]
제가 초보라 컴파일엔 실패를 하였지만…
여러 정황으로 보아 배포되는 RT3090 드라이버는 문제가 없어 보입니다.

제가 9.04에서 정상적으로 사용할 때, 호기심으로 9.10으로 클린설치가 아닌 업그레이드 방식으로 경험삼아 해 본 적이 있는데요.
그 때 터미널에서 업그레이드 과정 중 RT3090 드라이버에 관련되서 파일들이 업데이트 되는 것 같더라구요.
업그레이드 완료 후에는 WPA 인증 무선접속도 아무 문제없이 되었었습니다.
클린 설치 후에도 당연히 잘 될 줄 알았는데, 위와 같은 현상이 생긴거구요.
wpa_supplicant와 어떤 궁합문제가 아닐런지…
일단 패치가 되길 기다리고 있습니다…

많은 관심 감사합니다. ^^