2014/10/07

Ubuntu USB WIFI adaptor


이전 글에서 아이맥에서 WIFI 드라이버로 Broadcom proprietary driver를 사용하면 된다고 했었다. 모델은 iMac13,2에서 WIFI는 Broadcom BCM4331을 사용하고 있다. 그런데, 우분투에서 가끔씩 네트워크 접속이 잘 안되거나 끊기는 문제가 있다. chrome에서 확인해 보면 웹사이트 접속시 아래 상태바에 Resolving host...라는 메시지가 뜨고 접속이 안될때가 종종 생긴다.

그동안 불편한 대로 참고 써왔는데 오래 전에 Anygate USB WIFI adaptor를 사놓고 쓸일이 없어서 보관하고 있는 것이 생각이 났다. 구형이라 IEEE 802.11bg까지만 지원된다. 그런데 어차피 Broadcom 드라이버도 우분투에서는 IEEE 802.11n을 지원하지 않기 때문에 속도는 매한가지다. 네트워크 접속의 안정성이 더 중요한 문제라서 이 놈을 우분투에서 사용해 보기로 하였다.

우선 Anygate 드라이버 구글 검색을 해보니 안잡힌다. 아래와 같이 리눅스 드라이버 명을 알아내야 한다. isl3887이다.

$ lsusb | grep -i wireless
Bus 003 Device 002: ID 0cde:0015 Z-Com XG-705A 802.11g Wireless Adapter [Intersil ISL3887]
구글링해 보니, linux-firmware-nonfree 패키지를 설치하고 p54usb 모듈을 사용하면 된다고 한다. 하지만, 아래 명령으로 확인해 보면, 우분투 14.04에는 이미 패키지도 설치되어 있고 p54usb도 이미 로딩되어 있다.

$ dpkg -l | grep linux-firmware-nonfree
$ lsmod | grep p54usb

아래 두 가지 명령으로 WIFI 드라이버가 정상 작동하는지 알 수 있는데, wlan0는 이미 사용하고 있으니 wlan1이 잡혀야 하는데 안잡힌다.

$ iwconfig
$ ifconfig

조금 더 찾아보니 debian wiki에서 해결책이 나왔다.

$ sudo -i
$ wget https://daemonizer.de/prism54/prism54-fw/fw-usb/2.13.25.0.lm87.arm --no-check-certificate
$ mv 2.13.25.0.lm87.arm /lib/firmware/isl3887usb
$ modprobe -r p54usb && modprobe p54usb

$ sudo reboot

위와 같이 firmware를 받아서 모듈을 다시 로딩해야 한다. 그런데, 재부팅까지 해 주어야만 잡힌다.
재부팅 후 iwconfig 해 보면 아래와 같이 wlan1이 잡힌다.

$ iwconfig
wlan1     IEEE 802.11bg  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=14 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          
eth0      no wireless extensions.

lo        no wireless extensions.

wlan0     IEEE 802.11abg  ESSID:"AAA"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:00:00:00:00:00   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
이제 Unity 상단 패널의 WIFI 아이콘을 클릭해서 SSID를 선택하고 비밀번호를 입력해서 Access Point에 접속하면 된다.

일단, 동작은 잘되는데 안정성 문제는 몇일 동안 써봐야 확인될 것이다. WIFI 안정성 문제가 WIFI 드라이버 때문인지도 사실 확실하지는 않다.

추가적으로, 기존의 Windows BCM4331 드라이버를 가지고 ndiswapper로 firmware 모듈을 로딩할 수 있는 방법도 있는데 나중에 시도해 볼만하다.


참고 사이트

https://wiki.debian.org/prism54#p54usb
https://wiki.sabayon.org/index.php?title=Using_Broadcom_wireless_and_ndiswrapper_w/Sabayon_miniEd

댓글 없음:

댓글 쓰기