Thursday, May 2, 2024
 Popular · Latest · Hot · Upcoming
10
rated 0 times [  10] [ 0]  / answers: 1 / hits: 6235  / 3 Years ago, wed, october 13, 2021, 11:10:45

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?


More From » drivers

 Answers
3

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.


[#28676] Thursday, October 14, 2021, 3 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
eanda

Total Points: 439
Total Questions: 116
Total Answers: 105

Location: Armenia
Member since Sat, Dec 31, 2022
1 Year ago
eanda questions
Tue, Nov 22, 22, 15:24, 1 Year ago
Sat, Oct 16, 21, 23:48, 3 Years ago
Sun, Jul 3, 22, 09:38, 2 Years ago
Thu, Feb 3, 22, 14:33, 2 Years ago
;