Ubuntu 13.10에서 RealTek RTL8188CE 드라이버를 컴파일할 수 없습니다

Ubuntu 13.10에서 RealTek RTL8188CE 드라이버를 컴파일할 수 없습니다

내 컴퓨터에서 Realtek 드라이버를 컴파일하려고 하는데 다음 오류가 발생합니다.

make -C /lib/modules/3.11.0-12-generic/build M=/home/david/Downloads/rtl8188ce-linux-driver modules
make[1]: Entering directory `/usr/src/linux-headers-3.11.0-12-generic'
  CC [M]  /home/david/Downloads/rtl8188ce-linux-driver/base.o
/home/david/Downloads/rtl8188ce-linux-driver/base.c: In function ‘rtl_action_proc’:
/home/david/Downloads/rtl8188ce-linux-driver/base.c:885:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
       rx_status.freq = hw->conf.channel->center_freq;
                                ^
/home/david/Downloads/rtl8188ce-linux-driver/base.c:886:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
       rx_status.band = hw->conf.channel->band;
                                ^
/home/david/Downloads/rtl8188ce-linux-driver/base.c: In function ‘rtl_send_smps_action’:
/home/david/Downloads/rtl8188ce-linux-driver/base.c:1451:24: error: ‘struct ieee80211_conf’ has no member named ‘channel’
   info->band = hw->conf.channel->band;
                        ^
make[2]: *** [/home/david/Downloads/rtl8188ce-linux-driver/base.o] Error 1
make[1]: *** [_module_/home/david/Downloads/rtl8188ce-linux-driver] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-12-generic'
make: *** [all] Error 2

이 문제를 어떻게 해결할 수 있나요?

답변1

분명히 Linux 헤더는 13.04 이후 이 드라이버를 손상시킬 만큼 충분히 변경되었습니다. 며칠 간의 작업 끝에 마침내 컴파일 문제를 해결하고 드라이버가 작동하도록 했습니다. 내 Github 저장소에서 Realtek이 출시한 원래 버전의 모든 변경 사항에 대한 세부 정보와 함께 수정된 드라이버를 찾을 수 있습니다. https://github.com/FreedomBen/rtl8188ce-linux-driver

create_proc_entry()관심 있는 사람들을 위해 가장 큰 변화는 디버깅 정보를 디렉터리에 넣는 기타 관련 기능을 제거한 것입니다 /proc. 대체 함수를 사용하기 위해 아직 코드를 변환하지 않았으므로 현재로서는 디버그 정보가 보고되지 않습니다. 하지만 이는 드라이버의 성능에 어떤 영향도 미치지 않습니다.

또 다른 큰 변화는 구조조정이다.struct ieee80211_hw,struct ieee80211_conf, 그리고 추가struct cfg80211_chan_defchannel의 멤버 였던 것을 대체했습니다 ieee80211_conf.

새로운 도우미 기능도 있습니다cfg80211_get_chandef_type()이전 직접 방법 대신 채널 유형을 검색합니다.

답변2

rtl8188ce는 더 이상 커널 3.9 이상에서 지원되지 않습니다.

내 데스크탑에도 동일한 WIFI 카드가 있었습니다.

제가 현재 사용하고 있는 오픈 소스 지원을 위한 최고의 카드는 Atheros입니다.

  • 옵션 #1은 rtl8192ce 드라이버를 통해 rtl8188ce를 지원하므로 "Ubuntu 12.04 LTS"를 사용합니다.

  • 옵션 #2는 오픈 소스 커널을 지원하는 Wi-Fi 카드에 대해 조사합니다.

  • 옵션 #3을 조사한 후 최신 커널 3.12 이상에서 작동하는 카드를 사용하십시오.

Realtek을 경험한 후에는 rtl8188ce가 Windows 및 Linux용으로 좋지 않은 카드이기 때문에 다시 사용하지 않을 것입니다.

관련 정보