Bridge Mode Issue - Only One Device Can Ping AP at a Time

Hello everyone,
I hope you’re all doing well! I’m currently working on a project using Morse Micro’s HaLow modules (MM6108-EKH3)

I am working on a network using Morse Micro’s HaLow modules (MM6108) with the following configuration:

  1. Access Point (AP):
  • Static IP: 192.168.1.1.
  • DHCP server disabled.
  1. Station 1 (STA1):
  • Configured in Bridge Mode to connect to the AP.
  • Static IP for management: 192.168.1.20.
  • Connected to PC1 via Ethernet.
  1. Station 2 (STA2):
  • Configured in Bridge Mode to connect to the same AP.
  • Static IP for management: 192.168.1.40.
  • Connected to PC2 via Ethernet.
  1. PC1 and PC2:
  • Manually assigned static IPs:
    • PC1: 192.168.1.45.
    • PC2: 192.168.1.15.
  • Subnet Mask: 255.255.255.0.
  • Gateway: 192.168.1.1 (AP’s static IP).

Objective:

  • Establish communication between PC1 and PC2 through the HaLow network (via STA1, AP, and STA2).
  • Test connectivity using ping between devices.

Issue:

  1. When only STA1 is connected to the AP, PC1 can successfully ping the AP (192.168.1.1).
  2. After adding STA2 to the AP, PC2 can ping the AP, but PC1 is no longer able to ping the AP.
  3. Only one device (PC1 or PC2) seems to be able to communicate with the AP at any given time.
  4. No communication occurs between PC1 and PC2.

Questions:

  1. Why does adding a second STA prevent the first device from communicating with the AP?
  2. Is there a specific limitation in Bridge Mode or HaLow that causes only one STA to function at a time?
  3. Are there advanced settings (e.g., IP bridging, routing, or MAC address handling) that need to be adjusted for multiple STAs in Bridge Mode?
  4. Could the AP or STAs require additional configuration to properly forward traffic from multiple devices?

Environment:

  • Devices: Morse Micro MM6108 -EKH3modules (AP and STA roles).
  • Network: Fully static IP configuration (no DHCP).
  • conig using UI interface

Thank you in advance for your help! Any advice, troubleshooting tips, or resources would be greatly appreciated.

Hi @AhmedMarnissi

There shouldn’t be any problem using two stations in bridge mode. As long as all devices have wds enabled (happens when bridge mode is configured), including the AP, and an appropriate bridge interface this should behave as you expected.

There was a small bug in some versions of our software which meant a WDS enabled AP didn’t create the bridge interface and therefore no PC attached via a station could communicate with the AP. This behaviour is a bit different to what you’ve described, as PC1 was initially able to communicate.

However, the debug process is the same. Can you SSH into the AP, run the following commands, and share the output?

dmesg
brctl show
ifconfig -a
cat /etc/config/wireless # you may want to redact passwords from this output
cat /etc/config/network

Hi @ajudge,
Thank you for your response .
this the output of the commnads you provide it .

i have a question for my setup do i need to configure the AP in bridge mode also or just the stations?

root@accespoint:~# dmesg
[    0.000000] Linux version 5.10.176 (jenkins@15b9c1edc2be) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 Thu Apr 27 20:28:15 2023
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7628AN ver:1 eco:2
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019655 (MIPS 24KEc)
[    0.000000] MIPS: machine is EKH03-05US
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000]   Normal zone: 288 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyUSB0,115200 console=ttyS2,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00058c80
[    0.000000] Readback ErrCtl register=00058c80
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 119660K/131072K available (5733K kernel code, 615K rwdata, 1260K rodata, 1216K init, 205K bss, 11412K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] intc: using register map from devicetree
[    0.000000] CPU Clock: 580MHz
[    0.000000] timer_probe: no matching timers found
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[    0.000011] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[    0.008007] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.074239] pid_max: default: 32768 minimum: 301
[    0.079115] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.086468] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.096963] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.109534] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.119502] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.126458] pinctrl core: initialized pinctrl subsystem
[    0.133523] NET: Registered protocol family 16
[    0.166696] pstore: Registered ramoops as persistent store backend
[    0.172964] ramoops: using 0x100000@0x7efffff, ecc: 0
[    0.251599] usbcore: registered new interface driver usbfs
[    0.257271] usbcore: registered new interface driver hub
[    0.262667] usbcore: registered new device driver usb
[    0.278707] clocksource: Switched to clocksource MIPS
[    0.285279] NET: Registered protocol family 2
[    0.290067] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.298155] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.306714] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.314438] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.321556] TCP: Hash tables configured (established 1024 bind 1024)
[    0.328138] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.334774] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.342158] NET: Registered protocol family 1
[    0.346538] PCI: CLS 0 bytes, default 32
[    0.358916] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.370911] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.376758] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.391207] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.397047] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.403021] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.409511] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.417240] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A
[    0.427284] 10000d00.uart1: ttyS1 at MMIO 0x10000d00 (irq = 29, base_baud = 2500000) is a 16550A
[    0.437097] 10000e00.uart2: ttyS2 at MMIO 0x10000e00 (irq = 30, base_baud = 2500000) is a 16550A
[    0.446054] printk: console [ttyS2] enabled
[    0.454461] printk: bootconsole [early0] disabled
[    0.465573] spi-mt7621 10000b00.spi: sys_freq: 193333333
[    0.491413] spi-nor spi0.0: gd25q256 (32768 Kbytes)
[    0.496436] 4 fixed-partitions partitions found on MTD device spi0.0
[    0.503020] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.510484] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.518488] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.525992] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.533676] Creating 4 MTD partitions on "spi0.0":
[    0.538550] 0x000000000000-0x000000030000 : "u-boot"
[    0.547446] 0x000000030000-0x000000040000 : "u-boot-env"
[    0.554239] 0x000000040000-0x000000050000 : "factory"
[    0.562679] 0x000000050000-0x000002000000 : "firmware"
[    0.569468] 2 uimage-fw partitions found on MTD device firmware
[    0.575494] Creating 2 MTD partitions on "firmware":
[    0.580621] 0x000000000000-0x000000245516 : "kernel"
[    0.585656] mtd: partition "kernel" doesn't end on an erase/write block -- force read-only
[    0.597215] 0x000000245516-0x000001fb0000 : "rootfs"
[    0.602344] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[    0.612930] mtd: setting mtd5 (rootfs) as root device
[    0.619286] 1 squashfs-split partitions found on MTD device rootfs
[    0.625588] 0x000001c10000-0x000001fb0000 : "rootfs_data"
[    0.662849] rt3050-esw 10110000.esw: mediatek esw at 0xb0110000, irq 25 initialized
[    0.671703] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    0.680739] usbcore: registered new interface driver usbserial_generic
[    0.687420] usbserial: USB Serial support registered for generic
[    0.693660] usbcore: registered new interface driver cp210x
[    0.699398] usbserial: USB Serial support registered for cp210x
[    0.705465] usbcore: registered new interface driver ftdi_sio
[    0.711380] usbserial: USB Serial support registered for FTDI USB Serial Device
[    0.718890] usbcore: registered new interface driver pl2303
[    0.724595] usbserial: USB Serial support registered for pl2303
[    0.732439] NET: Registered protocol family 10
[    0.747134] Segment Routing with IPv6
[    0.751104] NET: Registered protocol family 17
[    0.755714] 8021q: 802.1Q VLAN Support v1.8
[    0.761584] pstore: Using crash dump compression: deflate
[    0.786034] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[    0.800261] Freeing unused kernel memory: 1216K
[    0.804860] This architecture does not have kernel memory protection.
[    0.811434] Run /sbin/init as init process
[    0.815583]   with arguments:
[    0.815589]     /sbin/init
[    0.815595]   with environment:
[    0.815601]     HOME=/
[    0.815607]     TERM=linux
[    1.920075] init: Console is alive
[    1.924144] init: - watchdog -
[    5.383698] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    5.568508] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    5.585575] SCSI subsystem initialized
[    5.597156] fsl-ehci: Freescale EHCI Host controller driver
[    5.606451] ehci-platform: EHCI generic platform driver
[    5.622388] phy phy-10120000.usbphy.0: remote usb device wakeup disabled
[    5.629210] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz
[    5.634510] ehci-platform 101c0000.ehci: EHCI Host Controller
[    5.640377] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[    5.648551] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[    5.678738] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[    5.686289] hub 1-0:1.0: USB hub found
[    5.691105] hub 1-0:1.0: 1 port detected
[    5.704284] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    5.712572] ohci-platform: OHCI generic platform driver
[    5.718357] ohci-platform 101c1000.ohci: Generic Platform OHCI controller
[    5.725381] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
[    5.733569] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
[    5.813823] hub 2-0:1.0: USB hub found
[    5.818554] hub 2-0:1.0: 1 port detected
[    5.841487] sdhci: Secure Digital Host Controller Interface driver
[    5.847812] sdhci: Copyright(c) Pierre Ossman
[    5.854307] sdhci-pltfm: SDHCI platform and OF driver helper
[    5.865181] usbcore: registered new interface driver usb-storage
[    5.872952] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    5.890979] init: - preinit -
[    7.733351] random: jshn: uninitialized urandom read (4 bytes read)
[    7.849502] random: jshn: uninitialized urandom read (4 bytes read)
[    8.034775] random: jshn: uninitialized urandom read (4 bytes read)
[    9.205425] random: procd: uninitialized urandom read (4 bytes read)
[   13.171261] rt3050-esw 10110000.esw: port 0 link up
[   13.176290] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   13.183276] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
[   13.816517] jffs2: notice: (500) jffs2_build_xattr_subsystem: complete building xattr subsystem, 67 of xdatum (0 unchecked, 67 orphan) and 77 of xref (13 dead, 64 orphan) found.
[   13.834995] mount_root: overlay filesystem has not been fully initialized yet
[   13.847389] mount_root: switching to jffs2 overlay
[   13.855923] overlayfs: upper fs does not support tmpfile.
[   13.867730] urandom-seed: Seed file not found (/etc/urandom.seed)
[   14.057279] procd: - early -
[   14.060795] procd: - watchdog -
[   14.951234] random: jshn: uninitialized urandom read (4 bytes read)
[   15.019330] procd: - watchdog -
[   15.156529] procd: - ubus -
[   15.445994] random: ubusd: uninitialized urandom read (4 bytes read)
[   15.474547] random: ubusd: uninitialized urandom read (4 bytes read)
[   15.541221] procd: - init -
[   16.295999] random: jshn: uninitialized urandom read (4 bytes read)
[   16.314057] random: ubusd: uninitialized urandom read (4 bytes read)
[   16.328961] random: ubus: uninitialized urandom read (4 bytes read)
[   17.647907] Calling morse chip reset script.
[   18.715557] urngd: v1.0.2 started.
[   19.212175] kmodloader: loading kernel modules from /etc/modules.d/*
[   19.311542] random: crng init done
[   19.315017] random: 32 urandom warning(s) missed due to ratelimiting
[   19.621391] Loading modules backported from Linux version v5.15.92-0-ge515b9902f5f
[   19.629162] Backport generated by backports.git v5.15.92-1-0-gdfe0f60c
[   19.837997] mt76_wmac 10300000.wmac: ASIC revision: 76280001
[   20.871162] mt76_wmac 10300000.wmac: Firmware Version: 20151201
[   20.877194] mt76_wmac 10300000.wmac: Build Time: 20151201183641
[   20.898718] mt76_wmac 10300000.wmac: firmware init done
[   21.068528] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   21.175124] tun: Universal TUN/TAP device driver, 1.6
[   21.340125] i2c /dev entries driver
[   21.347308] i2c-mt7621 10000900.i2c: clock 100 kHz
[   21.363043] GACT probability on
[   21.369394] Mirror/redirect action on
[   21.401092] u32 classifier
[   21.403861]     input device check on
[   21.407568]     Actions configured
[   21.674600] mmc0: new high speed SDIO card at address 0001
[   21.686976] usbcore: registered new interface driver cdc_acm
[   21.692804] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   21.726626] Morse Micro Dot11ah driver registration. Version 0-rel_1_10_2_2023_Nov_22
[   21.777413] morse micro driver registration. Version 0-rel_1_10_2_2023_Nov_22
[   21.812601] morse_sdio mmc0:0001:2: Reading gpio pins configuration from device tree
[   23.401738] uaccess char driver major number is 251
[   23.406971] morse_io: Device node '/dev/morse_io' created successfully
[   23.638226] xt_time: kernel timezone is -0000
[   23.656450] batman_adv: B.A.T.M.A.N. advanced 2022.0-openwrt-6 (compatibility version 15) loaded
[   23.679103] usbcore: registered new interface driver cdc_ether
[   24.087011] PPP generic driver version 2.4.2
[   24.096430] NET: Registered protocol family 24
[   24.146739] kmodloader: done loading kernel modules from /etc/modules.d/*
[   74.705104] rt3050-esw 10110000.esw: port 0 link down
[   79.238891] rt3050-esw 10110000.esw: port 0 link up
[  104.242524] br0: port 1(eth0.1) entered blocking state
[  104.247771] br0: port 1(eth0.1) entered disabled state
[  104.253643] device eth0.1 entered promiscuous mode
[  104.258520] device eth0 entered promiscuous mode
[  104.309689] br0: port 1(eth0.1) entered blocking state
[  104.314927] br0: port 1(eth0.1) entered forwarding state
[  105.231620] IPv6: ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[  107.880243] 8021q: adding VLAN 0 to HW filter on device bat0
[  114.218433] br0: port 2(wl0) entered blocking state
[  114.223494] br0: port 2(wl0) entered disabled state
[  114.228943] device wl0 entered promiscuous mode
[  115.342947] IPv6: ADDRCONF(NETDEV_CHANGE): wl0: link becomes ready
[  115.349566] br0: port 2(wl0) entered blocking state
[  115.354524] br0: port 2(wl0) entered forwarding state
[  200.609271] morse_sdio mmc0:0001:2: Command 0x0001:0750 error -32768
[  200.615749] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:750 failed with rc -32768 (0xffff8000)
[  200.625709] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[  201.719435] morse_sdio mmc0:0001:2: Command 0x0001:0990 error -32768
[  201.725931] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:990 failed with rc -32768 (0xffff8000)
[  201.735876] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[  202.829285] morse_sdio mmc0:0001:2: Command 0x0001:0bd0 error -32768
[  202.835764] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:bd0 failed with rc -32768 (0xffff8000)
[  202.845793] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[  203.339241] morse_sdio mmc0:0001:2: Command 0x0001:0cd0 error -32768
[  203.345719] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:cd0 failed with rc -32768 (0xffff8000)
[  203.355669] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[  204.013145] rt3050-esw 10110000.esw: port 0 link down
[  204.019242] br0: port 1(eth0.1) entered disabled state
[  204.845786] morse_sdio mmc0:0001:2: sdio removed func 2 vendor 0x325b device 0x306
[  204.923011] Resetting Morse Chip
[  204.946383] Done
[  205.068284] morse_sdio mmc0:0001:1: sdio removed func 1 vendor 0x325b device 0x306
[  205.076935] mmc0: card 0001 removed
[  205.147179] mmc0: new high speed SDIO card at address 0001
[  206.232821] kmodloader: loading kernel modules from /etc/modules.d/*
[  206.291657] morse: unknown parameter 'enable_multi_interface' ignored
[  206.299899] morse micro driver registration. Version 0-rel_1_10_2_2023_Nov_22
[  206.308384] morse_sdio mmc0:0001:2: Reading gpio pins configuration from device tree
[  206.873474] uaccess char driver major number is 251
[  206.878790] morse_io: Device node '/dev/morse_io' created successfully
[  206.901379] kmodloader: done loading kernel modules from /etc/modules.d/*
[  210.120538] rt3050-esw 10110000.esw: port 0 link up
[  210.126021] br0: port 1(eth0.1) entered blocking state
[  210.131305] br0: port 1(eth0.1) entered forwarding state
[  352.037583] rt3050-esw 10110000.esw: port 0 link down
[  352.043736] br0: port 1(eth0.1) entered disabled state
[  354.205761] morse_sdio mmc0:0001:2: sdio removed func 2 vendor 0x325b device 0x306
[  354.279694] Resetting Morse Chip
[  354.303140] Done
[  354.468973] morse_sdio mmc0:0001:1: sdio removed func 1 vendor 0x325b device 0x306
[  354.477528] mmc0: card 0001 removed
[  354.593557] mmc0: new high speed SDIO card at address 0001
[  357.006519] kmodloader: loading kernel modules from /etc/modules.d/*
[  357.148576] Morse Micro Dot11ah driver registration. Version 0-rel_1_10_2_2023_Nov_22
[  357.215297] morse: unknown parameter 'enable_multi_interface' ignored
[  357.229268] morse micro driver registration. Version 0-rel_1_10_2_2023_Nov_22
[  357.247431] morse_sdio mmc0:0001:2: Reading gpio pins configuration from device tree
[  357.851493] uaccess char driver major number is 251
[  357.856727] morse_io: Device node '/dev/morse_io' created successfully
[  357.909503] kmodloader: done loading kernel modules from /etc/modules.d/*
[  358.011144] rt3050-esw 10110000.esw: port 0 link up
[  358.016655] br0: port 1(eth0.1) entered blocking state
[  358.021956] br0: port 1(eth0.1) entered forwarding state
[  368.429132] rt3050-esw 10110000.esw: port 0 link down
[  368.435179] br0: port 1(eth0.1) entered disabled state
[  369.784941] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  372.978670] rt3050-esw 10110000.esw: port 0 link up
[  372.984266] br0: port 1(eth0.1) entered blocking state
[  372.989539] br0: port 1(eth0.1) entered forwarding state
[ 1332.296537] rt3050-esw 10110000.esw: port 0 link down
[ 1332.305044] br0: port 1(eth0.1) entered disabled state
[ 1567.632597] rt3050-esw 10110000.esw: port 0 link up
[ 1567.638196] br0: port 1(eth0.1) entered blocking state
[ 1567.643488] br0: port 1(eth0.1) entered forwarding state
root@accespoint:~#
root@accespoint:~# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             7fff.b8d81267f641       no              eth0.1
                                                        wl0
root@accespoint:~# ifconfig -a
br0       Link encap:Ethernet  HWaddr B8:D8:12:67:F6:41
          inet addr:10.42.0.1  Bcast:10.42.0.255  Mask:255.255.255.0
          inet6 addr: fe80::bad8:12ff:fe67:f641/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6400 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5699 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1308603 (1.2 MiB)  TX bytes:2427461 (2.3 MiB)

eth0      Link encap:Ethernet  HWaddr B8:D8:12:67:F6:41
          inet6 addr: fe80::bad8:12ff:fe67:f641/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6642 errors:0 dropped:12 overruns:0 frame:0
          TX packets:6121 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1447069 (1.3 MiB)  TX bytes:2472611 (2.3 MiB)
          Interrupt:5

eth0.1    Link encap:Ethernet  HWaddr B8:D8:12:67:F6:41
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6430 errors:0 dropped:30 overruns:0 frame:0
          TX packets:6074 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1309983 (1.2 MiB)  TX bytes:2440032 (2.3 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:799 errors:0 dropped:0 overruns:0 frame:0
          TX packets:799 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:66030 (64.4 KiB)  TX bytes:66030 (64.4 KiB)

morse0    Link encap:UNSPEC  HWaddr 12-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          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)

wl0       Link encap:Ethernet  HWaddr B8:D8:12:67:F6:40
          inet6 addr: fe80::bad8:12ff:fe67:f640/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1020 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:123552 (120.6 KiB)

wlan0     Link encap:Ethernet  HWaddr 0C:BF:74:00:0C:FE
          inet6 addr: fe80::ebf:74ff:fe00:cfe/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:802 (802.0 B)  TX bytes:10277 (10.0 KiB)

wlan0.sta1 Link encap:Ethernet  HWaddr 0C:BF:74:00:0C:FE
          inet6 addr: fe80::ebf:74ff:fe00:cfe/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:940 errors:0 dropped:0 overruns:0 frame:0
          TX packets:157 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:95518 (93.2 KiB)  TX bytes:35891 (35.0 KiB)

wlan0.sta2 Link encap:Ethernet  HWaddr 0C:BF:74:00:0C:FE
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::ebf:74ff:fe00:cfe/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:614 errors:0 dropped:0 overruns:0 frame:0
          TX packets:775 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:63533 (62.0 KiB)  TX bytes:400280 (390.8 KiB)

root@accespoint:~#
root@accespoint:~# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/10300000.wmac'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option mode 'ap'
        option disabled '0'
        option ssid 'EKH03--05US-67f641-2g'
        option key '12345678'
        option encryption 'psk2'
        option network 'privlan'

config wifi-device 'radio1'
        option path 'platform/10130000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:2'
        option type 'morse'
        option band 's1g'
        option beacon_int '100'
        option hwmode '11ah'
        option country 'AU'
        option disabled '0'
        option channel '48'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option ssid 'MorseMicro'
        option encryption 'sae'
        option key '12345678'
        option network 'ahwlan'
        option max_inactivity '300'
        option dtim_period '1'
        option ieee80211w '2'
        option dpp '0'
        option mode 'ap'
        option wds '1'

config wifi-iface 'prplsta_radio1'
        option device 'radio1'
        option network 'ahwlan'
        option mode 'sta'
        option hidden '0'
        option disabled '1'
        option multi_ap '1'
        option wds '1'
        option ifname 'wlan-prpl-1'

config defaults 'data'
        option defaults_applied '1'
root@accespoint:~# cat /etc/config/network

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

config globals 'globals'
        option ula_prefix 'fd0e:e56d:8efd::/48'

config device
        option name 'br0'
        option type 'bridge'
        list ports 'eth0.1'

config device
        option name 'br-prpl'
        option type 'bridge'
        option macaddr 'F2:BF:74:00:0c:fe'

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

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 2 6t'

config interface 'lteUsbModem'
        option proto 'dhcp'
        option device 'eth1'

config interface 'ahiface'
        option mtu '1536'
        option proto 'batadv_hardif'
        option master 'bat0'
        option defaults_applied '1'

config interface 'bat0'
        option proto 'batadv'
        option network_coding '0'
        option defaults_applied '1'
        option disabled '1'

config interface 'lan'
        option proto 'dhcp'
        option defaults_applied '1'

config interface 'privlan'
        option device 'br0'
        option proto 'static'
        option ipaddr '10.42.0.1'
        option netmask '255.255.255.0'
        option defaults_applied '1'

config interface 'ahwlan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option defaults_applied '1'

root@accespoint:~#

thank you

@ajudge this is my config for AP

Hi @AhmedMarnissi

While you don’t strictly need “bridge mode” as defined by the configuration screen, in the sense of bridging the HaLow Access Point to Ethernet, you do need the HaLow interface to be in a Linux bridge interface (eg br0 as dumped by brctl show).

Unfortunately this version of the UI does not create a bridge interface for the AP. I don’t think it will let you set up a DHCP server for the AP when you select bridge mode either. This is because bridge mode is primarily intended to add HaLow to an existing network which has a DHCP server already running (for example, your home router/gateway).

You can see from your ifconfig -a output that wlan0 has two additional WDS virutal interfaces created alongside it. wlan0.sta1 and wlan0.sta2. So we know that your stations are correctly configured and associated to your AP.

All you should need to do is add a bridge device to your network configuration, and associate it with the ahwlan interface. Run the following commands.

uci add network device
uci set network.@device[-1].name="br-ahwlan"
uci set network.@device[-1].type="bridge"
uci set network.ahwlan.device="br-ahwlan"
uci commit
reload_config

Note that newer versions of our software should handle this configuration in the UI in a much better way.