July 09, 2020, 02:58:04 am


Have you visited the Allwinner Chipset wiki? - http://linux-sunxi.org/

AP6210 module not working on CubieTruck. Any idea what's wrong?

Started by discopig, June 13, 2014, 05:43:16 pm

Previous topic - Next topic


Hello, I've tried compiling a 3.4.90+ kernel with the patches included on this page: http://linux-sunxi.org/Cubietruck/AP6210

The kernel boots fine, all the modules work fine... except for the AP6210 module.

When I try to modprobe it, I get this error:

Quote~ # modprobe -v ap6210
insmod /lib/modules/3.4.90+/kernel/drivers/net/wireless/ap6210/ap6210.ko
ERROR: could not insert 'ap6210': Operation not permitted

Here is what dmesg has to say about the problem: http://pastie.org/pastes/9287752/text?key=dx5htwslbdyipajy5mbfqa

I see some interesting lines in that dmesg log:

Quote[   56.313236] [ap6210] select wifi ap6210
[   56.324039] [ap6210] Initializing ap6210.
[   56.337317] [ap6210] platform device registered successfully.
[   56.352059] [ap6210] Using ap6210 configuration.
[   56.363222] [ap6210] [dhd_module_init] get wl_host_wake gpio failed
[   58.082059] [ap6210] select wifi ap6210

Maybe it's a GPIO error? My script.bin looks fine (it's the default one), so I'm not sure what it could be.

I've tried many things, including trying a few gcc versions, modifying Makefile options, even trying https://github.com/EddyBeaupre/linux-sunxi-ap6210.git instead of linux-sunxi + patches, but I still get the same error each time.

I've also doublechecked my kernel config, and generated a new one many times.

My CubieTruck suffers from constant system freezes and hang ups using 3.4.79, so downgrading to a kernel with working wifi modules is not an option, I'd rather figure out how to get it working on 3.4.86 or 3.4.90, as they are two versions that don't make my cubietruck freeze and hang incessantly.

This is all done on an Ubuntu 13.10 installation.


I was trying to compile (gcc 4.6.3) kernel (3.4.9x) with those patches and I also could not get the driver working. I also have to alter Makefile because I was using 4.6.3 ... Since I was doing a lot of compilation those days I can't be sure but I think the driver was loaded "successfully with displaying some error"

There must be some unsolved issues so I went back to the standard bcmdhd module. Try my 3.4.93 latest kernel if it suits your situation - wifi is working the standard way: module bcmdhd.
Debian and Ubuntu images with kernel 3.4.110, 4.3.3, 4.4


I'll try your kernel, thanks for the help!

EDIT: It works perfectly, thanks again, I'll just stay on this kernel since it's stable and has wifi.



I'm not aware of any unresolved issues, and both driver are basically the same. The only issue i'm aware of is some version of gcc don't understand the -fno-aggressive-loop-optimizations option in the makefile, and it can be safely remove if the compiler does not understand it since it is there for newer version of gcc which are a little bit too agressive on loop optimisation.

The other thing that may cause gpio error is if you didn't load the gpio_sunxi module before loading ap6210.

And don't forget to install the firmware too.

If you're having trouble compiling it. i also have a debian package avalable.

If you're still facing issues, please increase the kernel verbosity to 7 and send me the log.