Modify

Opened 6 years ago

Last modified 4 years ago

#11702 new defect

Ethernet strange / b44 / brcm47xx / Dell Truemobile 2300 v1 / UDP broadcast seldom working

Reported by: Bastian Bittorf <bittorf@…> Owned by: developers
Priority: normal Milestone: Barrier Breaker 14.07
Component: base system Version: Trunk
Keywords: diag b44 ethernet Cc:

Description

tested with trunk 32420 / kernel 3.3.8 on brcm47xx

since a long time openwrt is not good working _for us_ on these units, but we have a lot of them 8-). the special thing is:

UDP broadcast traffic goes very seldom trough,
unicast traffic seems to works normal.

we recognized this using olsrd and tcpdump.
the devices never manage to receive/send enough
udp-protocol-traffic to establish a link.

root@box:~ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:90:4C:49:00:2C  
          inet addr:10.63.14.33  Bcast:10.63.14.63  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:428 errors:0 dropped:0 overruns:0 frame:0
          TX packets:298 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:51528 (50.3 KiB)  TX bytes:44332 (43.2 KiB)
          Interrupt:4 

eth1      Link encap:Ethernet  HWaddr 00:90:4C:4A:00:2C  
          inet addr:10.63.14.25  Bcast:10.63.14.27  Mask:255.255.255.252
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:5 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:510 (510.0 B)  TX bytes:510 (510.0 B)

wlan0     Link encap:Ethernet  HWaddr 00:90:96:AE:0B:2E  
          inet addr:10.63.14.1  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
root@box:~ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 32
    link/ether 00:90:4c:49:00:2c brd ff:ff:ff:ff:ff:ff
    inet 10.63.14.33/27 brd 10.63.14.63 scope global eth0
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:90:4c:4a:00:2c brd ff:ff:ff:ff:ff:ff
    inet 10.63.14.25/30 brd 10.63.14.27 scope global eth1
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 32
    link/ether 00:90:96:ae:0b:2e brd ff:ff:ff:ff:ff:ff
    inet 10.63.14.1/8 brd 10.255.255.255 scope global wlan0

root@box:~ cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:     510       9    0    0    0     0          0         0      510       9    0    0    0     0       0          0
  eth1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
 wlan0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth0:   68680     560    0    0    0     0          0         0    53744     360    0    0    0     0       0          0
root@box:~ robocfg show
probing eth1
phyid: Success
probing eth0
phyid: Success
bcm53xx_probe: Success
root@box:~ mii-tool 
SIOCGMIIPHY on 'eth0' failed: Invalid argument
eth1: negotiated 100baseTx-FD flow-control, link ok
root@box:~ neigh.sh       # olsr
Table: Links
Local IP        Remote IP       Hyst.   LQ      NLQ     Cost
10.63.14.33     10.63.17.33     0.00    0.000   0.000   INFINITE

Table: Neighbors
IP address      SYM     MPR     MPRS    Will.   2 Hop Neighbors
10.63.17.33     NO      NO      NO      7       3

dmesg/klog:

[    0.000000] Linux version 3.3.8 (bastian@ejbwkvm) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #3 Mon Jun 18 15:10:38 CEST 2012
[    0.000000] CFE's entrypoint seal doesn't match.
[    0.000000] CPU revision is: 00024000 (Broadcom BMIPS32)
[    0.000000] bcm47xx: using ssb bus
[    0.000000] ssb: Found chip with id 0x4710, rev 0x00 and package 0x00
[    0.000000] ssb: Core 0 found: SDRAM (cc 0x803, rev 0x00, vendor 0x4243)
[    0.000000] ssb: Core 1 found: ILine 20 (cc 0x801, rev 0x00, vendor 0x4243)
[    0.000000] ssb: Core 2 found: Fast Ethernet (cc 0x806, rev 0x00, vendor 0x4243)
[    0.000000] ssb: Core 3 found: V90 (cc 0x807, rev 0x00, vendor 0x4243)
[    0.000000] ssb: Core 4 found: USB 1.1 Hostdev (cc 0x808, rev 0x00, vendor 0x4243)
[    0.000000] ssb: Core 5 found: PCI (cc 0x804, rev 0x00, vendor 0x4243)
[    0.000000] ssb: Core 6 found: MIPS (cc 0x805, rev 0x00, vendor 0x4243)
[    0.000000] ssb: Core 7 found: EXTIF (cc 0x811, rev 0x00, vendor 0x4243)
[    0.000000] ssb: Core 8 found: Fast Ethernet (cc 0x806, rev 0x00, vendor 0x4243)
[    0.000000] ssb: Initializing MIPS core...
[    0.000000] ssb: set_irq: core 0x0806, irq 4 => 4
[    0.000000] ssb: set_irq: core 0x0811, irq 7 => 2
[    0.000000] ssb: set_irq: core 0x0801, irq 5 => 2
[    0.000000] ssb: set_irq: core 0x0806, irq 7 => 5
[    0.000000] ssb: after irq reconfiguration
[    0.000000] ssb: core 0x0803, irq : 2(S)  3  4  5  6  D  I*
[    0.000000] ssb: core 0x0801, irq : 2(S)* 3  4  5  6  D  I 
[    0.000000] ssb: core 0x0806, irq : 2(S)  3  4* 5  6  D  I 
[    0.000000] ssb: core 0x0807, irq : 2(S)  3  4  5  6  D* I 
[    0.000000] ssb: core 0x0808, irq : 2(S)  3* 4  5  6  D  I 
[    0.000000] ssb: core 0x0804, irq : 2(S)  3  4  5  6* D  I 
[    0.000000] ssb: core 0x0805, irq : 2(S)  3  4  5  6  D  I*
[    0.000000] ssb: core 0x0811, irq : 2(S)* 3  4  5  6  D  I 
[    0.000000] ssb: core 0x0806, irq : 2(S)  3  4  5* 6  D  I 
[    0.000000] found parallel flash.
[    0.000000] can not parse nvram name boardtype with value bcm94710ap got -22
[    0.000000] Unsupported SPROM revision 0 detected. Will extract v1
[    0.000000] ssb: Sonics Silicon Backplane found at address 0x18000000
[    0.000000] Serial init done.
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 01000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone PFN ranges:
[    0.000000]   Normal   0x00000000 -> 0x00001000
[    0.000000] Movable zone start PFN for each node
[    0.000000] Early memory PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00001000
[    0.000000] On node 0 totalpages: 4096
[    0.000000] free_area_init_node: node 0, pgdat 802b17b0, node_mem_map 802f9000
[    0.000000]   Normal zone: 32 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 4064 pages, LIFO batch:0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 4064
[    0.000000] Kernel command line:  root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
[    0.000000] PID hash table entries: 64 (order: -4, 256 bytes)
[    0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Enabling BCM4710A0 cache workarounds.
[    0.000000] Primary instruction cache 8kB, VIPT, 2-way, linesize 16 bytes.
[    0.000000] Primary data cache 4kB, 2-way, VIPT, no aliases, linesize 16 bytes
[    0.000000] Memory: 13156k/16384k available (2388k kernel code, 3228k reserved, 366k data, 164k init, 0k highmem)
[    0.000000] NR_IRQS:128
[    0.000000] Calibrating delay loop... 82.43 BogoMIPS (lpj=164864)
[    0.044000] pid_max: default: 32768 minimum: 301
[    0.044000] Mount-cache hash table entries: 512
[    0.056000] NET: Registered protocol family 16
[    0.100000] bio: create slab <bio-0> at 0
[    0.120000] Switching to clocksource MIPS
[    0.144000] ssb: PCIcore in host mode found
[    0.452000] PCI host bridge to bus 0000:00
[    0.452000] pci_bus 0000:00: root bus resource [mem 0x40000000-0x7fffffff]
[    0.452000] pci_bus 0000:00: root bus resource [io  0x0100-0x07ff]
[    0.452000] pci 0000:00:00.0: [14e4:4710] type 0 class 0x000600
[    0.452000] PCI: Fixing up bridge 0000:00:00.0
[    0.452000] pci 0000:00:00.0: setting latency timer to 64
[    0.452000] PCI: Fixing up device 0000:00:00.0
[    0.452000] PCI: Fixing latency timer of device 0000:00:00.0 to 168
[    0.452000] pci 0000:00:00.0: reg 10: [mem 0x00000000-0x00001fff]
[    0.452000] pci 0000:00:00.0: reg 14: [mem 0x00000000-0x07ffffff pref]
[    0.456000] pci 0000:00:01.0: [168c:0013] type 0 class 0x000200
[    0.456000] pci 0000:00:01.0: reg 10: [mem 0x00000000-0x0000ffff]
[    0.460000] pci 0000:00:01.0: BAR 0: assigned [mem 0x40000000-0x4000ffff]
[    0.480000] NET: Registered protocol family 2
[    0.480000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.484000] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[    0.484000] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[    0.484000] TCP: Hash tables configured (established 512 bind 512)
[    0.484000] TCP reno registered
[    0.484000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.484000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.488000] NET: Registered protocol family 1
[    0.488000] PCI: CLS 0 bytes, default 16
[    0.504000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.504000] JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.508000] msgmni has been set to 25
[    0.508000] io scheduler noop registered
[    0.508000] io scheduler deadline registered (default)
[    0.512000] Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled
[    0.528000] bcm47xx_pflash: flash init: 0x1fc00000 0x00400000
[    0.528000] Physically mapped flash: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x0022a8
[    0.528000] Amd/Fujitsu Extended Query Table at 0x0040
[    0.528000]   Amd/Fujitsu Extended Query version 1.1.
[    0.528000] number of CFI chips: 1
[    0.528000] bcm47xx_pflash: Flash device: 0x400000 at 0x1fc00000
[    0.532000] bcm47xx_part: bootloader size: 262144
[    0.532000] bcm47xx_part: Looking for dual image
[    0.536000] bcm47xx_part: TRX offset : 0
[    0.536000] 4 bcm47xx partitions found on MTD device Physically mapped flash
[    0.536000] Creating 4 MTD partitions on "Physically mapped flash":
[    0.536000] 0x000000000000-0x000000040000 : "cfe"
[    0.548000] 0x000000040000-0x0000003f0000 : "linux"
[    0.556000] 0x000000127400-0x0000003f0000 : "rootfs"
[    0.556000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[    0.568000] mtd: partition "rootfs" set to be root filesystem
[    0.568000] mtd: partition "rootfs_data" created automatically, ofs=2E0000, len=110000 
[    0.568000] 0x0000002e0000-0x0000003f0000 : "rootfs_data"
[    0.580000] 0x0000003f0000-0x000000400000 : "nvram"
[    0.596000] bcm47xx_sflash: error registering platform driver: -19
[    0.600000] bcm47xx_nflash: error registering platform driver: -19
[    0.600000] b44: Broadcom 44xx/47xx 10/100 PCI ethernet driver version 2.0
[    0.608000] b44 ssb0:2: eth0: Broadcom 44xx/47xx 10/100 PCI ethernet driver 00:90:4c:49:00:2c
[    0.616000] b44 ssb0:5: eth1: Broadcom 44xx/47xx 10/100 PCI ethernet driver 00:90:4c:4a:00:2c
[    0.620000] BCM47xx Watchdog Timer enabled (30 seconds, nowayout)
[    0.628000] TCP westwood registered
[    0.628000] NET: Registered protocol family 17
[    0.632000] 8021q: 802.1Q VLAN Support v1.8
[    0.632000] Please be patient, while OpenWrt loads ...
[    0.656000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[    0.660000] Freeing unused kernel memory: 164k freed
[    7.624000] diag: Detected 'Dell TrueMobile 2300'
[    7.720000] b44 ssb0:2: eth0: Link is up at 100 Mbps, full duplex
[    7.724000] b44 ssb0:2: eth0: Flow control is off for TX and off for RX
[    8.988000] roboswitch: Probing device eth0: No Robo switch in managed mode found, phy_id = 0xffffffff
[    8.988000] roboswitch: Probing device eth1: 
[    8.988000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[    8.988000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[    8.988000] No Robo switch in managed mode found, phy_id = 0xffffffff
[    8.988000] roboswitch: Probing device eth2: No such device
[    8.988000] roboswitch: Probing device eth3: No such device
[   16.844000] JFFS2 notice: (281) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (1 unchecked, 0 orphan) and 3 of xref (0 dead, 0 orphan) found.
[   17.388000] b44 ssb0:2: eth0: powering down PHY
[   97.084000] Compat-wireless backport release: compat-wireless-2012-06-14
[   97.084000] Backport based on wireless-testing.git master-2012-06-14
[   97.084000] compat.git: wireless-testing.git
[   97.196000] cfg80211: Calling CRDA to update world regulatory domain
[   97.196000] cfg80211: World regulatory domain updated:
[   97.196000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[   97.196000] cfg80211:   (2400000 KHz - 2494000 KHz @ 40000 KHz), (N/A, 3500 mBm)
[   97.196000] cfg80211:   (4910000 KHz - 5895000 KHz @ 40000 KHz), (N/A, 3500 mBm)
[   97.556000] roboswitch: Probing device eth0: 
[   97.556000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[   97.556000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[   97.556000] No Robo switch in managed mode found, phy_id = 0xffffffff
[   97.556000] roboswitch: Probing device eth1: 
[   97.556000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[   97.556000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[   97.556000] No Robo switch in managed mode found, phy_id = 0xffffffff
[   97.556000] roboswitch: Probing device eth2: No such device
[   97.556000] roboswitch: Probing device eth3: No such device
[   98.592000] PCI: Enabling device 0000:00:01.0 (0000 -> 0002)
[   98.592000] PCI: Fixing up device 0000:00:01.0
[   98.596000] ath5k 0000:00:01.0: registered as 'phy0'
[   98.912000] ath: EEPROM regdomain: 0x0
[   98.912000] ath: EEPROM indicates default country code should be used
[   98.912000] ath: doing EEPROM country->regdmn map search
[   98.912000] ath: country maps to regdmn code: 0x3a
[   98.912000] ath: Country alpha2 being used: US
[   98.912000] ath: Regpair used: 0x3a
[   98.916000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   98.920000] ath5k: phy0: Atheros AR5212 chip found (MAC: 0x56, PHY: 0x41)
[   98.920000] ath5k: phy0: RF5111 5GHz radio found (0x17)
[   98.924000] ath5k: phy0: RF2111 2GHz radio found (0x23)
[   98.928000] cfg80211: Calling CRDA for country: US
[   98.928000] cfg80211: Regulatory domain changed to country: US
[   98.928000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[   98.928000] cfg80211:   (2400000 KHz - 2494000 KHz @ 40000 KHz), (N/A, 3500 mBm)
[   98.928000] cfg80211:   (4910000 KHz - 5895000 KHz @ 40000 KHz), (N/A, 3500 mBm)
[   99.516000] PPP generic driver version 2.4.2
[  100.088000] ip_tables: (C) 2000-2006 Netfilter Core Team
[  100.636000] NET: Registered protocol family 24
[  100.776000] nf_conntrack version 0.5.0 (208 buckets, 832 max)
[  117.820000] ath5k: phy0: invalid tx power: 70
[  119.820000] b44 ssb0:5: eth1: Link is up at 10 Mbps, half duplex
[  119.820000] b44 ssb0:5: eth1: Flow control is off for TX and off for RX
[  243.208000] NET: Unregistered protocol family 24

Attachments (0)

Change History (20)

comment:1 follow-up: Changed 6 years ago by Bastian Bittorf <bittorf@…>

digging into the problem i tried this:
From the Dell to another router, this works:

root@dell:~ for i in $(seq 1 100); do netmsg $LANBROADCAST "TEST$i"; done

root@nextbox:~ tcpdump -s 1500 -n -l -w - -i $LANDEV port 0x1337 | strings
[...can see the incoming packets...]

Also big packets are working:

root@dell:~ BIG="$( for i in $(seq 1 1400); do echo -n "A"; done )"
root@dell:~ for i in $(seq 1 100); do netmsg 10.63.14.63 "$i${BIG}"; done

So maybe it is an issue with olsr (but it's there since a long time) and the obscure interface setup and using broadcast address of 255.255.255.255?

What to do next?

comment:2 Changed 6 years ago by Bastian Bittorf <bittorf@…>

after sniffing with tcpdump on the next router, it seems that i only receive 2 packets of UDP/olsr-traffic, if i stop olsrd on the dell-router.

the same image works without problems on other brcm47xx-router (e.g. linksys wrt54g, buffalo hp54g, asus wl500g premium), so it must have something to do with the switch.

root@dell:~ dmesg | grep -i robo
[    8.996000] roboswitch: Probing device eth0: No Robo switch in managed mode found, phy_id = 0xffffffff
[    8.996000] roboswitch: Probing device eth1: 
[    8.996000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[    8.996000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[    8.996000] No Robo switch in managed mode found, phy_id = 0xffffffff
[    8.996000] roboswitch: Probing device eth2: No such device
[    8.996000] roboswitch: Probing device eth3: No such device
[  101.396000] roboswitch: Probing device eth0: 
[  101.396000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[  101.396000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[  101.396000] No Robo switch in managed mode found, phy_id = 0xffffffff
[  101.396000] roboswitch: Probing device eth1: 
[  101.396000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[  101.396000] roboswitch: [/home/bastian/openwrt/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:121] SIOCGETCPHYRD failed!
[  101.396000] No Robo switch in managed mode found, phy_id = 0xffffffff
[  101.396000] roboswitch: Probing device eth2: No such device
[  101.396000] roboswitch: Probing device eth3: No such device

sniffing for olsr-packets (udp, port 698)

root@nextrouter:~ tcpdump -nXi $LANDEV port 698

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0.1, link-type EN10MB (Ethernet), capture size 65535 bytes
09:09:46.214596 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0x617c, length 56
        0x0000:  45c0 0054 0000 4000 4011 217a 0a3f 0e21  E..T..@.@.!z.?.!
        0x0010:  ffff ffff 02ba 02ba 0040 abf0 0038 617c  .........@...8a|
        0x0020:  ca2d 0010 0a3f 0e21 ff00 ebe3 0003 ffff  .-...?.!........
        0x0030:  c92b 0024 0a3f 0e21 0100 ebe4 0000 0607  .+.$.?.!........
        0x0040:  0300 0014 0a3f 0921 0000 0000 0a3f 1121  .....?.!.....?.!
        0x0050:  0000 0000                                ....
09:09:46.216363 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0x617d, length 56
        0x0000:  45c0 0054 0000 4000 4011 217a 0a3f 0e21  E..T..@.@.!z.?.!
        0x0010:  ffff ffff 02ba 02ba 0040 abe7 0038 617d  .........@...8a}
        0x0020:  ca2d 0010 0a3f 0e21 ff00 ebe7 0003 ffff  .-...?.!........
        0x0030:  c92b 0024 0a3f 0e21 0100 ebe8 0000 0607  .+.$.?.!........
        0x0040:  0300 0014 0a3f 0921 0000 0000 0a3f 1121  .....?.!.....?.!
        0x0050:  0000 0000                                ....
09:10:56.892305 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0xf98b, length 40
        0x0000:  45c0 0044 0000 4000 4011 218a 0a3f 0e21  E..D..@.@.!..?.!
        0x0010:  ffff ffff 02ba 02ba 0030 92d4 0028 f98b  .........0...(..
        0x0020:  c92b 0024 0a3f 0e21 0100 3aa7 0000 0607  .+.$.?.!..:.....
        0x0030:  0300 0014 0a3f 1121 0000 0000 0a3f 0921  .....?.!.....?.!
        0x0040:  0000 0000                                ....
09:10:56.893902 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0xf98c, length 40
        0x0000:  45c0 0044 0000 4000 4011 218a 0a3f 0e21  E..D..@.@.!..?.!
        0x0010:  ffff ffff 02ba 02ba 0030 92d1 0028 f98c  .........0...(..
        0x0020:  c92b 0024 0a3f 0e21 0100 3aa9 0000 0607  .+.$.?.!..:.....
        0x0030:  0300 0014 0a3f 1121 0000 0000 0a3f 0921  .....?.!.....?.!
        0x0040:  0000 0000                                ....
09:14:46.153523 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0x467e, length 76
        0x0000:  45c0 0068 0000 4000 4011 2166 0a3f 0e21  E..h..@.@.!f.?.!
        0x0010:  ffff ffff 02ba 02ba 0054 8947 004c 467e  .........T.G.LF~
        0x0020:  ca2d 0010 0a3f 0e21 ff00 f325 0002 ffff  .-...?.!...%....
        0x0030:  c92b 0038 0a3f 0e21 0100 f326 0000 0607  .+.8.?.!...&....
        0x0040:  0000 0014 0a3f 0921 0000 0000 0a3f 1121  .....?.!.....?.!
        0x0050:  0000 0000 0300 0014 0a3f 1121 0000 0000  .........?.!....
        0x0060:  0a3f 0921 0000 0000                      .?.!....
09:14:46.155834 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0x467f, length 76
        0x0000:  45c0 0068 0000 4000 4011 2166 0a3f 0e21  E..h..@.@.!f.?.!
        0x0010:  ffff ffff 02ba 02ba 0054 893a 004c 467f  .........T.:.LF.
        0x0020:  ca2d 0010 0a3f 0e21 ff00 f32b 0002 ffff  .-...?.!...+....
        0x0030:  c92b 0038 0a3f 0e21 0100 f32c 0000 0607  .+.8.?.!...,....
        0x0040:  0000 0014 0a3f 0921 0000 0000 0a3f 1121  .....?.!.....?.!
        0x0050:  0000 0000 0300 0014 0a3f 1121 0000 0000  .........?.!....
        0x0060:  0a3f 0921 0000 0000                      .?.!....
09:15:40.145088 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0x7976, length 40
        0x0000:  45c0 0044 0000 4000 4011 218a 0a3f 0e21  E..D..@.@.!..?.!
        0x0010:  ffff ffff 02ba 02ba 0030 efd0 0028 7976  .........0...(yv
        0x0020:  c92b 0024 0a3f 0e21 0100 5dc0 0000 0607  .+.$.?.!..].....
        0x0030:  0300 0014 0a3f 1121 0000 0000 0a3f 0921  .....?.!.....?.!
        0x0040:  0000 0000                                ....
09:15:40.146637 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0x7977, length 40
        0x0000:  45c0 0044 0000 4000 4011 218a 0a3f 0e21  E..D..@.@.!..?.!
        0x0010:  ffff ffff 02ba 02ba 0030 efcd 0028 7977  .........0...(yw
        0x0020:  c92b 0024 0a3f 0e21 0100 5dc2 0000 0607  .+.$.?.!..].....
        0x0030:  0300 0014 0a3f 1121 0000 0000 0a3f 0921  .....?.!.....?.!
        0x0040:  0000 0000                                ....

comment:3 Changed 6 years ago by Bastian Bittorf <bittorf@…>

for prove the "normal" tcp-behavior i tested with netperf:

root@nextrouter:~ netperf -H $LANADR_DELL
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.63.14.33 (10.63.14.33) port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.01      26.58   
root@nextrouter:~ netperf -H $LANADR_DELL -t TCP_MAERTS
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.63.14.33 (10.63.14.33) port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.00      22.34   

comment:4 Changed 6 years ago by Bastian Bittorf <bittorf@…>

tcpdump on the dell shows normal receiving of olsr-packets (udp/port 698) from other routers:

root@dell:~ tcpdump -ni $LANDEV not port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
00:44:17.727812 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb109, length 204
00:44:18.558024 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a7e, length 360
00:44:20.388764 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb10a, length 332
00:44:21.358854 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a7f, length 340
00:44:23.248307 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb10b, length 236
00:44:24.214761 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a80, length 396
00:44:25.610618 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb10c, length 280
00:44:27.175716 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a81, length 416
00:44:28.568861 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb10d, length 292
00:44:30.082631 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a82, length 404
00:44:31.582517 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb10e, length 288
00:44:32.588667 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a83, length 288
00:44:34.193466 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb10f, length 204
00:44:34.943201 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a84, length 232
00:44:36.856594 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb110, length 232
00:44:37.645997 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a85, length 352
00:44:39.168604 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb111, length 220
00:44:40.299921 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a86, length 452
00:44:41.980603 IP 10.63.9.33.698 > 255.255.255.255.698: OLSRv4, seq 0xb112, length 344
00:44:42.754395 IP 10.63.17.33.698 > 255.255.255.255.698: OLSRv4, seq 0x2a87, length 356

comment:5 Changed 6 years ago by Bastian Bittorf <bittorf@…>

trying to reproduce incoming olsr-packets on the nextrouter, i changed the olsrd-broadcast address from 255.255.255.255 to an unicast one (LAN-IP of nextrouter):
but: only during "killall olsrd" always exactly 2 packets are arriving:

root@nextrouter:~ tcpdump -ni $LANDEV
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0.1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:02:23.658609 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0x6efc, length 56
11:02:23.660185 IP 10.63.14.33.698 > 255.255.255.255.698: OLSRv4, seq 0x6efd, length 56
^C
2 packets captured
2 packets received by filter
0 packets dropped by kernel
root@nextrouter:~ tcpdump -ni $LANDEV port 698
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0.1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:03:26.560467 IP 10.63.14.33.698 > 10.63.14.40.698: OLSRv4, seq 0xf66d, length 40
11:03:26.561859 IP 10.63.14.33.698 > 10.63.14.40.698: OLSRv4, seq 0xf66e, length 40

comment:6 Changed 6 years ago by Bastian Bittorf <bittorf@…>

checking if the DELL routers WAN-Port works with 'option proto dhcp': Yes

root@nextrouter:~ tcpdump -ni $LANDEV proto UDP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0.1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:10:24.529667 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:90:4c:4a:00:2c, length 366
11:10:27.034986 IP 10.63.17.33.67 > 10.63.17.46.68: BOOTP/DHCP, Reply, length 300
11:10:27.037661 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:90:4c:4a:00:2c, length 372
11:10:27.042658 IP 10.63.17.33.67 > 10.63.17.46.68: BOOTP/DHCP, Reply, length 318

syslog for above on "nextrouter"

Jun 19 11:10:27 nextrouter daemon.info dnsmasq-dhcp[2240]: DHCPDISCOVER(eth0.1) 10.63.14.25 00:90:4c:4a:00:2c
Jun 19 11:10:27 nextrouter daemon.info dnsmasq-dhcp[2240]: DHCPOFFER(eth0.1) 10.63.17.46 00:90:4c:4a:00:2c
Jun 19 11:10:27 nextrouter daemon.info dnsmasq-dhcp[2240]: DHCPREQUEST(eth0.1) 10.63.17.46 00:90:4c:4a:00:2c
Jun 19 11:10:27 nextrouter daemon.info dnsmasq-dhcp[2240]: DHCPACK(eth0.1) 10.63.17.46 00:90:4c:4a:00:2c anonymous-lan13-n17

comment:7 Changed 6 years ago by Bastian Bittorf <bittorf@…>

rebuilding a plain cfe to get rid of all those nvram-crap:

root@dell:~ nvram show | sort | sed -n "s/^\([0-9a-zA-Z_\.-]*\)=.*$/nvram unset \1/p" >/tmp/nvram_unset_all.sh
root@dell:~ strings /dev/mtd0ro | sed '/^[0-9a-fA-F][0-9a-fA-F]:/,$d'| sed -n '/^.*=[^%].*/p' | sed -n "s/^\([a-zA-Z][a-zA-Z0-9_\.-]*\)=\(.*\)$/nvram set \1='\2' ;/p" >/tmp/nvram_set.sh

root@dell:~ . /tmp/nvram_unset_all.sh
root@dell:~ . /tmp/nvram_set.sh
root@dell:~ nvram set ModelId=WX-5565      # missing in CFE, diag.c needs this
root@dell:~ nvram set boot_wait=on         # missing in CFE
root@dell:~ nvram commit
root@dell:~ nvram show | sort
ModelId=WX-5565
boardnum=44
boardtype=bcm94710ap
boot_wait=on
clkfreq=125
dl_ram_addr=a0001000
et0macaddr=00:90:4c:49:00:2c
et0mdcport=0
et0phyaddr=30
et1macaddr=00:90:4c:4a:00:2c
et1mdcport=1
et1phyaddr=1
lan_ipaddr=192.168.2.1
lan_netmask=255.255.255.0
os_flash_addr=bfc40000
os_ram_addr=80001000
scratch=a0180000
sdram_config=0x0000
sdram_init=0x0419
sdram_ncdl=0x00000000
sdram_refresh=0x8040
tftp_ipaddr=192.168.2.1
watchdog=1000

ofcource 8-( this changed nothing

comment:8 Changed 6 years ago by Bastian Bittorf <bittorf@…>

for proofing, that it has nothing to to with the firewall,
for all above test the firewall was stopped and disabled.

root@dell:~ lsmod
root@ekuku-longshot-MESH:~ lsmod
Module                  Size  Used by    Tainted: G  
ath5k                 146546  0 
ath                    16729  1 ath5k
mac80211              275945  1 ath5k
cfg80211              150263  3 ath5k,ath,mac80211
compat                  1013  3 ath5k,mac80211,cfg80211
arc4                     848  2 
crypto_algapi          10876  1 arc4

comment:9 Changed 6 years ago by Bastian Bittorf <bittorf@…>

an interesting "page allocation failure" for b44 on this device, maybe related:

[  123.316000] netifd: page allocation failure: order:0, mode:0x20
[  123.316000] Call Trace: 
[  123.316000] [<80251604>] dump_stack+0x8/0x34
[  123.316000] [<8005ff28>] warn_alloc_failed+0xf0/0x114
[  123.316000] [<800627b8>] __alloc_pages_nodemask+0x5b0/0x610
[  123.316000] [<80252a58>] cache_alloc_refill+0x2c4/0x758
[  123.316000] [<80091634>] __kmalloc+0xac/0x128
[  123.316000] [<801b75b8>] __alloc_skb+0x74/0x138
[  123.316000] [<801b7bd8>] __netdev_alloc_skb+0x24/0x58
[  123.316000] [<80194fd0>] b44_alloc_rx_skb+0x50/0x3ac
[  123.316000] [<80195414>] b44_init_rings+0xe8/0x114
[  123.316000] [<80199140>] b44_open+0x34c/0x67c
[  123.316000] [<801c5470>] __dev_open+0x144/0x21c
[  123.316000] [<801c57a0>] __dev_change_flags+0xc0/0x160
[  123.316000] [<801c58e8>] dev_change_flags+0x20/0x6c
[  123.316000] [<801c5a20>] dev_ifsioc+0xec/0x358
[  123.316000] [<801c6224>] dev_ioctl+0x598/0x684
[  123.316000] [<800a5a30>] do_vfs_ioctl+0x5a4/0x5f8
[  123.316000] [<800a5ad4>] sys_ioctl+0x50/0x8c
[  123.316000] [<8000e930>] stack_done+0x20/0x40
[  123.316000] 
[  123.316000] Mem-Info:
[  123.316000] Normal per-cpu:
[  123.316000] CPU    0: hi:    0, btch:   1 usd:   0
[  123.316000] active_anon:459 inactive_anon:8 isolated_anon:0
[  123.316000]  active_file:549 inactive_file:512 isolated_file:0
[  123.316000]  unevictable:0 dirty:0 writeback:0 unstable:0
[  123.316000]  free:48 slab_reclaimable:186 slab_unreclaimable:801
[  123.316000]  mapped:213 shmem:10 pagetables:77 bounce:0
[  123.316000] Normal free:192kB min:508kB low:632kB high:760kB active_anon:1836kB inactive_anon:32kB active_file:2196kB inactive_file:2048kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:16256kB mlocked:0kB dirty:0kB writeback:0kB mapped:852kB shmem:40kB slab_reclaimable:744kB slab_unreclaimable:3204kB kernel_stack:320kB pagetables:308kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[  123.316000] lowmem_reserve[]: 0 0
[  123.316000] Normal: 0*4kB 0*8kB 0*16kB 0*32kB 1*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 192kB
[  123.316000] 1071 total pagecache pages
[  123.316000] 0 pages in swap cache
[  123.316000] Swap cache stats: add 0, delete 0, find 0/0
[  123.316000] Free swap  = 0kB
[  123.316000] Total swap = 0kB
[  123.316000] 4096 pages RAM
[  123.316000] 806 pages reserved
[  123.316000] 1627 pages shared
[  123.316000] 2630 pages non-shared
[  123.324000] b44 ssb0:2: eth0: Link is up at 100 Mbps, full duplex
[  123.324000] b44 ssb0:2: eth0: Flow control is off for TX and off for RX

comment:10 Changed 6 years ago by Bastian Bittorf <bittorf@…>

after reverting nvram settings to CFE-defaults another interesting thing:

the olsr-daemon sees incoming WAN _and_ LAN traffic: but WAN is not connected.
(traffic incoming to WAN seems to be the same like LAN)
so there must be some "curcuit/loop" in the ethernet - this impossible.

10.63.17.46 = WANADR dell
10.63.14.33 = LANADR dell

10.63.17.33 / 10.63.9.33 = other OLSR-router connected via LAN

root@dell:~ wget -qO - http://127.0.0.1:2006/neighs     # olsr-daemon
Table: Links
Local IP        Remote IP       Hyst.   LQ      NLQ     Cost
10.63.17.46     10.63.17.33     0.00    0.000   0.000   INFINITE
10.63.17.46     10.63.9.33      0.00    0.000   0.000   INFINITE
10.63.14.33     10.63.9.33      0.00    0.000   0.000   INFINITE
10.63.14.33     10.63.17.33     0.00    0.000   0.000   INFINITE

Table: Neighbors
IP address      SYM     MPR     MPRS    Will.   2 Hop Neighbors
10.63.17.33     NO      NO      NO      7       4
10.63.9.33      NO      NO      NO      7       1

comment:11 Changed 6 years ago by Bastian Bittorf <bittorf@…>

i think the "page allocation failure" is not related but a netifd-thingy/race, so ignore

comment:12 Changed 6 years ago by florian

Please get this reproduced without olsr, using a simple network udp flood instead.

comment:13 Changed 6 years ago by Bastian Bittorf <bittorf@…>

Sending UDP-packets from DELL to nextrouter works:

root@dell:~ netperf -H $LANIPNEXTROUTER -t UDP_STREAM
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.63.14.40 (10.63.14.40) port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

 32767   32767   10.00        1967      0      51.55
163840           10.00        1967             51.55

i measured 3 times with iptables:

root@nextrouter:~ iptables -nxvL
Chain INPUT (policy ACCEPT 153 packets, 40428 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
    1951 63983045 ACCEPT     udp  --  *      *       10.63.14.33          0.0.0.0/0           
    1927 63195965 ACCEPT     udp  --  *      *       10.63.14.33          0.0.0.0/0           
    1967 64507765 ACCEPT     udp  --  *      *       10.63.14.33          0.0.0.0/0          

Sending UDP-packets from DELL to nextrouter works:

root@nextrouter:~ netperf -H $LANIPDELL -t UDP_STREAM
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.63.14.33 (10.63.14.33) port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

163840   65507   10.00        6869      0     359.97
 32767           10.00           0              0.00

i measured 3 times with iptables:

root@dell:~ iptables -nxvL INPUT
Chain INPUT (policy ACCEPT 18 packets, 1248 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
       4      192 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           
       5      240 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           
       4      192 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           

so it seems, than incoming UDP gets lost somehow?
but outgoing seems to work fine. this is the ooposite of the
olsrd situation...?!

comment:14 in reply to: ↑ 1 Changed 6 years ago by Bastian Bittorf <bittorf@…>

Replying to Bastian Bittorf <bittorf@…>:

this works also vica versa.
(sending netsg from nextrouter to dell and from dell to nextrouter)

comment:15 Changed 6 years ago by Bastian Bittorf <bittorf@…>

at the moment this is discussed on the olsrd-mailinglist:

https://lists.olsr.org/pipermail/olsr-dev/2012-June/005589.html

comment:16 Changed 6 years ago by Bastian Bittorf <bittorf@…>

comment:17 Changed 5 years ago by devel@…

here is an update including a workaround:
https://lists.olsr.org/pipermail/olsr-dev/2012-August/006035.html

Quick summary: it seems to be a compiler bug. Removing the "-Os" flag should fix this.

comment:18 Changed 5 years ago by Bastian Bittorf <bittorf@…>

where is the best place to file a compiler-bugreport?

comment:20 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.