diff -aurp a/crda-1.1.2/crda.c b/crda-1.1.2/crda.c --- a/crda-1.1.2/crda.c 2011-11-07 19:52:28.884873650 +0000 +++ b/crda-1.1.2/crda.c 2011-11-07 19:53:30.501874372 +0000 @@ -21,7 +21,7 @@ #include "regdb.h" #include "reglib.h" -#if !defined(CONFIG_LIBNL20) && !defined(CONFIG_LIBNL30) +#if !defined(CONFIG_LIBNL20) && !defined(CONFIG_LIBNL30) && !defined(CONFIG_LIBNL31) /* libnl 2.0 compatibility code */ static inline struct nl_handle *nl_socket_alloc(void) { @@ -44,7 +44,7 @@ static inline int __genl_ctrl_alloc_cach #define genl_ctrl_alloc_cache __genl_ctrl_alloc_cache #define nl_sock nl_handle -#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 */ +#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 && CONFIG_LIBNL31 */ struct nl80211_state { struct nl_sock *nl_sock; diff -aurp a/crda-1.1.2/Makefile b/crda-1.1.2/Makefile --- a/crda-1.1.2/Makefile 2011-11-07 19:52:28.884873650 +0000 +++ b/crda-1.1.2/Makefile 2011-11-07 19:54:25.906872386 +0000 @@ -48,19 +48,26 @@ INSTALL ?= install NL1FOUND := $(shell pkg-config --atleast-version=1 libnl-1 && echo Y) NL2FOUND := $(shell pkg-config --atleast-version=2 libnl-2.0 && echo Y) NL3FOUND := $(shell pkg-config --atleast-version=3 libnl-3.0 && echo Y) +NL31FOUND := $(shell pkg-config --atleast-version=3 libnl-3.1 && echo Y) -ifeq ($(NL3FOUND),Y) +ifeq ($(NL31FOUND),Y) CFLAGS += -DCONFIG_LIBNL30 -NLLIBS += -lnl-genl -NLLIBNAME = libnl-3.0 +NLLIBS += $(shell pkg-config --libs libnl-genl-3.1) +NLLIBNAME = libnl-3.1 else - ifeq ($(NL2FOUND),Y) - CFLAGS += -DCONFIG_LIBNL20 - NLLIBS += -lnl-genl - NLLIBNAME = libnl-2.0 + ifeq ($(NL3FOUND),Y) + CFLAGS += -DCONFIG_LIBNL30 + NLLIBS += $(shell pkg-config --libs libnl-genl-3.0) + NLLIBNAME = libnl-3.0 else - ifeq ($(NL1FOUND),Y) - NLLIBNAME = libnl-1 + ifeq ($(NL2FOUND),Y) + CFLAGS += -DCONFIG_LIBNL20 + NLLIBS += -lnl-genl + NLLIBNAME = libnl-2.0 + else + ifeq ($(NL1FOUND),Y) + NLLIBNAME = libnl-1 + endif endif endif endif