<Ansuel> ?
<stintel> wrong window
cmonroe has joined #openwrt-devel
csrf has joined #openwrt-devel
Ansuel has quit [Quit: Probably my PC decided to sleep or I decided to sleep.]
Mathew has quit [Remote host closed the connection]
danitool has quit [Quit: Cubum autem in duos cubos, aut quadratoquadratum in duos quadratoquadratos]
tSYS has quit [Quit: *squeak*]
tSYS has joined #openwrt-devel
hanetzer1 has joined #openwrt-devel
hanetzer has quit [Ping timeout: 480 seconds]
tlj_ has quit [Remote host closed the connection]
tlj_ has joined #openwrt-devel
hanetzer2 has joined #openwrt-devel
tlj_ has quit [Remote host closed the connection]
tlj_ has joined #openwrt-devel
hanetzer1 has quit [Ping timeout: 480 seconds]
dangole has quit [Ping timeout: 480 seconds]
<KGB-1> https://tests.reproducible-builds.org/openwrt/openwrt_tegra.html has been updated. (50.0% images and 99.6% packages reproducible in our current test framework.)
isak has quit [Remote host closed the connection]
valku has quit [Quit: valku]
csrf has quit [Ping timeout: 480 seconds]
torv has quit [Remote host closed the connection]
torv has joined #openwrt-devel
guerby has quit [Remote host closed the connection]
guerby has joined #openwrt-devel
guerby has quit [Remote host closed the connection]
guerby has joined #openwrt-devel
guerby has quit [Remote host closed the connection]
guerby has joined #openwrt-devel
guerby has quit [Remote host closed the connection]
guerby has joined #openwrt-devel
guerby has quit [Remote host closed the connection]
guerby has joined #openwrt-devel
cbeznea has joined #openwrt-devel
robimarko has joined #openwrt-devel
guerby has quit [Remote host closed the connection]
guerby has joined #openwrt-devel
minimal has joined #openwrt-devel
isak has joined #openwrt-devel
AtomiclyCursed2 has joined #openwrt-devel
AtomiclyCursed has quit [Ping timeout: 480 seconds]
AtomiclyCursed2 is now known as AtomiclyCursed
dangole has joined #openwrt-devel
srslypascal is now known as Guest1230
srslypascal has joined #openwrt-devel
dangole has quit [Remote host closed the connection]
dangole has joined #openwrt-devel
Guest1230 has quit [Ping timeout: 480 seconds]
schwicht has joined #openwrt-devel
xutaxkamay has quit [Ping timeout: 480 seconds]
Tapper has joined #openwrt-devel
<owrt-2203-builds> Build [#186](https://buildbot.openwrt.org/openwrt-22.03/images/#builders/40/builds/186) of `mvebu/cortexa53` completed successfully.
floof58 has quit [Ping timeout: 480 seconds]
floof58 has joined #openwrt-devel
floof58 is now known as Guest1238
floof58 has joined #openwrt-devel
Guest1238 has quit [Ping timeout: 480 seconds]
<stintel> so I wonder what's the idea behind TARGET_PREINIT_IP ... why would you want to change the preinit IP while keeping default lan IP 192.168.1.1
<stintel> and if I want to make the default lan IP configurable ... do I just add a bool to use TARGET_PREINIT_IP as default lan IP
<stintel> or do I add TARGET_DEFAULT_LAN_{IP,NETMASK,BROADCAST}
<karlp> I've wondered as well why you woul dever want them to be different, but apparently someone had a "very good reason"(tm)
<stintel> I know I can throw a uci-defaults file in files/, but if that file ends up in my own images I'd be rather annoyed
<karlp> isn't that configurable already?
<stintel> I much rather keep this contained in the .config
<stintel> there's a script to maintain files/ as a git repo but I find it too cumbersome
<karlp> hrm, I thought I'd seen a config option before.
<karlp> now it makes even less sense, to configure one but not the other :)
<stintel> so right now, it's not possible at all to do it via .config, I guess a bool to use TARGET_PREINIT_IP and friends as default LAN IP is a simple addition that some users might appreciate
<karlp> anyone seen this sort of thing on emmc? F2FS-fs (loop0): inconsistent node block, nid:111, node_footer[nid:124,ino:124,ofs:0,cpver:7595780304553173646,blkaddr:4174]
<stintel> 29|14:26:29< stintel> f2fs inconsistent node block, ...
<stintel> this was on an rpi microsd
<stintel> I blamed it on the sd, but maybe there's more going on :(
<karlp> this was first boot on sunxi with emmc, never seen it before.
* karlp reflashes and sticks is head in the sand
<stintel> :P
<karlp> I got like 30-40 of them and it nver properly mounted the rootfs
<stintel> well it happened recently
<stintel> maybe a new f2fs bug
<minimal> thought I saw something a couple of weeks ago about a f2fs bug fixed in recent kernels
<karlp> hrm, thi sis same kernel I've been on for a week or two now, just started failing on this build of it.
<karlp> and reflashing has ... not... fixed it, unfortauntely.
<stintel> karlp: this happened to me on 29/11
<stintel> might be worth checking last few kernel changelogs I guess
* karlp sighs.
me has joined #openwrt-devel
me is now known as Guest1240
<stintel> karlp: ah wait, you do need to dd if=/dev/zero
<stintel> otherwise you don't trigger mkfs.f2fs
<stintel> or maybe fsck needs to be triggered to try and repair it
<karlp> I'm taking a squashfs img and dding it to the emmc, and booting, it _shouldn't_ need fsck or anything aiui?
<stintel> karlp: it doesn't overwrite the overlay
<karlp> oh, you reckon it's finding a dangling overlay later on emmc?
<stintel> the overlay starts at offset sizeof(img) iiuc
<karlp> that's... unexpected.
<karlp> I thought my dd should have been a pretty clean install :|
<karlp> but ok, that makes sense I guess...
<stintel> 29|14:38:44< stintel> so if overlay fails to mount, /dev/loop0 is deconfigured, there is no way to even fix that then
<stintel> 29|14:38:55< stintel> you can't mkfs.f2fs on /dev/loop0 it's 0MB
<stintel> 29|14:39:18< stintel> dd'ing a new factory image also doesn't overwrite the broken f2fs
<stintel> 29|14:39:29< stintel> wipefs only clears partition table
<stintel> 29|14:39:55< stintel> so I ended up doing dd if=/dev/zero ...
<karlp> oh, this is so gross.
<stintel> yep
<minimal> does blkdiscard work on emmc? it would be better than "dd if=dev/zero", right?
<minimal> or is it just the 1 partition that needs to be blanked?
<stintel> it's not really a partition
<minimal> well you can use blkdiscard with offset and length options
<karlp> jffs2 had a DEAD thing flag to say "don't keep reading past here looking for old garbage" right?
Guest1240 has quit [Quit: Page closed]
<karlp> ok, yeah, erased a big chunk of emmc from uboot and reflashed, it's happy again.
<karlp> this is going to suck for sysupgrade too, when I get that far.
Piraty has quit [Quit: --]
Piraty has joined #openwrt-devel
<stintel> should you find a way to reproduce it ... please share
<stintel> can't be coincidence if it happened for me on rpi/sd and for you on sunxi/emmc
<stintel> and just dding factory image not fixing it ... should definitely be improved
<\x> stintel: nice that WPA3 roaming works well ;). I moved to WPA3+11kr (yes no v, I just inject neighbors via some scripted ubus commands) on my main ssid, only legacy devices are my TVs anyway.
<\x> seems a lot of devices actually has FT-SAE support
<karlp> stintel: it's gotta be something to do with my image size crossing boundaries.
<stintel> karlp: maybe we could trigger the situation by dd if=/dev/random to somewhere in the f2fs
<karlp> this latest one would have been a little bigger, with more configs turned on, so it must have trampled something, but still felt it was valid trying to read blocks off emmc?
<stintel> should at least result in overlay not being mounted, and /dev/loop0 being deconfigured
<karlp> I've never looked at how f2fs works, or how it detects things, this just came by default with a bigger image :)
<stintel> we could in this case instead try fsck, and if that doesn't work, ask for input "do you wanna mkfs?"
<karlp> there's no filesystem to fsck though?
<karlp> you can't fsck the dev/loop0 as that's RO,
<stintel> hmmm ? the overlay should be writeable ..
<stintel> maybe it's not loop0
<karlp> didn't try that device.
<stintel> but inconsistent node block is a message from F2FS, so there *is* a filesystem
<stintel> it's just broken
<stintel> anyway, back to making default LAN IP configurable
<karlp> the second size change seems odd? https://paste.jvnv.net/view/pSYQp
<stintel> hmmmm so it actually mounts in your case
<stintel> \x: did not have time to look into all this a bit further, have some ideas, but enough other stuff on my plate
minimal has quit [Quit: Leaving]
<owrt-2203-builds> Build [#192](https://buildbot.openwrt.org/openwrt-22.03/images/#builders/63/builds/192) of `at91/sama7` completed successfully.
<karlp> stintel: well, it sort of does. it's actualyl all busted if you try and use it though https://paste.jvnv.net/view/zFtM4
<stintel> where is json_get_keys defined ?
<stintel> lxr shows nothing
<stintel> ok it's in libubox
valku has joined #openwrt-devel
<stintel> pffff
<karlp> bleh, I have br-lan being a dhcp client, but it's still doign ip6assign.
<stintel> all this voodoo and black magic
<karlp> try cat etc/bord.json | json_load to make it to the "receive on stdin" properly?
<Znevna> I thought that only dd-wrt consists of voodoo and black magic >.>
<jow> json_load actually expects a string buffer iirc
<jow> stintel: you forgot to quote
<stintel> jow: thanks
<jow> json_load "$(cat /etc/board.json)"
<stintel> yeah figured
<stintel> Znevna: did you see that I cannot repro the crash on debugfs read of ppe0/entries?
<Znevna> yup
<stintel> any specific config I could test?
<Znevna> I don't have anything special
<stintel> I've rebuilt with firewall4 included and flow_offloading and flow_offloading_hw 1
<Znevna> this one crashing doesn't even have pppoe configured
<stintel> it's not related to pppoe at all
<stintel> ppe is mtk packet processing engine
<Znevna> yes I know
<Znevna> mt7621?
<stintel> Znevna: mt7622 - my 7621 devices are in production, not willing to move to testing kernel
<Znevna> might be something 7621 doesn't like then
<Znevna> that's arm >.>
<stintel> I have some unused 7621 devices somewhere but that would require more effort setting up for testing, no time for that in the near future, sorry
<Znevna> np
<\x> yeah 7621 doesnt like some things. number one is inspecting packets ;)
<Znevna> caught these, donno what triggered them, I was looking around statistics :) https://paste.debian.net/plainh/a70fac23
<stintel> Znevna: did you build your own image where you hit that ppe0 crash ?
<Znevna> yup
<Znevna> there's no image for download with 5.15
<Znevna> i didn't try with 5.10, hmm. Will do in 30 mins
<stintel> build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/linux-5.10.155/scripts/faddr2line build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/linux-5.10.155/vmlinux mtk_ppe_debugfs_foe_show.constprop.0+0x1c4/0x374
<stintel> but on the right location (this is for 5.10 kernel)
<stintel> this should point you to the exact line in the source where you hit the invalid memory access
<Znevna> x.x
yolo has quit [Remote host closed the connection]
<stintel> barf
<stintel> Znevna: do you have IPv6 configured?
<Znevna> yes
<stintel> ok, I don't
<Znevna> I'll try in a few, can't rist letting the wife without internet. I think I left the testing devices configured with the main SSID >.>
<Znevna> can't risk*
<stintel> :P
<stintel> dual HA wired-only routers + multiple dump APs FTW
<stintel> dumb*
<stintel> you could add printks in drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c to see where it crashes
<stintel> something like pr_err("%s:%d: %s\n", __FILE__, __LINE__, __func__);
<stintel> I found that to be quite helpful sometimes
Strykar has quit [Quit: /quit]
Strykar has joined #openwrt-devel
<stintel> grmbl why is this afalg_engine breaking my build again
schwicht has quit [Read error: Connection reset by peer]
schwicht has joined #openwrt-devel
Tapper has quit [Ping timeout: 480 seconds]
<stintel> how do you pass ipaddr so that it is used in https://github.com/openwrt/openwrt/blob/master/package/base-files/files/bin/config_generate#L165 rather than 192.168.1.1 ?
<stintel> tried an export in uci-defaults but that didn't work
<stintel> oh, that's set as local variable in generate_network
<stintel> which is later read from network in /etc/board.json
<dwfreed> yes
<dwfreed> was just going to say that
<dwfreed> it would be network.lan.ipaddr in board.json for the default lan
<stintel> the search continues ...
<\x> uhmm, can we have pnscan on openwrt ;)
<dwfreed> :)
<stintel> so if /etc/board.json doesn't exist, config_generate calls board_detect. board_detect sources /etc/board.d/*
<\x> oh haha
<\x> let me see deps
<stintel> but I fail to see how that generates board.json
<\x> pthreads only it seems
floof58 has quit [Ping timeout: 480 seconds]
madwoota has quit [Ping timeout: 480 seconds]
GNUmoon has quit [Ping timeout: 480 seconds]
snh has quit [Ping timeout: 480 seconds]
<stintel> ok board_config_update / board_config_flush
<f00b4r0> stintel: the board.d/* files source lib/uci-defaults and call board_config_update()/_flush()
<f00b4r0> lib/functions/uci-defaults
<\x> yup pthreads only, seems to compile fine dwfreed
<\x> $ file pnscan
<\x> pnscan: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-aarch64.so.1, with debug_info, not stripped
floof58 has joined #openwrt-devel
madwoota has joined #openwrt-devel
<\x> ill have to learn that openwrt makefile then dwfreed
<\x> hah
<dwfreed> it's really pretty straightforward
snh has joined #openwrt-devel
<\x> -s -I. -I. -pthread -Wall -g -O2
<\x> so how does it handle that export STAGING_DIR
<\x> automatic on the builder right?
GNUmoon has joined #openwrt-devel
<\x> i guess Ill see tomorrow
<dwfreed> "IPv6 is currently not supported" lols
<dwfreed> > gethostbyname
<dwfreed> mfw
<f00b4r0> this things looks rather poorly coded and quite useless, imo
<dwfreed> its biggest claim is "faster than nmap"
<dwfreed> but nmap does a lot, so that's not really a high bar
<dwfreed> and nmap does a lot more useful things than this
<f00b4r0> nod
<stintel> ugh, so how do I figure out which interface is setup as lan by 02_board
<f00b4r0> it tells you for your device?
<stintel> yes, how do I figure that out in a later uci-defaults script
<stintel> so I can call ucidef_set_interface "lan" ifname "eth1" protocol "static" ipaddr "1.1.1.1" netmask "255.255.255.0"
<stintel> without hardcoding eth1 there
<dwfreed> stintel: why do you need to care if you just want to set your own ipaddr? board_config_update; json_select network; json_select lan; json_add_string ipaddr "1.1.1.1"; json_select ..; json_select ..; board_config_flush
<f00b4r0> that :)
<stintel> dwfreed: well that entire json stuff is complete voodoo and black magic to me
<dwfreed> you don't *have* to use ucidef_* functions, they're just convenience
<dwfreed> it's basically a tree navigator
<karlp> it doesn't recognize dropbear very well.
<karlp> \x: that was for you abotu pnscan
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #openwrt-devel
<karlp> it's recommended method for finding http servers doesn't find luci either...
<stintel> dwfreed: thanks, very helpful
<dwfreed> karlp: yeah, HTTP/1.0 is a great way to catch bots these days
<dwfreed> and scanners
<dwfreed> because every *normal* HTTP client is going to be using at least 1.1, and for a correctly configured web server, every graphical HTTP client is going to be using HTTP/2.0
Tapper has joined #openwrt-devel
<karlp> damnit these damn ipv6 routes are now dangling all over the place
<stintel> ULA enabled by default? :)
<karlp> this is not the first, and probbly won't be the last that openwrt has happily declared itself to be an ipv6 server on a v4 dhcp interface :|
<stintel> there was a discussion about that a few months ago, wonder what happened
<karlp> I just need to be "more assertive" when I switch the lan interface from static to dhcp I guess..
<f00b4r0> nothing
<f00b4r0> the problem is still there, at least for those affected.
<f00b4r0> I remove the ULA setup on every openwrt install i do now ;P
<stintel> I guess we could at least turn it into a config know
<stintel> knob*
<stintel> because I absolutely hate it, and yes I do the same
<ukleinek> karlp: ah, you found the RA odhcpd sends out are bogus? That's my quest, too.
<karlp> yeah, I don't want all these v6 routes given to me https://paste.jvnv.net/view/GCl40
<stintel> yeah that's ULA
<Znevna> that default behavior can be changed maybe
<stintel> very tempted to just git pw patch apply && git push upstream that
<stintel> right, top-posters
<stintel> that's why I stopped reading the discussion
<stintel> sigh
<f00b4r0> then you missed the part when I describe the bug: http://lists.openwrt.org/pipermail/openwrt-devel/2022-September/039379.html :)
<stintel> right, so a config knob would make people like karlp and me happy because we build our own images anyway, while at the same time not change "OpenWrt has been a leader here"
<dwfreed> destination unreachable code 5: source address failed ingress/egress policy
<dwfreed> interesting
<karlp> stintel: I actually don't mind if it if this device was the "router"
<karlp> but it's a dhcp client
<stintel> fully agree
<stintel> but being a client is not OpenWrt's main purpose usually ;)
<stintel> I build without dnsmasq and odhcdp to avoid the crap entirely
<stintel> karlp: I love your predictable network interface name :D
<stintel> enp0s20f0u2u1 seriosuly
<dwfreed> oh yes, I would have predicted that instantly... /ssssssssssss
<stintel> especially the u2u1
<stintel> karlp: maybe as a temporary measure add a 'uci delete network.globals.ula_prefix' in files/etc/uci-defaults/99-noula
<stintel> not sure that's going to be enough but you get the idea
<stintel> or maybe we could make it dependent of DEVICE_TYPE=router
<Znevna> hmm lemme see what was the pinout on this thing
* stintel curses grub, whyyyyyyy do you always rebuild
<stintel> what an epic waste of time
schwicht has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
schwicht has joined #openwrt-devel
<Znevna> of course they are reversed
<stintel> pffff
<stintel> what am I doing wrong?
<stintel> there's no ipaddr in /etc/board.json at all
<stintel> the config option is enabled, ./staging_dir/target-x86_64_musl/root-x86/etc/board.d/99-lan-ip exists etc
<dwfreed> stintel: not executable
<stintel> dwfreed: it's being sourced, it shouldn't be ?
<dwfreed> board_detect requires the file to be executable
<dwfreed> presumably as a way to control whether said file is sourced or not, since it has no other mechanism for disabling an item in the dir
<stintel> find target/ -name 02_network -ls shows none of the 02_board files being executable
<stintel> and I'm not immediately finding any code that does this
<stintel> files are removed after being sourced
<dwfreed> oh, it was changed
Lynx- has joined #openwrt-devel
<dwfreed> in 19.07 the test was executable
<stintel> I guess I'll be adding some logger calls in /etc/init.d/boot and board_detect
<dwfreed> now it's just 'not empty'
<Lynx-> Hey gents - what happens if you write say 10MB to / on an OpenWrt router that uses squashfs
<Lynx-> when will it actually get written to the flash and contribute to wear
<stintel> it will be written to the overlay
<Lynx-> I understand squashfs uses f2fs? Does that apply to /
<dwfreed> the overlay upper fs varies by target
<dwfreed> some are jffs2, some are f2fs, some are ext4
<robimarko> It varies by underlying storage and size
gladiac has joined #openwrt-devel
<dwfreed> but the entire / is overlayfs, except certain paths are tmpfs, so anything written to the overlay goes to the upper fs
<stintel> overlay is never ext4 is it?
<dwfreed> stintel: x86
<stintel> dwfreed: no
<stintel> I'm using squashfs on x86, it uses f2fs
<robimarko> stintel: On emmc it can be
<stintel> you can use an ext4 image, but that's without overlay
<dwfreed> my 19.07 systems are ext4 :P
<robimarko> stintel: Isnt mvebu having SD images with either squashfs or ext4 as overlay?
<Lynx-> dwfreed so if I write 10MB of junk to / will it get written to flash?
<Lynx-> this is with RT3200
<dwfreed> yes
<Lynx-> oh that's a pity
<dwfreed> this is why openwrt minimizes writes to as little as possible
<dwfreed> if you want to write 10 MB of junk, put it in /tmp
<Lynx-> it was an accident :)
<dwfreed> and just know you'll lose 10 MB of RAM to said junk
<Lynx-> how does f2fs work - doesn't it delay writes?
<dwfreed> for extremely short periods
<dwfreed> it's still going to write to disk within a second or two
<dwfreed> "disk"
<Lynx-> ahh
<Znevna> stintel: no crash with 5.10, I'll try my own build of 5.10 to see if something I do breaks it
<stintel> hmmm so I was wrong, it's not /etc/board.d/ files that are being deleted, that was files in /etc/uci-defaults/
<dwfreed> stintel: okay, I was wrong, my x86 19.07 is in fact f2fs, but my 19.07 nbg6817 is ext4
<stintel> dwfreed: ext4 overlay?
<dwfreed> yeah
<dwfreed> the latter has a 4 GB eMMC where the overlay is
<Lynx-> is there a way to see how worn a device is
<Lynx-> like how many writes
<stintel> sounds like some target-specific anomaly ;p
<Lynx-> a flash health inspector
<robimarko> stintel: mvebu also offers ext4 overlay
<dwfreed> Lynx-: most flash is too basic to expose that in a useful way; but as long as you aren't writing repeatedly, it's generally fine
<stintel> robimarko: interesting
<Lynx-> ok thanks dwfreed
<stintel> on my oc200 (mvebu) it's using f2fs
<stintel> oh well
<robimarko> Check the A72 and A53 subtargets
<stintel> back to my attempt to make default lan ip configurable
<robimarko> Isnt it already from menuconfig?
<stintel> nope
<stintel> that's only for preinit
<Lynx-> "Max cycling: 100K Program / Erase cycles" which is typical for SLC NAND.
<robimarko> Well, whats the logic of preinit being configurable and not the final image?
<stintel> robimarko: you tell me
<Lynx-> what does 100K program/erase cycles mean? That sounds like a lot.
<Lynx-> 100,000 writes to every block?
<Lynx-> and openwrt will wear level?
<robimarko> stintel: looks like a good idea
<Lynx-> so we are talking a vast number of writes of small files
<robimarko> Lynx-: AFAIK, it should be per block
<robimarko> And then we rely on UBI and like to do the bad block monitoring
<Lynx-> can we inspect # bad blocks?
<stintel> robimarko: thanks
<robimarko> Lynx-: Yes, UBI keeps track of them
<stintel> if only it worked :P
<Lynx-> robimarko can I see?
<Lynx-> hello UBI, how is my flash doing?
<robimarko> Ahh, check ubinfo
<robimarko> There should also be a way to force a rescan
<Znevna> also there's this https://paste.debian.net/plainh/8eb5cc0b which I don't know how to set up properly
<robimarko> Lynx-: Just run ubinfo -a
<stintel> so it does $( . /etc/board.d/foo ), doesn't need to be executable
<robimarko> It will tell you the current number of bad blocks
<Lynx-> robimarko does this look OK: https://pastebin.com/CXannMJx
<Lynx-> but that's since last scan?
<stintel> we really need better logging in places like this
<robimarko> Lynx-: Yeah, you have no bad blocks
<stintel> same with sysupgrade
<stintel> stuff not working is usually a royal pita to debug
<robimarko> stintel: agreed, as currently only catching it via UART works
<stintel> I had some ideas, I hope I wrote them down somewhere
<Lynx-> robimarko but could that ubinfo -a info be old?
<Lynx-> is it updated every reboot?
<robimarko> Lynx-: I dont think so
<Lynx-> old or reboot?
<robimarko> It will get incremented only on a full scan or if UBI hits a bad block while trying to read/write
<Lynx-> ahhh
<Lynx-> so it's on the fly
<robimarko> BTW, UBI keeps track of cycles per each eraseblock, you can check that in debugfs
<Lynx-> can I see using debugfs package?
<Lynx-> are those counters reset on flash?
<robimarko> Just go to cat /sys/kernel/debug/ubi/ubi0/detailed_erase_block_info
<robimarko> Those are preserved
<robimarko> BTW, UBI should also scan the volume for bad blocks during attachment
<robimarko> So, thats usually on boot
<robimarko> But it does not scan the whole NAND, only the volumes that are getting attached
<Lynx-> https://pastebin.com/ZSKpv1au <--- does this mean there is next to no writes?
<Lynx-> can each of these get to 100,000?
<robimarko> Those are erase counts per block
<robimarko> I dont think there is a need to worry about your NAND wearing out
<Lynx-> what number can these get to?
<Lynx-> before I need to panic
<Znevna> oh boy.
<Lynx-> super cool how all this info is exposed
<robimarko> Lynx-: Its hard to guess, but I wouldnt sweat over it
<robimarko> I am yet to hit one where NAND got so wore down that there were no spare blocks
<robimarko> Its normal to have some bad blocks
<Lynx-> how does that work
<Lynx-> spare blocks?
<mrkiko> Lynx-: ubinfo -a exposes the max erase counter value
<Lynx-> are there blocks that are ready to spring into action?
<Lynx-> Count of reserved physical eraseblocks: 20 <--- ahh I see
<Lynx-> there are 20 soldiers on standby, ready to step for each wounded warrior?
<robimarko> Lynx-: Yeah, UBI reserved those 20 to replace those that got bad
<robimarko> 20 is the default value, that can be changed
<robimarko> But 20 is plenty for these 128/256MB NAND-s
<Lynx-> why are some showing only 2 erases
<Lynx-> but many say 30
<robimarko> Depends on what is in those blocks
<robimarko> For example, you are obviously gonna erase the kernel volume way less than times that you are gonna modify rootfs_data
<mrkiko> Lynx-: just try to write as less as you can in general but without paranoia, and all will be fine.
<robimarko> mrkiko: These things are really tough
<Lynx-> Question: I develop the cake-autorate project and that involves tons of vi-based writes and modifying .sh files
<Lynx-> is that something I don't need to worry about?
<stintel> write it to /tmp
<Lynx-> the logs go out to /tmp
<robimarko> I had one SPI-NAND SLC Winbond device that I think had like 340+ full NAND erases before it threw any bad blocks
<Lynx-> but my .sh files are inside /root
<mrkiko> robimarko: tough in the sense of complicated? Yes, very true. I just wanted to say "enjoy, don't worry too much" because I get worried as well about breaking hardware in general
<Lynx-> robimarko would you say it's OK to develop bash files on the flash memory?
<robimarko> Tough in sense hard to break
<Lynx-> If I put them in /tmp then I might lose my work
<robimarko> I wouldnt go that far to advise running stuff that is constantly reading/writing directly on the flash
<robimarko> It really depends on how often it actually writes
<Lynx-> No I mean it's just for my edits whern developing
<Lynx-> *when
<robimarko> Dont sweat it then
<Lynx-> like :wq in 'vi'
<stintel> develop on your workstation, scp them to /tmp
<mrkiko> robimarko: thanks ... I am always worried about power unplug//replug
<Lynx-> can I run openwrt in virtual machine in windows
<stintel> yes
<Lynx-> ah cool, I guess I can develop on that then
<robimarko> Your NVME SSD is way more likely to develop bad blocks
<Lynx-> NVME?
<Lynx-> my desktop machine?
<robimarko> Yeah, in your workstation
<KGB-1> https://tests.reproducible-builds.org/openwrt/openwrt_kirkwood.html has been updated. (100.0% images and 99.6% packages reproducible in our current test framework.)
<robimarko> Its way more likely to develop bad blocks that the simple SLC NAND
<Lynx-> surely not with wear leveling?
<Lynx-> 93.7GB free of 237 GB
<mrkiko> Lynx-: well, wear leveling does it's job trying to avoid bad blocks, but sooner or later
<robimarko> Controllers FW will just hide all of the nasty work
<robimarko> So, it will develop bad blocks but you wont see it
<Lynx-> ah hmm
<robimarko> As it will just do what UBI does, use one of the spare ones instead
<robimarko> Especially with TLC and QLC NAND
<Lynx-> there is unavoidable imperfection all around us
<mrkiko> robimarko: any recommendation about power (un)plug? What do you do during development to avoid that if e.g.: watchdog is not helping you
<Lynx-> robimarko could I write to clouddrive rclone mount OneDrive?
<robimarko> mrkiko: none really
<Lynx-> I think that stores to /tmp then writes on cloud
<robimarko> Lynx-: I honestly wouldnt worry about wearing down my NAND or SSD by developing
<Lynx-> hmm OK, seems like my obsessional nature is rearing it's head here
<Lynx-> *its
<Lynx-> Thanks for your help with this. I sent the command to soomeone else on OpenWrt who has real wear issues on a ten year old device
<mrkiko> robimarko: and did you have any power-related damage?
<mrkiko> Lynx-: I understand you
<Znevna> 10 years?
<stintel> seriously does anyone know how to stop grub from being rebuilt every friggin' x86 image build?
<mrkiko> Lynx-: but I remember when I was developing on a spi nor flash (not nand, I admit): never had issues even flashing prety often
<robimarko> stintel: Remove it
<stintel> robimarko: it's needed to generate the image, no?
<robimarko> mrkiko: So far I havent really had any power related damage so far
<robimarko> stintel: Its not the only bootloader
<Znevna> stintel: it works fine with 5.10, even with my build.
<stintel> ok but still it's like killing a fly with a bazooka... I don't see why it needs to be rebuilt all the time, surely must be a way to avoid that
<Znevna> so it's something with 5.15 and mt7621 specific >.>
<robimarko> stintel: probably one of its dependecies changes
<robimarko> So it rebuilds
<stintel> so it seems to rebuild the -none, -pc and -efi variants, all taking ~100s
<stintel> at this point it's faster to rebuild an ath79 NOR device and sysupgrade it
<Tapper> stintel Do you have to have all 3. Just keep the one you are using would save you 200s
danitool has joined #openwrt-devel
<stintel> I guess I can disable EFI images
<stintel> but that's still ~200s wasted
<Lynx-> mrkiko many thanks indeed for your input
<Lynx-> I think I'll continue as is
<Lynx-> I've had *so* much fun with the cake-autorate project, which dynamically sets the shaper rates for LTE / Starlink users. It generally works now.
<stintel> make it compatible with qosify and I might have a go with it
<Tapper> So you have to have -none and -pc?
<stintel> Tapper: I don't even know where none comes from
<Tapper> lol
<stintel> -rw-r--r-- 1 stijn users 2346083 dec 7 20:30 logs/package/boot/grub2/efi/compile.txt
<stintel> -rw-r--r-- 1 stijn users 1075771 dec 7 20:32 logs/package/boot/grub2/none/compile.txt
<stintel> -rw-r--r-- 1 stijn users 2479913 dec 7 20:28 logs/package/boot/grub2/pc/compile.txt
<stintel> I just see this
<stintel> meaning all 3 of them were rebuilt in my last image build
* Tapper Tapper nods
<stintel> but it's besides the point. the rebuild should not be needed. maybe I want EFI and BIOS images because I have old hw that doesn't EFI
<stintel> lol
<Tapper> stintel I build for x86 but would not know which one to remove as I don''t know how to find out witch one it's using. I think I use the bios build. The file I have to use does not have uefi in the name.
<Tapper> stintel You have to build both. I just checked in make menuconfig and you have to have both
<stintel> I disabled EFI images and grub2-efi for now
<stintel> should at least shave off ~100s
<stintel> doing tens of builds per day ... that's a lot
Borromini has joined #openwrt-devel
<Lynx-> I'm not altogether sure about qosify
<Lynx-> I think it's better just to use simple nftables + tc script
<Lynx-> + DSCP restoration from conntrack
<stintel> nope
<stintel> qosify does this in eBPF, much more efficient
<Znevna> run everything at line rate ftw
<Lynx-> I found qosify rather limited
<Lynx-> for example, VPN or what if I want LAN clients to set DSCPs and have those restored on download?
<Lynx-> and is eBPF faster than working with tc?
<stintel> you're not just doing tc, you're also doing the netfilter stuff
<Lynx-> hmm, well nftables is pretty fast, no? I don't think the rate of that matters on my LTE anyway
<Znevna> stintel: is someone gonna be mad if I write about that glitch in here? https://github.com/openwrt/openwrt/pull/11255
<Lynx-> and with nftables you get a lot of flexibility
<stintel> well it all depends on the amount of clients, uplink, etc
<stintel> but netfilter rules are generally quite expensive
<stintel> I killed my M300 with an UDP storm from a single rpi4
<Lynx-> when I checked with qosify it ruled out VPN use and ruled out conntrack restore on DSCPs, which is very useful
<stintel> m300 is 4c/8t 1.5GHz ppc64
<stintel> I don't see how it rules out VPN use ?
<mrkiko> Lynx-: what do you use for LTE, curiosity only
<Lynx-> mrkiko NR7101
<Lynx-> stintel cake needs to see all flows unencrypted
<Lynx-> skb flow hash preservation only works on upload
<Lynx-> so you need ifb interface that combines flows
<mrkiko> Lynx-: do yo uuse uqmi with it or MM? Or what else? :D and, is the device easy to recover in case of bricking?
<Lynx-> mrkiko I use 22.03.2 with MM and had to manually upgraade MM + amend the so-called '10-report-down' script to get it to reconnect post ISP disconnects. It's vert easy to recover in case of bricking apparently because it's just screws and even provides header. But I haven't done that. For me it replaces a Huwaei B818-263 and is installed on the outside of my house.
<Lynx-> in general it just *works*
<Lynx-> but it's expensive - 700 GBP
<Lynx-> it's 5G capable and has pretty good modem
<mrkiko> Lynx-: thanks! but no recovery without UART
<Lynx-> honestly I don't know :/
<mrkiko> Lynx-: thanks
<Lynx-> does that make it apparent whether UART is necessary?
<Lynx-> modem is: RG502Q-EA
<stintel> right, logger doesn't work that early in boot probably
* stintel replaces it with echo > /dev/kmsg
<Znevna> no hints on how can we make the wifi leds work on AX53U ? (mt7915)
<stintel> interesting. board_detect runs multiple times
<stintel> sigh
<stintel> just including the wrong file
<stintel> so that fails silently - also something that can be improved
seer has quit [Quit: quit]
seer has joined #openwrt-devel
Lynx- has quit [Quit: Going offline, see ya! (www.adiirc.com)]
csrf has joined #openwrt-devel
<dwfreed> stintel: there is one bug in openwrt that pfak actually has a point about; the bond driver for netifd requires the interface to have an IPv4 IP
<stintel> dwfreed: I haven't used bond on OpenWrt, it's also not supported for that long, iirc
<dwfreed> but most of pfak's issues are his own doing
<Tapper> stintel Do you think qosfiy will be better than sqm on my x86 box? Will qosfiy use les cpu?
<stintel> I guess it depends on your usecase
<stintel> I haven't looked at sqm-scripts in a while
<Tapper> stintel How so? I have 300 down and 30 up. I don't use any vpns or anything like that.
<stintel> can you let it do dscp marking based on dns name or IP or port ?
<Tapper> stintel I don't do any speshel seting up of sqm just set and forget.
<Tapper> setting up*
<Tapper> stintel I did have qosify working at one time on my r7800 and it's was good, but When I tryed to build it for this new router it was crashing my builds. I think it's the bpf hadders or somthing.
<Tapper> headders
<Tapper> BPF tool chane.
<Tapper> That is the one.
<Tapper> I did not know how to have openwrt use the bpf toolchane on my wsl ubuntu install
<stintel> you can just install clang-13 and CONFIG_BPF_TOOLCHAIN_HOST=y
<Tapper> clang 13 going to install it now.
<stintel> or was it 12
<stintel> in any case, you don't need to have the openwrt buildroot build it
<stintel> set CONFIG_BPF_TOOLCHAIN_HOST=y and try clang versions until it works
<Tapper> It's asking for │ │ () Host LLVM toolchain path (prefix) (NEW) │ │
<stintel> CONFIG_BPF_TOOLCHAIN_HOST_PATH="" ?
<Tapper> stintel This where I got stuck before.
<stintel> empty string here
<Tapper> k
<stintel> at last!
<stintel> now I need to come up with a commit message and git send-email
minimal has joined #openwrt-devel
<Tapper> Any one know what kmod-amazon-ena is?
<Tapper> It's built in to my x86 build
<stintel> This driver supports Elastic Network Adapter (ENA)
<stintel> used by Amazon AWS T3 instances.
<Tapper> So I can remove?
<stintel> if you're not running on AWS T3 I guess :)
<Tapper> Thanks
<stintel> hmmmm
<stintel> looks like I screwed up my dmarc settings for mailing lists
gladiac has quit [Quit: k thx bye]
Tapper has quit [Read error: Connection reset by peer]
Tapper has joined #openwrt-devel
csrf has quit [Read error: Connection reset by peer]
<f00b4r0> stintel: you're using opendmarc?
<stintel> what's opendmarc?
<f00b4r0> ok so you aren't then :)
<f00b4r0> it's a broken piece of software, that's what it is
* stintel is confused
<stintel> dmarc is just a bunch of DNS records ?
<f00b4r0> yes, but there are tools to validate these records and enforce policy
<dwfreed> opendmarc is a dmarc validator
<f00b4r0> opendmarc is one of these tools, and it's broken.
<f00b4r0> and apparently unmaintainted
<f00b4r0> -t
<olmari> dmarc itself is an dns record yes, which instructs what to do with spf and dkim, or lack thereof, for mailservers receiving mail from "your" domain :)
<stintel> well no, I was using dmarc policy none and something to get daily reports, I got tired of all those mails, so I changed my setup to reject and something
<stintel> but seems that was a mistake
<f00b4r0> it's a risky business
<f00b4r0> especially when using mailing lists
<olmari> well.. you don't have to set report address, thus get no reports... reject is the actual instruction, alone without the "what is actually allowed" part it is much of that :D
<f00b4r0> i've mostly stopped using dmarc entirely: the validator is buggy and would randomly crash my MTA smtp chain, and the policy can seriously mess up mailing list usage. More pain than gain -> out.
<olmari> while they don't stop spam as is, they very effectively stop spoofing
<stintel> I disabled rua and enabled ruf
<stintel> but then I read something about ruf being a possible privacy concern??
<stintel> seriously all this crap
<f00b4r0> it is
<stintel> but I remember setting up dmarc because google refused to accept mail from my mail server
<f00b4r0> olmari: only if validation is enforced, and most of the time it isn't.
<olmari> for some places I've done postfix+opendkim, rest is dns records, worked just fine
<f00b4r0> olmari: if you do postfix+opendkim (which is what I do), you're not validating dmarc records for received emails.
<olmari> well email like many protocols from the where-ever seventies are not really designed for that so yes pretty much afterthough, and RFC's leaving the all original unencrypted port 25 stuff as "need to support" does not help
<f00b4r0> *nod*
<f00b4r0> works well enough still, after all these years :)
<olmari> > Sami Olmari: if you do postfix+opendkim (which is what I do), you're not validating dmarc records for received emails.
<olmari> True, but those only sending ones, + maybe one mailman list, so does not matter as much
<olmari> f00b4r0: I'd love to see, for example, matrix replacing email, literally backend change... but until there even doesn't exist single program or web-ui... keep on dreaming
<f00b4r0> olmari: you're implicitly saying dmarc doesn't matter though :)
<f00b4r0> dunno about matrix, never used, not interested :)
<olmari> f00b4r0: for receiving on those service domains, it does not, because it doesn't receive anythign literally, only sends
<olmari> there is nothing to check
<f00b4r0> you mentioned mailing lists
<olmari> for any of the larger domains I've more or less forced to use some other provider by clientele requirements, and I'm not in business to try compete with already existing mail providers :D
<olmari> f00b4r0: yes, some 8 people board of assoc type of things
<f00b4r0> heh ok :)
<stintel> so openwrt-22.03 mac80211 is on the same version as master, but hostapd and iw aren't ... wonder if that could cause some of the issues people were seeing
<stintel> Borromini: ^
<stintel> iw is probably no big deal, but hostapd might
<olmari> <f00b4r0> "dunno about matrix, never used..." <- Protocol is kinda awesome, also kinda heavy.. also improving.. but the still lacking part in broad general is all the clients and systems there could be, it is pretty much 99.99% used as chat client, or more of chat client was first and pretty much only program (or many to choose like irc), but protocol itself would very well work like email replacement too for example, or forum backend...
<olmari> auth, E2E if desired, federated from ground up... but this only hot talk as long as there is 0 implementations :)
<olmari> For UI-part for humans, much nothing wouldn't need to change from current email
<olmari> stintel: sounds... fun
<f00b4r0> olmari: every time a new protocol pops out, it's all the hype. Been there, done that. Also doesn't seem to fill any particular need I (and I suspect most people) could have, so I don't feel a strong motivation (if any, tbh). Then again, I'm the passive pessimist type :)
<f00b4r0> stintel: meanwhile, your DMARC changes do show on the mailing list ;)
<olmari> I was very much thinking same in the beginning... now even few governments utilizes it, and while not in Meta level uf usebase, we still speak in milliions
<f00b4r0> olmari: which is still not very many people :)
<olmari> and I'm not to shove anyone who needs to use what, it is not usually immediately my problem, I can bridge most of other people chat protocols to come into me anyway for chats
<f00b4r0> i don't chat much tbh. Major time sink usually.
<olmari> f00b4r0: plenty more than irc ;D
<f00b4r0> olmari: sure, but what's the SNR? ;)
<aiyion> svanheule: is there anything left to do for me regarding the GPIO-bindings of the dgs-1210-10p, or are we waiting for other developers to share there thoughts regarding the button class?
<olmari> For meeting notes, not that my opinion matters, still gotta say it.. I also nowadays kinda dislike github... microsoft company doing microsofty things, but like in notes, alternatives are not the same, or different kinds of issues etc
<Borromini> stintel: interesting, didn't consider that
<stintel> Borromini: and I wouldn't be surprised, the FT problems are likely also due to an issue between hostapd and nl80211
<Borromini> stintel: i'm on a selective cherry-pick from master - mt76 commit 72b87836 - and that seems to be stable
<Borromini> it's not the latest, it's the 2022-10-01 bump
<Borromini> i suppose code is mostly tested on master, so master on a 6.1 backport will make 22.03 even more of a moving target I supose
<Borromini> * suppose
robimarko has quit [Quit: Leaving]
cbeznea has quit [Quit: Leaving.]
Borromini has quit [Quit: leaving]
<stintel> ffs now I'm having a tools/elfutils build failure
<stintel> time for some make clean
minimal has quit [Quit: Leaving]
<stintel> and tools/clean
Tapper has quit [Ping timeout: 480 seconds]
rsalvaterra has quit [Ping timeout: 480 seconds]
<stintel> jow: am I correct in recalling that you mentioned something about ifnamsiz being used incorrectly a while ago?
<stintel> I believe we do indeed use it incorrectly and propose a fix: https://git.openwrt.org/02ada7a28b9390625d29aad6308f623df930342a
<stintel> dunno where I got the idea, I totally can't find it in my irc logs