cvs-daily 2007101107 fails to build against 2.6.23 kernel

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=4354

tomk

11-10-2007 14:09:20

The error is as follows
[code3c4bx71m] CC [M] /home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.o
/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.c: In function 'rt2x00lib_packetfilter_scheduled':
/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.c:434: error: 'const struct ieee80211_ops' has no member named 'configure_filter'
/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.c: In function 'rt2x00lib_configuration_scheduled':
/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.c:445: error: 'IEEE80211_ERP_CHANGE_PREAMBLE' undeclared (first use in this function)
/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.c:445: error: (Each undeclared identifier is reported only once
/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.c:445: error: for each function it appears in.)
/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.c: In function 'rt2x00lib_probe_dev':
/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.c:1158: error: 'IEEE80211_IF_TYPE_INVALID' undeclared (first use in this function)
make[2]: *** [/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107/rt2x00dev.o] Error 1
make[1]: *** [_module_/home/tomk/builds/rt2x00-cvs/src/rt2x00-cvs-2007101107] Error 2
make: *** [default] Error 2[/code3c4bx71m]

I'm aware that there is no specific support for build problems of this kind, but I'm posting it anyway in case it's of interest.

Amp_God

11-10-2007 15:02:55

[code1vw2s4dd]
Linux ThunderBird 2.6.23 #1 Wed Oct 10 21:41:05 EEST 2007 i686 GNU/Linux
[/code1vw2s4dd]

I archieved that with applying linux-2.6 GIT on top of rt2x00 git.

works like a charm ) (rt2500)

[code1vw2s4dd]
wlan0 IEEE 802.11b ESSID:"xxxxxxx"
Mode:Managed Frequency:2.432 GHz Access Point: 00:0D:0B:CB:94:1D
Bit Rate=11 Mb/s Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Encryption key:xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx
Link Quality=88/100 Signal level=-68 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
[/code1vw2s4dd]

So,
i suggest you do the same.

[code1vw2s4dd]
cg clone git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git
cd rt2x00
git pull git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[/code1vw2s4dd]

IvD

11-10-2007 16:59:07

Pulling linux-2.6 isn't even needed, pulling rt2x00.git is sufficient.

Amp_God

11-10-2007 17:46:08

Pulling linux-2.6 isn't even needed, pulling rt2x00.git is sufficient.[/quote1wzhlmp6]

rt2x00 GIT had 2.6.23-rc9 when i downloaded it.
linux-2.6 patched it to 2.6.23. roll

IvD

11-10-2007 17:55:50

True, but rt2x00.git itself contains all kernel patches where rt2x00.cvs relies on. And those patches are not in 2.6.23 yet.
So if you need the very latest kernel, then pull in linux-2.6 but if it isn't needed, rt2x00.git is sufficient.

btw, rt2x00.git is updated from wireless-2.6, so as soon as linux-2.6 is brought into wireless-2.6 then rt2x00 will be updated as well.

chrisV

11-10-2007 19:17:41

You can also just copy the relevant mac80211/wireless files from rt2x00 git into the vanilla 2.6.23 kernel tree and that works fine, for me at least. If anyone wants a list of the files to copy over I can supply it.

Chris

IvD

11-10-2007 20:17:35

I doubt that will work since latest rt2x00 depends on mac80211 API changes which are not in the 2.6.23 release.

chrisV

11-10-2007 20:58:06

I doubt that will work since latest rt2x00 depends on mac80211 API changes which are not in the 2.6.23 release.[/quote2z4j2960]

It does if you "copy the relevant mac80211/wireless files from rt2x00 git into the vanilla 2.6.23 kernel tree".

Why bother? It enables me to run the 2.6.23 kernel now and it will avoid me having to move to 2.6.24-rc1 when you do.

Chris

ilama

16-10-2007 19:03:41

You can also just copy the relevant mac80211/wireless files from rt2x00 git into the vanilla 2.6.23 kernel tree and that works fine, for me at least. If anyone wants a list of the files to copy over I can supply it.

Chris[/quote1ghsmirv]

I'd be interested in that list

chrisV

16-10-2007 21:11:01

I'd be interested in that list[/quote1smfyjmv]
wireless-2.6 git is now (as of today) up to kernel 2.6.23 and has rt2x00 in it too (on the everything branch), so you can now use that or rt2x00 git without fiddling around if you want the 2.6.23 kernel.

However, if you want the files necessary to copy across from wireless-2.6.git/everything or from rt2x00.git to a vanilla 2.6.23 kernel to compile rt2x00 CVS, these are they

1. Everything in net/mac80211

2. Everything in net/wireless

3. The following in include/linux
ieee80211.h
nl80211.h
wireless.h

4. The following in include/net
cfg80211.h
mac80211.h
wireless.h
ieee80211*
(the latter comprising ieee80211_crypt.h, ieee80211.h ieee80211_radiotap.h, ieee80211softmac.h and ieee80211softmac_wx.h)

Run config/menuconfig/xconfig after doing this to choose appropriate mac80211 kernel options.

You can then compile rt2x00 CVS against these.

Chris