Help! br-lan: received packet on eth0.1 with own address as source address

ok, really stumped.

getting a lot of 'br-lan: received packet on eth0.1 with own address as source address'.
The router involved has a fixed mac address of 00:11:22:33:44:55 in CFE. I already have this 'clone' on my lan in my main router.... which is also showing a lot of these....

I can set a new MAC in br-lan (e.g. 00:11:22:33:55:55), but it does not seem to make any difference.

ifconfig gives:

br-lan    Link encap:Ethernet  HWaddr 00:11:22:33:66:55
          inet addr:192.168.1.207  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd45:1f55:8357::1/60 Scope:Global
          inet6 addr: fe80::211:22ff:fe33:6655/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4926 errors:0 dropped:12 overruns:0 frame:0
          TX packets:1996 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1081581 (1.0 MiB)  TX bytes:566581 (553.3 KiB)

eth0      Link encap:Ethernet  HWaddr 00:11:22:33:44:55
          inet6 addr: fe80::211:22ff:fe33:4455/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6876 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2931 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1449138 (1.3 MiB)  TX bytes:918756 (897.2 KiB)
          Interrupt:14

eth0.1    Link encap:Ethernet  HWaddr 00:11:22:33:44:55
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4926 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1996 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1081581 (1.0 MiB)  TX bytes:566581 (553.3 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:328 errors:0 dropped:0 overruns:0 frame:0
          TX packets:328 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:25265 (24.6 KiB)  TX bytes:25265 (24.6 KiB)

So I assume that the two routers are detecting the eth0/eth0 conflict of MAC address.
I've already bricked one router by trying to hand-modify the CFE and writing it over mtd0 (I guess it's checksummed, oh well).
I don't think there is any populated 'NVRAM' in the routers (nvram mtd5 seems empty).
cat /proc/mtd gives:

dev:    size   erasesize  name
mtd0: 00020000 00020000 "CFE"
mtd1: 0013694c 00020000 "kernel"
mtd2: 00e895b4 00020000 "rootfs"
mtd3: 00c40000 00020000 "rootfs_data"
mtd4: 00fc0000 00020000 "linux"
mtd5: 00020000 00020000 "nvram"

I can't see in uci how a mac address modification can be made to eth0?

my network file is:

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd45:1f55:8357::/48'

config interface 'lan'
        option force_link '1'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.1.207'
        option macaddr '00:11:22:33:66:55'
        option _orig_ifname 'eth0.1 radio0.network1'
        option _orig_bridge 'true'
        option ifname 'eth0.1'
        option gateway '192.168.1.1'
        option dns '192.168.1.1'

config switch
        option name 'eth0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'eth0'
        option vlan '1'
        option ports '0 1 2 3 4 5t'

the router is a BT Homehub V2A (bcm 63xx), running
LEDE Reboot 17.01.0 r3205-59508e3 / LuCI lede-17.01 branch (git-17.051.53299-a100738)

Any bright ideas appreciated :). I have a couple more of these routers, and they are pretty useless if they can't share a lan!
(I do want to use switch functionality, as this will be an OpenVPN client with one port looking out, and three ports as my private lan).

thanks in advance,

Simon

1 Like

to post an answer to my own question;
After much more googling, I came across:
https://onetransistor.blogspot.co.uk/2016/02/debrick-huawei-hg553-brcm6358-cfe.html
where modifying the CFE data area containing the mac address is explained.
I've produced a modified version with correct CRC32, and will flash the next router... and post back here if successful, and the steps to do it from within lede. If it's bricked, at least I'll have another doorstop!
s

instructions from lede prompt:
NOTE: these instructions are based on the CFE danitool produced for the BT Homehub 2A; if doing this on any other CFE, be very sure to check that the byte offsets make sense...

use ifconfig, and see that eth0 mac 00:11:22:33:44:55
cat /dev/mtd0 >cfe.bin
(copy file off to a windows machine - I used scp to a linux box with samba on it)
edit bytes 0x6a0-0x6a5 to a new (valid) mac (I used HxD).
set bytes 0x6A8-0x6AB to zeros (the crc).
Copy the block 0x580-0x6AB and paste into a new file, and save (e.g. crc.bin).
Use the crc32 program from the link above in windows like:
crc32le crc
gives something like:
CRC32: 0x8b75a384

enter these bytes in order over 0x6A8-0x6AB in the CFE file.

save the file (e.g. cfe-modified.bin), and copy back to the router.
cat /proc/mtd lists the available mtd partition names. mtd0 is 'CFE'

then in lede prompt:
mtd write cfe-modified.bin CFE

as a double check, read back using cat /dev/mtd0 >cfenew.bin, copy back to windows and compare with your modified file (e.g. in HxD).

reboot and cross fingers....

use ifconfig, and see that eth0 mac is now your new mac!

sorry to revive the old post...i have 3-4 router option globe surfer x1. some with cc and one with lede. all but lede has those error kern.warn kernel: [ 1706.730000] br-lan: received packet on eth0.1 with own address as source address every 5 minutes log. stp is off on those. Tried modiefied different hw mac (using ifconfig/edit etc/config/network)..not working..never tried cfe method. The lede has no such error. Atm I ignored those error..on cc
is your cfe change mac address works ? on what version of openwrt ?`

Looks like a MAC address conflict
I can't see your WAN config ,how do you connect the external network.

How are the routers connected? Are there any loops?

I think this is a message about ipv6 addresses and duplicate address detection, possibly for link local addresses.

I've heard this happens in certain kinds of bonding scenarios, but also might happen if a dumb switch mirrors back a DAD packet.

Linux 3.18.20 #1 Fri Sep 4 19:34:21 CEST 2015 mips GNU/Linux openwrt 15.05 on option globe gsx..configured it as client..no dhcp server no wireless, only lan activated ..2 port configured as single vlan.and I turned off ipv6. It happen on multiple network, and also happen on closed network ( gsx with laptop connection only, no internet no other client) just gsx and my laptop via single lan cable.
here's network config

cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd13:ca16:1e76::/48'

config interface 'lan'
        option ifname 'eth0.1'
        option force_link '1'
        option macaddr '00:0c:e3:69:7e:1a'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.202'
        option netmask '255.255.255.0'
        option gateway '192.168.1.1'
        option dns '8.8.8.8'

config switch
        option name 'rt305x'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'rt305x'
        option vlan '1'
        option ports '0 1 2 3 4 5 6t'

here is my ifconfig

root@DontklinG:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr 00:0C:E3:69:7E:1A
          inet addr:192.168.1.202  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:e3ff:fe69:7e1a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1164103 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1242281 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:124398043 (118.6 MiB)  TX bytes:152146307 (145.0 MiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:E3:69:7E:1A
          inet6 addr: fe80::20c:e3ff:fe69:7e1a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1170261 errors:15 dropped:5 overruns:0 frame:1
          TX packets:1242477 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:147099537 (140.2 MiB)  TX bytes:158395722 (151.0 MiB)
          Interrupt:5

eth0.1    Link encap:Ethernet  HWaddr 00:0C:E3:69:7E:1A
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1169709 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1242469 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:125993308 (120.1 MiB)  TX bytes:152159995 (145.1 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2016 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2016 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:151502 (147.9 KiB)  TX bytes:151502 (147.9 KiB)

here 's some logread

logread | grep br-lan
Mon May  6 10:25:47 2019 kern.warn kernel: [  288.490000] br-lan: received packet on eth0.1 with own address as source address
Mon May  6 10:30:03 2019 kern.warn kernel: [  544.490000] br-lan: received packet on eth0.1 with own address as source address
Mon May  6 10:34:19 2019 kern.warn kernel: [  800.490000] br-lan: received packet on eth0.1 with own address as source address
Mon May  6 10:38:35 2019 kern.warn kernel: [ 1056.490000] br-lan: received packet on eth0.1 with own address as source address
Mon May  6 10:42:51 2019 kern.warn kernel: [ 1312.490000] br-lan: received packet on eth0.1 with own address as source address
Mon May  6 10:47:07 2019 kern.warn kernel: [ 1568.490000] br-lan: received packet on eth0.1 with own address as source address
Mon May  6 10:51:23 2019 kern.warn kernel: [ 1824.490000] br-lan: received packet on eth0.1 with own address as source address
Mon May  6 10:55:39 2019 kern.warn kernel: [ 2080.490000] br-lan: received packet on eth0.1 with own address as source address
Mon May  6 10:59:55 2019 kern.warn kernel: [ 2336.490000] br-lan: received packet on eth0.1 with own address as source address
Mon May  6 11:04:11 2019 kern.warn kernel: [ 2592.490000] br-lan: received packet on eth0.1 with own address as source address

Are you sure there are no other devices in your network with the same MAC address?
In your first post you mentioned "i have 3-4 router", how are those routers connected? how are they configured? are you sure there isn't a loop in your connections?

I tried gsx one at a time. So on closed network only 1 laptop and one gsx in the network connected via cable. So I`m sure no other device connected.
I dont know how to detect loop, but if i turn on stp protection ..the error pop up every 10 second (not 5minutes like my previous config).

Tried lede build and the error is gone, but lede is too heavy for this 32m ram. Back to 15.05 with same error now.

Sorry to respond to such an old post, also been seeing this, seems to occur when I run iftop.
I suspect when a process enables filtering / listening on br-lan there wlan0 and eth0.1 which have the mac results in this messages and also disable of wlan0.
I worked around this with (RPI4)

#!/bin/bash
dmesg -T -x --follow |
while read LINE
do
   if [[ "$LINE" == *"received packet on wlan0 with own address"* ]]; then
      sleep 1
      echo "RESTART hostapd: $LINE" >> /var/log/wlan0.log
      systemctl restart hostapd
   fi
done

Hi system32.
My gsx wifi is disabled. So this script run on startup or on interval ?

A switches multiple vlans typically all use the same mac address. If you need to bridge two interfaces that are sharing macs, then don't use the real physical interface, create one through it using kmod-macvlan so you keep those collisions away, and ideally do it on both sides of the vlan so that the real interfaces that are sharing a mac never communicate in a way that would loop like this.