Bananian GMAC VLAN problem

9 7118
Hi, I'm trying to use the banana pi in combination with a managed switch as a router.
The problem is that the current sunxi-gmac driver logs every vlan frame on info level. This was already described in a post on the official sunxi mailinglist 2,5 months ago [1]. It's only a single line patch but apparently noone is using the vlan support as this bug still exists. It also blocks the system with 100% cpu load from rsyslogd.

I tried to build a patched version of the sunxi v3.4 kernel with the existing kernel config on arch linux, but failed doing so.
I used the gcc 4.7 linaro gnueabihf toolchain according to [2] but ran into an error with paths pointing to /home/bananapi :

  1. $ make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage modules
Copy the Code

  1. make: *** No rule to make target '/home/bananapi/bananapi_src/linux-firmware//rtlwifi/rtl8188efw.bin', needed by 'firmware/rtlwifi/rtl8188efw.bin.gen.o'.
  2. Makefile:945: recipe for target 'firmware' failed
Copy the Code
Any insight into whether this could be fixed in a future build or help with the build process for a banian kernel would be greatly appreciated.

[1] ... ook.arm.sunxi/10568
Are you cross-compiling or compiling directly on BPi itself?
Is the path /home/bananapi/bananapi_src/  valid?

You could try building with the help of instructions here :,_script.bin_and_linux-kernel

I'm crosscompiling on x86_64 with arch linux, but didn't use the banana pi source. Ill try that and report back.

ok I run into the same error with the banana pi source. Any other ideas?

Is the path /home/bananapi/bananapi_src/  valid?

Nope not at all.

That's in the kernel .config file, so you've probably copied the old config over.

In Menuconfig it's under Device Drivers->Generic Driver Options->Firmware blobs root directory

You should download the full set of blobs somewhere (git://, and then change that setting to the directory it's in.

Thank you, that did the trick.

A quick test:
300 Mbit/s for VLAN in
140 Mbit/s for simultaneous traffic through vlan in and untagged out.

the fix applied:
--- a/drivers/net/ethernet/allwinner/gmac/gmac_desc.c
+++ b/drivers/net/ethernet/allwinner/gmac/gmac_desc.c
<at>  <at>  -49,7 +49,7  <at>  <at>  int desc_get_tx_status(void *data, struct
gmac_extra_stats *x,

         if (p->desc0.tx.vlan_tag) {
-               printk(KERN_INFO "GMAC TX status: VLAN frame\n");
+               pr_debug("GMAC TX status: VLAN frame\n");

I have the same problem.

Being a bit unfamilar to compiling kernels:

Is there a chance for eleminating this bug in
future standard kernels for the bananapi?

Until than I use this little script in cron.hourly
  1. #!/bin/sh
  2. grep -v "GMAC TX status: VLAN frame" /var/log/syslog > /var/log/syslog.mod
  3. cp /var/log/syslog.mod /var/log/syslog
  4. grep -v "GMAC TX status: VLAN frame" /var/log/messages > /var/log/messages.mod
  5. cp /var/log/messages.mod /var/log/messages
  6. grep -v "GMAC TX status: VLAN frame" /var/log/kern.log > /var/log/kern.log.mod
  7. cp /var/log/kern.log.mod /var/log/kern.log
  8. exit
Copy the Code

This has been added to the Roadmap for the next minor release:

The release is planned to be published in October.

Interesting. I configured VLAN trunking yesterday and am getting very low throughput: iperf gives me 1.57Mbit/sec! Is this also what you guys are seeing? And does this problem go away  once the kernel debug message has been removed?

Never mind. Turned out that was indeed the cause!

You have to log in before you can reply Login | Sign Up

Points Rules