Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am trying to compile the Realtek drivers on my machine and I am getting the following errors:

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

How can I fix this?

share|improve this question

3 Answers 3

up vote 8 down vote accepted

Apparently the Linux headers have changed enough since 13.04 to break this driver. After many days of work I have finally fixed the compile issues and gotten the driver working. You can find the fixed driver, along with the detailing of all of my changes from the original version released by Realtek, at my Github repo here: https://github.com/FreedomBen/rtl8188ce-linux-driver

For those who are interested, the biggest changes were the removal of create_proc_entry() and other related functions that put debugging information into the /proc directory. I have not yet converted the code to use the replacement functions, so as of now the debug info will not be reported. This does not in any way affect the performance of the driver though.

The other big change was the restructuring of struct ieee80211_hw, struct ieee80211_conf, and the addition of struct cfg80211_chan_def which replaced what used to be the channel member of ieee80211_conf.

There is also a new helper function cfg80211_get_chandef_type() for retrieving channel type instead of the old direct method.

share|improve this answer
    
I'm getting the same error using the download from your git on base 14.04 kernel and since upgrading to 3.16. Thanks –  Tahnoon Pasha Aug 8 at 6:48
    
@TahnoonPasha To be clear, you're on kernel 3.16? –  Freedom_Ben Aug 9 at 1:11
    
Hi @FreedomBen. Thats right I'm on 3.16. I've since got it to compile but it shows up as using the old drivers with ./am_I_using_this_driver.... –  Tahnoon Pasha Aug 12 at 10:06
    
@TahnoonPasha, thanks for the heads up. I haven't yet added support for kernel 3.16.x but it looks like it's time. Did you upgrade yourself or did Ubuntu push the upgrade through the normal repos? –  Freedom_Ben Aug 12 at 16:17
1  
Hi @Freedom_Ben, I upgraded myself. Continued to get persistent drop-offs the network after updating to your driver. Looked around the BB's and read that upgrading the kernel was one way to stabilize the driver so tried both. Surprise, surprise.. it didn't work. ;-) Still get drop-offs every 20 minutes or so and have to reconnect, but at least its a good connection when its on, since I compiled your patched driver. Thanks for your work on it.:-) –  Tahnoon Pasha Aug 13 at 5:28

@Freedom_Ben: I'm trying to build the driver from the link you provided but am stuck on step 3 "make":

[code] make: * No targets specified and no makefile found. Stop. [\code]

I also had to add permissions for step 2. Don't know if that made any difference or not.

Could you help?

share|improve this answer
    
Are you in the directory called rtl8188ce-linux-driver? When you type ls, do you see a file called Makefile in the directory? –  Freedom_Ben Mar 21 at 2:18

rtl8188ce is no longer supported on kernel 3.9 & up.

I had the same WIFI card for my desktop.

The best cards for open source support that I am now using is Atheros.

  • Option #1 use "Ubuntu 12.04 LTS" as it supports rtl8188ce via rtl8192ce driver.

  • Option#2 do your research on wifi cards that support open source kernels.

  • Option #3 after doing research, use the card that will work with the latest kernel 3.12 & up.

After my experience with Realtek, I will not use them again as rtl8188ce is a poor card for Windows & Linux.

share|improve this answer
1  
I understand the frustration but I don't think that the suggestions are practical short term, apologies and hence the rare down vote. –  Tahnoon Pasha Aug 8 at 6:45

protected by Community Feb 25 at 13:06

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.