13.04에서 rtl8188cus 모듈 컴파일 하기

사용하는 무선랜이 iptime의 n100mini인데 realtek 8188cus을 사용하고 있습니다.
크기는 무선키보드 동글같은 수신기랑 거의 같습니다

리얼텍에서 소스를 최신 커널에 맞춰서 내놓지 않고 있고, 패치는 현재 3.8.x 까지만 되더군요
덕분에 13.10을 유선랜으로 물려 쓰다고 지워둔 상태입니다

동적인 kmds로 올려놓은 것은 깔끔하지 못해서 찾아보니 아래처럼 빌드해서 사용하면 되더군요

  1. 먼저 빌드도구를 깝니다
    linux-headers는 커널 설치시 같이 깔리기 때문에 일부러 안깔아도 됩니다
    $ sudo apt-get install build-essential

  2. http://www.realtek.com.tw에서 8188cus로 검색하면 소스받는 링크가 나옵니다

현재 3.4.4 4749가 최신이더군요
RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip

  1. 받은 파일을 디렉토리 하나 만들어 놓고선 압축을 풉니다
    $ unzip ./RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip

그리곤 driver 디렉토리로 들어갑니다
$ cd ./RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/driver/

그곳에 있는 드라이브 파일을 압축 출고선 들어갑니다
$ tar -xvf ./rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105.tar.gz
$ cd ./rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105/

  1. 먼저 패치를 적용합니다. 현재 위치가 위의 드라이버 푼 디렉토리 안이죠
    패치파일은 원래 있던 zip 파일과 같은 곳에 있겠지요
    $ patch -p1 < …/…/…/rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105_patch.txt

그리곤 컴파일합니다
$ make

이제 8192cu.ko가 현재 위치에 만들어져 있습니다
이것 손으로 복사해도 되고 아래 스크립트로 설치해도 되죠. 해당 커널의 wlan 디렉토리로 복사될 겁니다
$ sudo make install

  1. 커널에 들어있는 [b:3mzcyvut]쓸모없는 암담한 모듈들[/b:3mzcyvut]을 블럭시켜 놓습니다
    $ vi /etc/modprobe.d/blacklist.conf 에 추가하거나 따로 만들어도 됩니다

Blacklist RealTek 8188CUs

blacklist rtl8192cu
blacklist rtl8192c_common
blacklist rtlwifi

  1. 재부팅해서 lsmod 해보면 아래 모듈이 올라와 있고 속도도 거의 정상적이고 무선환경에도 금방 잘 붙습니다
    8192cu

[quote="oseb":6xu4h3en]
5. 커널에 들어있는 [b:6xu4h3en]쓸모없는 암담한 모듈들[/b:6xu4h3en]을 블럭시켜 놓습니다
$ vi /etc/modprobe.d/blacklist.conf 에 추가하거나 따로 만들어도 됩니다

Blacklist RealTek 8188CUs

blacklist rtl8192cu
blacklist rtl8192c_common
blacklist rtlwifi
[/quote:6xu4h3en]
제가 해당 칩셋을 쓰는 제품을 가지고 있는건 아니지만 그냥 궁금해서 그런데, 어떤 점에서 [b:6xu4h3en]쓸모없는 암담한 모듈들[/b:6xu4h3en]인지 설명해 주시면 감사하겠습니다. 커널에 포함되어 있어서 당연히 잘 될거라고 생각하고 있었거든요.

  1. WPA로 인증접속시 연결이 잘 되지 않습니다
  2. 연결 되었다 하더라도 조금 지나면 끊어져 버립니다
    다시 연결을 할려면 제대로 되지 않습니다
  3. 속도가 너무 너무 느립니다. 다음 ftp에서 apt-get 사용시 받아오는 속도가 평균적으로 60kbps 전후입니다
    리얼텍꺼로 컴파일해서 사용하면 속도가 1Mbps는 넘어갑니다

아치 aur에 커널 3.10에서 적용되는 부분을 추가 패치해 놓은게 올라왔네요
위의 패치 아래에 첨부 패치는 추가로 더 패치해주면 13.10 saucy에서 모듈이 빌드 됩니다

리얼텍 rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911.tar.gz이 좀 되었지만 나왔는데
이게 이전 패치도 안 먹고 커널 3.11이상에서 역시 빌드가 되지 않더군요

갱신된 아치에 있는 패치는 돌아는 가는데 커널에 있는 거랑 용호상박 거북이보다 못한 속도더군요
어떻게 찾아보니 이전 패치를 이어 받아서 고친게 있어서, 사용중인 14.04의 커널 3.12에서 해보니 잘 돌아가네요

패치가 없길래 뭔가 크게 바뀌었나 싶어 오랜만에 diff -urN 해보니 위치만 조금 조금되었을 뿐이네요
사실 그게 소스 능력이지만 말입니다. ;)

사용한 패치된 소스: https://github.com/pvaret/rtl8192cu-fixes
원래 realtek에서 8188cu/8192cu 받아서 driver 압축파일 풀어 패치하고 사용하면 됩니다
patch -p1 < 패치파일