
On 06.06.2017 14:12, Duncan Roe via luv-main wrote:
(Sorry this is late - changing email adress)
On Sat, May 27, 2017 at 07:09:00PM +1000, luv-main wrote:
On 27.05.2017 13:11, Piers Rowan via luv-main wrote:
Hi there,
I have tried both Netgear A6210 & TP-LINK Archer T2UH using a few different sources from git hub. All of them fail at *make* command.
This is a common error for some sources: IEEE80211_NUM_BANDS??? undeclared here (not in a function)
I am clutching at straws here but is there a library that I am missing is needed?
I am CentOS 7 / 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Thanks
Piers
#1
[root@qld Netgear-A6210]# make export DBGFLAGS
*** Building driver with debug messages ***
cp -f os/linux/Makefile.6 /home/webgen/Downloads/Netgear-A6210/os/linux/Makefile make -C /lib/modules/3.10.0-514.16.1.el7.x86_64/build DBGFLAGS=-DDBG SUBDIRS=/home/webgen/Downloads/Netgear-A6210/os/linux modules make[1]: Entering directory `/usr/src/kernels/3.10.0-514.16.1.el7.x86_64' CC [M] /home/webgen/Downloads/Netgear-A6210/os/linux/../../sta/assoc.o In file included from /home/webgen/Downloads/Netgear-A6210/include/os/rt_linux.h:77:0, from /home/webgen/Downloads/Netgear-A6210/include/rtmp_os.h:30, from /home/webgen/Downloads/Netgear-A6210/include/rtmp_comm.h:64, from /home/webgen/Downloads/Netgear-A6210/include/rt_config.h:34, from /home/webgen/Downloads/Netgear-A6210/os/linux/../../sta/assoc.c:28: /home/webgen/Downloads/Netgear-A6210/include/cfg80211.h:45:49: error: ???IEEE80211_NUM_BANDS??? undeclared here (not in a function) struct ieee80211_supported_band Cfg80211_bands[IEEE80211_NUM_BANDS]; ^ make[2]: *** [/home/webgen/Downloads/Netgear-A6210/os/linux/../../sta/assoc.o] Error 1 make[1]: *** [_module_/home/webgen/Downloads/Netgear-A6210/os/linux] Error 2 make[1]: Leaving directory `/usr/src/kernels/3.10.0-514.16.1.el7.x86_64' make: *** [debug] Error 2 [root@qld Netgear-A6210]#
#2
[root@qld rtl8812AU-driver-4.3.20]# make make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.10.0-514.16.1.el7.x86_64/build M=/home/webgen/Downloads/rtl8812AU-driver-4.3.20 modules make[1]: Entering directory `/usr/src/kernels/3.10.0-514.16.1.el7.x86_64' CC [M] /home/webgen/Downloads/rtl8812AU-driver-4.3.20/os_dep/linux/ioctl_cfg80211.o /home/webgen/Downloads/rtl8812AU-driver-4.3.20/os_dep/linux/ioctl_cfg80211.c:92:12: error: ???IEEE80211_BAND_2GHZ??? undeclared here (not in a function) .band = IEEE80211_BAND_2GHZ, \ ^ /home/webgen/Downloads/rtl8812AU-driver-4.3.20/os_dep/linux/ioctl_cfg80211.c:150:2: note: in expansion of macro ???CHAN2G??? CHAN2G(1, 2412, 0), ^ /home/webgen/Downloads/rtl8812AU-driver-4.3.20/os_dep/linux/ioctl_cfg80211.c:101:12: error: ???IEEE80211_BAND_5GHZ??? undeclared here (not in a function) .band = IEEE80211_BAND_5GHZ, \ ^ _______________________________________________ luv-main mailing list luv-main@luv.asn.au https://lists.luv.asn.au/cgi-bin/mailman/listinfo/luv-main
This looks more like a version missmatch, ie the driver code is for a different kernel, a missing library is more likely to produce an error like "undeclared here first use of a function". Kernel version miss match when compiling external drivers can produce some very difficult to trace errors. External open source drivers will always be for a particuler kernel or series of kernels as the Linux kernel does not garruntee source level compatibilty in drivers over differnt kernel versions.
Lindsay _______________________________________________ luv-main mailing list luv-main@luv.asn.au https://lists.luv.asn.au/cgi-bin/mailman/listinfo/luv-main
Running find/grep over all Linux source trees on my system shows IEEE80211_NUM_BANDS is defined and used in the following kernels:
linux-3.0 linux-3.10.4 linux-3.11.4 linux-3.12.6 linux-3.13.9 linux-3.14 linux-3.15.2 linux-3.15.5 linux-3.16.1 linux-3.17 linux-3.17.4 linux-3.18.0 linux-3.19.0 linux-3.2.1 linux-3.2.7 linux-3.2.9 linux-3.3 linux-3.4.2 linux-3.5.4 linux-3.6.9 linux-3.7.3 linux-3.8.7 linux-4.0.0 linux-4.1.0 linux-4.1.2 linux-4.2.0 linux-4.3.3 linux-4.4.0 linux-4.4.14 linux-4.4.4 linux-4.4.5 linux-4.4.6 linux-4.5.0 linux-4.5.1 linux-4.5.2 linux-4.6.0
I do have linux-4.7.0 so I guess it disappeared then,
Cheers ... Duncan.
Have a look around the source where the particular variable is/was defined. THe linux kernel almost NEVER drops function it DOES though regularly change and almost the ONLY way of finding out what one is NOW supposed to do is go through the source code, This with the kernel source is something of a challenge! IMPORTANT NOTE, This is the major penalty if staying near the bleeding, One of THE principle reasons for the stable version of Debain using a relatively old kernel IS stability. Lindsay