Fre*_*Ben 7 compiling realtek drivers
我正在尝试在我的机器上编译 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
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
Fre*_*Ben 10
显然,自 13.04 以来,Linux 头文件的变化足以破坏这个驱动程序。经过多天的工作,我终于解决了编译问题并使驱动程序正常工作。您可以在我的 Github 存储库中找到固定的驱动程序,以及我对 Realtek 发布的原始版本所做的所有更改的详细信息:https : //github.com/FreedomBen/rtl8188ce-linux-driver
对于那些有兴趣的人来说,最大的变化是删除了create_proc_entry()
将调试信息放入/proc
目录的其他相关功能。我还没有将代码转换为使用替换函数,所以目前不会报告调试信息。但这不会以任何方式影响驱动程序的性能。
另一大变化是结构调整struct ieee80211_hw
,struct ieee80211_conf
以及添加struct cfg80211_chan_def
它取代了曾经被认为是对channel
的成员ieee80211_conf
。
还有一个cfg80211_get_chandef_type()
用于检索通道类型的新辅助函数,而不是旧的直接方法。
归档时间: |
|
查看次数: |
6036 次 |
最近记录: |