Hacking Need help compiling linux kernel with drc patch

  • Thread starter Thread starter Crewman
  • Start date Start date
  • Views Views 3,025
  • Replies Replies 9

Crewman

Active Member
Newcomer
Joined
May 9, 2013
Messages
42
Reaction score
20
Trophies
0
Age
46
XP
162
Country
Gambia, The
I need help on compiling the linux kernel for libdrc.

first I downloaded the latest linux source with
get-apt source linux-image-$(uname -r)

then I copied all files of the drc-mac80211 folder to the mac80211 folder in the source directory. I replaced all files.

then I switched to the source directory and used
make oldconfig

to create the config for the kernel.

at least I tried to compile the kernel with
make

then I get the following error msg:

Code:
 ...
  LD      net/mac80211/built-in.o
  CC [M]  net/mac80211/main.o
In file included from net/mac80211/main.c:28:0:
net/mac80211/ieee80211_i.h:1347:10: warning: ‘enum nl80211_bss_scan_width’ declared inside parameter list [enabled by default]
    enum nl80211_bss_scan_width scan_width);
          ^
net/mac80211/ieee80211_i.h:1347:10: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
In file included from net/mac80211/main.c:29:0:
net/mac80211/driver-ops.h: In function ‘drv_channel_switch_beacon’:
net/mac80211/driver-ops.h:1081:16: error: ‘const struct ieee80211_ops’ has no member named ‘channel_switch_beacon’
  if (local->ops->channel_switch_beacon) {
                ^
net/mac80211/driver-ops.h:1083:13: error: ‘const struct ieee80211_ops’ has no member named ‘channel_switch_beacon’
  local->ops->channel_switch_beacon(&local->hw, &sdata->vif,
            ^
In file included from net/mac80211/main.c:30:0:
net/mac80211/rate.h: In function ‘rate_control_rate_init’:
net/mac80211/rate.h:73:8: warning: passing argument 3 of ‘ref->ops->rate_init’ from incompatible pointer type [enabled by default]
        priv_sta);
        ^
net/mac80211/rate.h:73:8: note: expected ‘struct ieee80211_sta *’ but argument is of type ‘struct cfg80211_chan_def *’
net/mac80211/rate.h:73:8: error: too many arguments to function ‘ref->ops->rate_init’
net/mac80211/rate.h: In function ‘rate_control_rate_update’:
net/mac80211/rate.h:97:11: warning: passing argument 3 of ‘ref->ops->rate_update’ from incompatible pointer type [enabled by default]
          ista, priv_sta, changed);
          ^
net/mac80211/rate.h:97:11: note: expected ‘struct ieee80211_sta *’ but argument is of type ‘struct cfg80211_chan_def *’
net/mac80211/rate.h:97:11: warning: passing argument 5 of ‘ref->ops->rate_update’ makes integer from pointer without a cast [enabled by default]
net/mac80211/rate.h:97:11: note: expected ‘u32’ but argument is of type ‘void *’
net/mac80211/rate.h:97:11: error: too many arguments to function ‘ref->ops->rate_update’
net/mac80211/main.c: In function ‘ieee80211_hw_conf_chan’:
net/mac80211/main.c:145:2: error: implicit declaration of function ‘ieee80211_chandef_max_power’ [-Werror=implicit-function-declaration]
  power = ieee80211_chandef_max_power(&chandef);
  ^
cc1: some warnings being treated as errors
make[2]: *** [net/mac80211/main.o] Error 1
make[1]: *** [net/mac80211] Error 2
make: *** [net] Error 2

btw. maybe someone could make a tut, for linux noobs like me, for the whole drc stuff.
 
I am running it in VM amd64, on my windows PC(x64), Ubuntu version 13.10
uname -r = 3.11.0-12-generic
 
make -C /usr/src/linux-headers-VERSION M=/home/USERNAME/drc/drc-mac80211/

VERSION=3.11.0-12-generic
USERNAME=you../home/Crewman... :)

I testing and have no problem... but i have a 32bit system

# apt-get install libnl-dev firmware-ralink software-properties-common yasm libglew-dev

# git clone https://bitbucket.org/memahaxx/drc-mac80211.git
# cd drc-mac80211
# make -C /usr/src/linux-headers-3.12-1-686-pae M=/home/pippo/drc-mac80211/
.....
CC [M] /home/pippo/drc-mac80211/pm.o
CC [M] /home/pippo/drc-mac80211/rc80211_minstrel.o
CC [M] /home/pippo/drc-mac80211/rc80211_minstrel_ht.o
LD [M] /home/pippo/drc-mac80211/mac80211.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/pippo/drc-mac80211/mac80211.mod.o
LD [M] /home/pippo/drc-mac80211/mac80211.ko
make: Leaving directory `/usr/src/linux-headers-3.12-1-686-pae'
pippo@pippo:~/drc-mac80211$ rmmod mac80211
etc...
 
I have a 64 bit image... I reinstalled and got the same error.

Could it be that the patch wont work on 3.11.0-12-generic?

The error msg. shows some errors in the module itself in my opinion

edit
How do I get 3.12 like you?
 
i don't know... virtual machine (virtualbox?) your system is a 64bit and you can install a system of 32bit, no problem..
you have install kernel-header from your architecture? (apt-get install linux-headers-generic)?
 

Site & Scene News

Popular threads in this forum