acx-mac80211-20080210 won't compile

  • Because I need to get my ACX 111 based wireless card working with WPA, I downloaded the acx-mac80211-20080210.tar.bz2 to try and compile it myself.
    I use the "building outside the kernel tree" method as described in the accompanying README, but compile fails like this:

    peter@cheetah:/usr/src/acx-mac80211-20080210$ sudo make -C /lib/modules/`uname -r`/build M=`pwd`
    make: Entering directory `/usr/src/linux-headers-2.6.24-19-generic'
      LD      /usr/src/acx-mac80211-20080210/built-in.o
      CC [M]  /usr/src/acx-mac80211-20080210/common.o
    /usr/src/acx-mac80211-20080210/common.c: In function ‘acx_s_proc_diag_output’:
    /usr/src/acx-mac80211-20080210/common.c:947: warning: format ‘%u’ expects type ‘unsigned int’, but argument 4 has type ‘long unsigned int’
    /usr/src/acx-mac80211-20080210/common.c: In function ‘acx_s_set_beacon_template’:
    /usr/src/acx-mac80211-20080210/common.c:1614: warning: format ‘%08X’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’
    /usr/src/acx-mac80211-20080210/common.c: In function ‘acx_add_interface’:
    /usr/src/acx-mac80211-20080210/common.c:4225: error: ‘struct ieee80211_if_init_conf’ has no member named ‘vif’
    /usr/src/acx-mac80211-2008/usr/src/linux-headers-2.6.24-19-generic/include/net/mac80211.h0210/common.c: In function ‘acx_remove_interface’:
    /usr/src/acx-mac80211-20080210/common.c:4262: warning: ISO C90 forbids mixed declarations and code
    make[1]: *** [/usr/src/acx-mac80211-20080210/common.o] Error 1
    make: *** [_module_/usr/src/acx-mac80211-20080210] Error 2
    make: Leaving directory `/usr/src/linux-headers-2.6.24-19-generic'

    The error is about the member 'vif' of the ieee80211_if_init_conf struct.
    The header file /usr/src/linux-headers-2.6.24-19-generic/include/net/mac80211.h contains the definition of this struct, but it looks like this:

    struct ieee80211_if_init_conf {
            int if_id;
            enum ieee80211_if_types type;
            void *mac_addr;

    Is there an easy way to fix this?

    • David Planella
      David Planella

      Hi Peter,

      Many thanks for your post. I have opened a bug at our tracker and submitted two patches to fix this issue [1]. However, notice that the mac80211 port is still unstable and might not work for you.

      Also please feel free to test the mac80211 version from our repository, which is more up-to-date (but still unstable) than the release you are trying to use. For more information about getting the driver from the acx repository, please have a look at the development section in our wiki [2].