# This bricks 25.10

**URL:** <https://forum.openwrt.org/t/this-bricks-25-10/247410>\
**Category:** Talk about Documentation\
**Created:** [March 9, 2026, 4:52am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410 "2026-03-09T04:52:07Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon63541380](https://forum.openwrt.org/letter_avatar/anon63541380/32/5_5575768a8748004e209b776fc1b2916d.png) [@anon63541380](https://forum.openwrt.org/u/anon63541380)\
**Post date:** [March 9, 2026, 4:52am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/1 "2026-03-09T04:52:08Z")

</div>

> **[Example configuration - \[OpenWrt Wiki\] Network configuration /etc/config/network](https://openwrt.org/docs/guide-user/network/network_configuration#example_configuration)**
>
> See also: IPv4 configuration, IPv6 configuration, Static routes, WAN interface protocols, Network scripting, DHCP client scripting

---

<div class="post-metadata">

**Author:** ![psherman](https://forum.openwrt.org/letter_avatar/psherman/32/5_5575768a8748004e209b776fc1b2916d.png) [@psherman](https://forum.openwrt.org/u/psherman)\
**Post date:** [March 9, 2026, 5:57am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/2 "2026-03-09T05:57:50Z")

</div>

It would be really helpful if you could describe which settings cause the bricked situation and on what device.

Keep in mind that the example is using an older device (TL-WR1043ND) with swconfig (ath79 target), so unless you're working with that specific hardware, it's important to know what was copied over and applied to your device.

---

<div class="post-metadata">

**Author:** ![anon63541380](https://forum.openwrt.org/letter_avatar/anon63541380/32/5_5575768a8748004e209b776fc1b2916d.png) [@anon63541380](https://forum.openwrt.org/u/anon63541380)\
**Post date:** [March 9, 2026, 6:14am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/3 "2026-03-09T06:14:31Z")

</div>

ipaddr should be 192.168.1.1/24 not ipaddr+mask combo.

---

<div class="post-metadata">

**Author:** ![psherman](https://forum.openwrt.org/letter_avatar/psherman/32/5_5575768a8748004e209b776fc1b2916d.png) [@psherman](https://forum.openwrt.org/u/psherman)\
**Post date:** [March 9, 2026, 6:17am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/4 "2026-03-09T06:17:00Z")

</div>

IP + mask works just fine. The new method with CIDR notation is preferred, but the old method still works (it hasn't been deprecated).

---

<div class="post-metadata">

**Author:** ![anon63541380](https://forum.openwrt.org/letter_avatar/anon63541380/32/5_5575768a8748004e209b776fc1b2916d.png) [@anon63541380](https://forum.openwrt.org/u/anon63541380)\
**Post date:** [March 9, 2026, 6:22am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/5 "2026-03-09T06:22:35Z")

</div>

Sure "works" [Mercusys mr90x bricked during installation](https://forum.openwrt.org/t/mercusys-mr90x-bricked-during-installation/247349)

---

<div class="post-metadata">

**Author:** ![lantis1008](https://forum.openwrt.org/user_avatar/forum.openwrt.org/lantis1008/32/1986_2.png) [@lantis1008](https://forum.openwrt.org/u/lantis1008)\
**Post date:** [March 9, 2026, 6:25am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/6 "2026-03-09T06:25:06Z")

</div>

User broke their own network by mixing syntax. The wiki is fine how it is.

---

<div class="post-metadata">

**Author:** ![psherman](https://forum.openwrt.org/letter_avatar/psherman/32/5_5575768a8748004e209b776fc1b2916d.png) [@psherman](https://forum.openwrt.org/u/psherman)\
**Post date:** [March 9, 2026, 6:30am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/7 "2026-03-09T06:30:38Z")

</div>

The place where the documentation really did need to be updated was here:

> **[\[OpenWrt Wiki\] Change LAN IP in LuCI (to an IP on a different subnet)](https://openwrt.org/faq/change_lan_ip)**

I've just added the bit about 25.12 and later using CIDR and 24.10 and earlier just requiring the IP address change.

---

<div class="post-metadata">

**Author:** ![egc](https://forum.openwrt.org/letter_avatar/egc/32/5_5575768a8748004e209b776fc1b2916d.png) [@egc](https://forum.openwrt.org/u/egc)\
**Post date:** [March 9, 2026, 2:00pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/8 "2026-03-09T14:00:28Z")

</div>

But if you use:

```plaintext
uci set network.lan.ipaddr=

```

It wants the new CIDR notation so that looks to be default now.  
So maybe the documentation needs to reflect the new default way with CIDR notation?

---

<div class="post-metadata">

**Author:** ![psherman](https://forum.openwrt.org/letter_avatar/psherman/32/5_5575768a8748004e209b776fc1b2916d.png) [@psherman](https://forum.openwrt.org/u/psherman)\
**Post date:** [March 9, 2026, 5:01pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/9 "2026-03-09T17:01:08Z")

</div>

> [@egc](#):
>
> So maybe the documentation needs to reflect the new default way with CIDR notation?

I think that the documentation could be updated to reflect the current syntax. But it is important to ensure that things are called out by version.

Specifically:

- 25.12 defaults to using CIDR notation (single line).

- 25.12 does accept the older two-line (ipaddr + netmask) approach.

- 25.12 does not 'rewrite' the configs when upgrading from 24.10. That is to say that if the 24.10 config used the 2-line method, 25.12 will keep that syntax intact.

- 24.10 (by default) uses the 2-line method.

- 24.10 supports the use of CIDR slash notation (1-line)

- In 25.12, setting a new IP (from the default config) **must** include either the CIDR slash notation or the addition of a netmask line.

- In 24.10, since the netmask line already exists (at least by default), the IP address can be changed without requiring the slash notation.

- If CIDR notation is used, the netmask line must be deleted/omitted.

And...

- Versions 23.05 and earlier use the 2-line (ipaddr + netmask) method, and don't support CIDR slash notation (AFAIK this is the case, but I could be wrong here)

The one last thing to consider...

The documentation shows an ath79 device / swconfig. Updating with an example using DSA could also be useful. But again, it needs to be called out as a device+version depenedent difference.

---

<div class="post-metadata">

**Author:** ![anon63541380](https://forum.openwrt.org/letter_avatar/anon63541380/32/5_5575768a8748004e209b776fc1b2916d.png) [@anon63541380](https://forum.openwrt.org/u/anon63541380)\
**Post date:** [March 9, 2026, 5:03pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/10 "2026-03-09T17:03:32Z")

</div>

> [@psherman](#):
>
> Versions 23.05 and earlier use the 2-line

You are correct here. Just that there are 100 documents playing around these settings....

---

<div class="post-metadata">

**Author:** ![lantis1008](https://forum.openwrt.org/user_avatar/forum.openwrt.org/lantis1008/32/1986_2.png) [@lantis1008](https://forum.openwrt.org/u/lantis1008)\
**Post date:** [March 9, 2026, 9:08pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/11 "2026-03-09T21:08:43Z")

</div>

Is the following undefined behaviour?

```plaintext
option ipaddr '192.168.1.1/24'
option netmask '255.255.255.0'

```

Does the netmask line need to be removed to not cause an error?

---

<div class="post-metadata">

**Author:** ![psherman](https://forum.openwrt.org/letter_avatar/psherman/32/5_5575768a8748004e209b776fc1b2916d.png) [@psherman](https://forum.openwrt.org/u/psherman)\
**Post date:** [March 9, 2026, 9:13pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/12 "2026-03-09T21:13:40Z")

</div>

Honestly, I'm not sure what happens... but beyond that... my bigger concern/question would be

```plaintext
option ipaddr '192.168.1.1/22'
option netmask '255.255.255.0'

```

In the above, the subnet maks is a /24, but the CIDR slash notation is /22. I don't know what happens in the case where there is a discrepancy between the two.

---

<div class="post-metadata">

**Author:** ![phinn](https://forum.openwrt.org/user_avatar/forum.openwrt.org/phinn/32/4034_2.png) [@phinn](https://forum.openwrt.org/u/phinn)\
**Post date:** [March 12, 2026, 6:58pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/13 "2026-03-12T18:58:13Z")

</div>

I updated the [example section](https://openwrt.org/docs/guide-user/network/network_configuration) to call out that that is an swconfig example, and put in a DSA default example (from my device). Hope this clarifies that page a bit more and this can be closed.

---

<div class="post-metadata">

**Author:** ![psherman](https://forum.openwrt.org/letter_avatar/psherman/32/5_5575768a8748004e209b776fc1b2916d.png) [@psherman](https://forum.openwrt.org/u/psherman)\
**Post date:** [March 12, 2026, 7:19pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/14 "2026-03-12T19:19:35Z")

</div>

Thank you for that!

I would suggest one more addition -- a quick note to call out the OpenWrt version and the use of CIDR in 25.12 (by default) & 24.10 (optional) vs ipaddr+netmask in 24.10 and ealrier + optional in 25.12.

---

<div class="post-metadata">

**Author:** ![hnyman](https://forum.openwrt.org/user_avatar/forum.openwrt.org/hnyman/32/19_2.png) [@hnyman](https://forum.openwrt.org/u/hnyman)\
**Post date:** [March 12, 2026, 7:37pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/15 "2026-03-12T19:37:39Z")

</div>

I feel that main point to be clarified is that as the generated default config in 25.12 has the one-line cidr notation, so if the user uses an (old) uci modifying script to change it, he must either use the cidr notation on the ipaddr line or set also the netmask as a separate item (as it might not exist in the file, yet).

The same naturally applies to manual edit, but there syntax is more visible, decreasing the probability of mistakes.

The change done in the 25.12 development cycle ([https://github.com/openwrt/openwrt/pull/13780](https://github.com/openwrt/openwrt/pull/13780)) was just about the generated default config. Nothing about the underlying functionality. (And similarly DSA/swconfig plays no role here.)

---

<div class="post-metadata">

**Author:** ![phinn](https://forum.openwrt.org/user_avatar/forum.openwrt.org/phinn/32/4034_2.png) [@phinn](https://forum.openwrt.org/u/phinn)\
**Post date:** [March 12, 2026, 7:47pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/16 "2026-03-12T19:47:04Z")

</div>

Ok makes sense, I took a shot at it adding a sentence to each config example explaining use of CIDR and ipaddr+netmask. Hopefully that works, if not revert it 🙂

---

<div class="post-metadata">

**Author:** ![bmork](https://forum.openwrt.org/user_avatar/forum.openwrt.org/bmork/32/14_2.png) [@bmork](https://forum.openwrt.org/u/bmork)\
**Post date:** [March 12, 2026, 8:29pm UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/17 "2026-03-12T20:29:56Z")

</div>

> [@hnyman](#):
>
> if the user uses an (old) uci modifying script to change it, he must either use the cidr notation on the ipaddr line or set also the netmask as a separate item (as it might not exist in the file, yet).

I would say that this is true regardless of the default. You can't blindly assume that the default or current mask is what you want. Any example setting the address without also setting the mask (using either syntax) is wrong, and has always been wrong.

I took a quick peek at the netifd code to try to figure out what happens if you set both cidr and netmask. The cidr value will override the netmask in this case. So new docs could just ignore the netmask option and simply show the cidr way.

---

<div class="post-metadata">

**Author:** ![hnyman](https://forum.openwrt.org/user_avatar/forum.openwrt.org/hnyman/32/19_2.png) [@hnyman](https://forum.openwrt.org/u/hnyman)\
**Post date:** [March 13, 2026, 4:42am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/18 "2026-03-13T04:42:59Z")

</div>

> [@bmork](#):
>
> > [@hnyman](#):
> >
> > user uses an (old) uci modifying script to change it, he must either use the cidr notation on the ipaddr line or set also the netmask as a separate item (as it might not exist in the file, yet).
> 
> I would say that this is true regardless of the default. You can't blindly assume that the default or current mask is what you want.

True, but I still believe that overlooking that may be the reason for this "25.12 is broken" syndrome. People have (uci-defaults) scripts to modify just the changing config items, not all. And earlier there has already been the netmask line, without need for modifying it when setting ipaddr. Now there isn't one in the default config, so overriding the ipaddr line with a new ipaddr line without cidr is now wrong, as it removes the code notation. That is the likely pitfall for old scripts.

---

<div class="post-metadata">

**Author:** ![system](https://forum.openwrt.org/uploads/default/original/3X/7/4/740520c71f00039bbf001045c682f0ecb25e905a.png) [@system](https://forum.openwrt.org/u/system)\
**Post date:** [March 23, 2026, 4:43am UTC](https://forum.openwrt.org/t/this-bricks-25-10/247410/19 "2026-03-23T04:43:06Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.
