Daanct12 has joined #openwrt-devel
thejoker8814 is now known as Guest780
thejoker8814 has joined #openwrt-devel
Guest780 has quit [Ping timeout: 480 seconds]
<slh> mrkiko: the nbg7815 does have 12 antennas and uses them all. the difference between OEM with proprietary drivery and OpenWrt with ath11k only is that the proprietary drivers combine two 4x4 5 GHz radios into a single virtual 8x8 radio (which helps Mu-MIMO and many clients), while ath11k can't do that and treats them as two individual radios
<neggles> oh upstream ath11k doesn't support merged mode?
<neggles> probably fair since it's. kind of useless
<neggles> helpful in a few very specific scenarios but in general you'll have a better time in split mode with them on separate channels (unless you have a couple dozen of them covering a stadium with 20k people in it)
<slh> mrkiko: there are quality differences between vendors, but the major price delta comes from the the features (three radios in your case), cooling (at least the nbg6817 was a bit too marginal in that regard, e.g. the r7800 was much better there)
<slh> it would be nice to have merged mode supported, but yes, I don't think anyone has gotten that working with ath11k so far
rua has quit [Quit: Leaving.]
<slh> mrkiko: there certainly is some vendor markup involved as well, and as long as we're talking about reputable vendors (who you expect to get the rf stuff right), it should generally be 'fine'... further difference are in the shielding, how hostile they are in regards to disabling serial console access (xiaomi/ tp-link are repeat offenders there)
<slh> mrkiko: and not to forget a major feature that costs money, 10GBe ports
<slh> mrkiko: but if you look at compex, their PCIe qcn9074 wifi6 cards cost between 200 USD (2.4 GHz) and 250 USD (5 xor 6 GHz), while the big vendors aren't paying those prices, it still shows that the radios, pigtails and antennas are a considerable cost factor. and yes, there is quite a difference in antenna design and quality between 'good' vendors and cheaper stuff
rua has joined #openwrt-devel
<slh> mrkiko: still, the SOC itself defines most of the features - the rest is to a large extent fluffy stuff that's not always easy to call out (apart from 2.5- or 10 GBit/s ports and the third/ fourth radio)
<neggles> yeah there's no straightforward way to quantify antenna performance and design in a real-world environment short of "fuck around and find out" (buy one and try it)
tSYS has quit [Quit: *squeak*]
<neggles> or ofc paying a premium for a device from a vendor with a long history of good antenna design (Cambium, Aruba - tho even they're a bit hit and miss, Ruckus, etc)
tSYS has joined #openwrt-devel
<slh> and sometimes even cheap PCB antennas without any thought or intelligent design can perform quite well in practice, it really is difficult to judge
<slh> but you can see hardware design and quality differences between devices - and some of those traits are vendor specific
gch981213 has joined #openwrt-devel
mattsm has quit [Ping timeout: 480 seconds]
xback has quit [Remote host closed the connection]
xback has joined #openwrt-devel
<neggles> yeah. Eero have really good antenna designs, they don't look like much but they work *very* well (shame about the whole h/w lockdown thing, there's reasons for it but it still sucks)
<neggles> so you really cannot be sure without just trying the thing
<dwfreed> ubnt also has great antenna designs
mrnuke has quit [Ping timeout: 480 seconds]
fakuivan has quit [Remote host closed the connection]
fakuivan has joined #openwrt-devel
hurricos has quit [Ping timeout: 480 seconds]
xes has quit [Remote host closed the connection]
<gch981213> does anybody remember why we read compat_version from uci instead of from board.json directly?
<gch981213> I probably added compat_version for Redmi AX6S to a wrong place.
<gch981213> The commit message of 735de53b2aa explains that: 'By this, the compat_version, being a version of the config, will also be exposed to the user.'
orangepizza has joined #openwrt-devel
Mangix has quit [Read error: Connection reset by peer]
<orangepizza> trying to debug curl failt to init mbedtls3.6 with error 35, but even with mbedtls-debug and --trace option only line is single failed to init: is there a better way to get more verbodose log?
<Habbie> the last time i had curl fail, i found the right information in strace
<Habbie> that was a hanging init, with openssl, but still
<orangepizza> anyway make a new image anyway becuase broken curl means broken opkg
robimarko has joined #openwrt-devel
<mrkiko> orangepizza: does opkg use curl?
Daanct12 has quit [Quit: WeeChat 4.2.2]
<mrkiko> oh, mbedtsl
<mrkiko> Habbie: hope you find out
<Habbie> orangepizza is the one currently stuck :)
cmonroe has quit [Ping timeout: 480 seconds]
<mrkiko> orangepizza: uhh... the best to you
<orangepizza> it'd use ulibstream version if not exsit but looks likt it will use if curl is avaliable
Daanct12 has joined #openwrt-devel
guidosarducci has joined #openwrt-devel
guidosarducci has quit [Remote host closed the connection]
guidosarducci has joined #openwrt-devel
<f00b4r0> gch981213: because compat version may be updated. board.json typically may not.
<gch981213> f00b4r0: There is a compat_version in board.json though.
<f00b4r0> i know, I suppose that's what used to initialize the value
<gch981213> f00b4r0: My understanding is that compat_version is marking the version of the current set of config files, so it needs to live with that as an uci option.
<f00b4r0> that's my understanding as well
<f00b4r0> config_generate indeed uses the board.json compat_version (if present) to initialize the uci value
<f00b4r0> (just checked)
<orangepizza> curl's debug option was disabled on package buildconfig :f
orangepizza has quit [Remote host closed the connection]
xback has quit [Remote host closed the connection]
xback has joined #openwrt-devel
xes has joined #openwrt-devel
sandberm has quit [Remote host closed the connection]
<Ansuel> any meson expert here?
<robimarko> That would be Mangix
<Ansuel> glib-compile-resources is both in hostpkg and target and one package is checking dependedency and find the hostpkg one (the correct one)
<Ansuel> but when the tools needs to be actually used the target version (the wrong one since it can run on the host system) is used instead
<Ansuel> /bin/sh: 1: /builder/shared-workdir/build/sdk/staging_dir/target-arm_cortex-a7_musl_eabi/usr/bin/glib-compile-resources: Exec format error
<Ansuel> but
<Ansuel> Program glib-compile-resources found: YES (/builder/shared-workdir/build/sdk/staging_dir/hostpkg/bin/glib-compile-resources)
<robimarko> Yeah, he noted exactly that like 2 days ago
<robimarko> Workaround is there as well
<Ansuel> honestly the proposed workaround looks O.K. to me...
<Ansuel> what is the problem in there?
<robimarko> No idea, I did not look into it
<Ansuel> this is the workaround
<Ansuel> looks ok to me honestly...
<Ansuel> I mean an alternative solution might be not installing the thing
<Ansuel> (the tool)
xback has quit [Ping timeout: 480 seconds]
<jow> feels wrong though that there's an ever growing list of tools that need to be redirected
<Ansuel> well my alternative solution is to just remove the entry from gio-2.0.pc
<Ansuel> aka fix the thing in glib2 makefile
<jow> it looks like something that should (could?) be fixed by reshuffling $PATH
<jow> or whereever it gets those wrong executable path hints from
<Ansuel> meson use lovely python logic so it's all magic :(
<Ansuel> $(SED) '/^glib_compile_resources/d' \
<Ansuel> -i $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gio.pc
<Ansuel> $(SED) '/^gdbus_codegen/d' \
<Ansuel> -i $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gio.pc
<Ansuel> this might be an idea
<jow> ah so it gets the paths from the *.pc file?
<jow> in this case it would indeed make sense to fix the .pc file
Daanct12 has quit [Quit: WeeChat 4.2.2]
<jow> instead of appending to an ever growing list of workarounds/overrides in meson
<Ansuel> jow yep and we provide the .pc in InstallDev
Daanct12 has joined #openwrt-devel
<jow> Ansuel: however when you fix this, pay attention to relocatability
<Ansuel> mhhh what do you mean ?
<Ansuel> we use this to install the .pc
<Ansuel> $(INSTALL_DATA) \
<Ansuel> $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
<Ansuel> $(1)/usr/lib/pkgconfig
<jow> we have a wrapper around pkg-config that defines --define-variable=prefix="${STAGING_PREFIX}"
<jow> and --define-variable=bindir="${STAGING_PREFIX}/bin"
<jow> this will usually refer to something like staging_dir/target-*/usr/
<jow> for the tools you probably want it to be glib_compile_resources=${prefix}/../../host/bin/glib-compile-resources or similar
c512l has joined #openwrt-devel
Daanct12 has quit [Quit: WeeChat 4.2.2]
<Ansuel> jow mhhh nope i'm just removing the entry so the hostpkg one is used
<jow> *.pc files should not contain hardcoded absolute paths
<jow> ah, right, yeah pkg-config seaches both target and host .pc files
<jow> in this case, removing the target .pc entries is much cleaner
<Ansuel> also Mangix... wth glib2 clone and use his own pcre2 library?????
minimal has joined #openwrt-devel
goliath has joined #openwrt-devel
<Ansuel> welp... meson use pkg-config --print-variables gio-2.0
<Ansuel> and removing the variable from the .pc cause this error
<Ansuel> ERROR: Could not get pkg-config variable and no default provided for
<Ansuel> jow i think overwrite is the only way to handle this...
<Ansuel> or i follow your idea
<Ansuel> of fixing the .pc to point to our hostpkg
<jow> my suggestion above is a bit messy
<jow> it's probably a good opportunity to extend our pkg-config wrapper script to do a --define-variable=hostprefix="${STAGING_DIR_HOST}"
<jow> then you can use `glib_compile_resources=${hostprefix}/bin/glib-compile-resources` in the gio-2.0.pc file
<Ansuel> and in the glib-2.0.pc we would use ${hostprefix} ?
<Ansuel> yep
<jow> not sure if there's any pkg-config convetion for host specific directories
<Ansuel> i don't think there is any... don't think pkg-config expect mixed bin with host tools and cross compile ones
<Ansuel> (like what glib2 does in this context)
<Ansuel> (these tools are used to generates stuff from xml files...)
<jow> yeah, but then let's follow the openwrt nomenclature (STAGING_DIR vs. STAGING_DIR_HOST) so ${prefix} vs. ${prefix_host}
<Ansuel> mhhh finding the correct macro is not trivial tho...
<Ansuel> we have host and hostpkg
<jow> my reasoning would be:
<jow> .pc files typically belong to libraries (= packages)
<jow> packages stage their host resources into hostpkg
<jow> so prefix_host = .../hostpkg
<jow> .../host is for host only builds (tools etc.) and those should invoke pkg-config with a pure host environment anyway
<jow> which is indirectly done by include/host-build.mk
<jow> which sets export STAGING_PREFIX=$$(HOST_BUILD_PREFIX)
<Ansuel> yep i was checking just that
<Ansuel> should we use --define-variable=prefix_host="${STAGING_DIR_HOSTPKG}" \
<Ansuel> directly?
<jow> yes, looks reasonable
<Ansuel> or export STAGING_PREFIX_HOST ?
<Ansuel> to keep consistency?
<jow> while we're at it, maybe do it completely after all
<jow> --define-variable=prefix_hostpkg="${STAGING_DIR_HOSTPKG}"
<jow> and --define-variable=prefix_host="${STAGING_DIR_HOST}"
<Ansuel> yep
<Ansuel> that was my next question
<jow> (our world would be so much simpler if we'd give up on using one toolchain for multiple targets)
<jow> openwrt really is a huge exception in the ecosystems, most (cross) build envs pool everything in one sysroot
<jow> while we have three roots (target, host, hostpkg)
<Ansuel> i think the hostpkg came later
<Ansuel> i remember lots of time ago it wasn't a thing
<jow> right, and other cross build envs do not have a dedicated host, they imply host = /
<jow> so only target is left, which is a lot easier to support (--sysroot et al)
<jow> if you want to refer to a host utils, you simply call /usr/bin/foo
<jow> otherwise you refer to ${prefix}/usr/lib/libfoo.so
<jow> former is host, latter target
<jow> Anyhow, back on topic. I think if you do the pkg-config wrapper changes you'll need a few days settle time
<jow> before the phase2 package builders can make use of it
<jow> and it should probably get backported to 23.05 and 22.03 to allow for cherry picks of affected packages (glib) later
<Ansuel> yep also this only affects one single package already broken
<Ansuel> so if I really want I can just merge the 2 commit and let the thing fix itself
<Ansuel> once everything is cycled
<jow> I wonder if there's other .pc files which could benefit from this change
<Ansuel> well i notice many $(SED) that tweaks .pc files
<jow> until now I never actually saw a .pc files which provides paths to executables
<Ansuel> i wonder....
<jow> only ever link specs
<Ansuel> pc can provide variables and glib provides lots of them
<mrkiko> jow: would the --sysroot approach break Mac builds?
\x has joined #openwrt-devel
parazyd has quit [Ping timeout: 480 seconds]
skynet2 has joined #openwrt-devel
<jow> mrkiko: likely
<jow> mrkiko: building openwrt on mac is a bit like having two layer of cross builds
<jow> first gnu utils on macos, then target arch built with gnu utils
mentalow has quit [Quit: :]]
mentalow has joined #openwrt-devel
<mrkiko> jow: infact i was wondering ...
kirdesde has quit [Ping timeout: 480 seconds]
<\x> https://www.acwifi.net/27185.html 2x 10GbE + 4x 2.5GbE, is this top-end config for ipq95xx?
<\x> then for radios 4x4 40 2.4, 4x4 160 5G1, 4x4 160 5G2, MLO 5G1 + 5G2
cmonroe has joined #openwrt-devel
kirdesde has joined #openwrt-devel
Slimey has quit [Remote host closed the connection]
minimal has quit [Quit: Leaving]
<robimarko> \x: Yeah, should be top scpec
cmonroe has quit [Ping timeout: 480 seconds]
mattsm has joined #openwrt-devel
cmonroe has joined #openwrt-devel
mrnuke has joined #openwrt-devel
<mrnuke> Is there anything I can do to enable the EAP610 support to be merged?
<robimarko> Lets say its on the todo list
spammywrt has joined #openwrt-devel
<spammywrt> Hi, I've been banging my head with a package I've been trying to make but have hit a brick wall. The package fails with configure: error: "missing required SCTP headers", but I think im including the right depends in lksctp-tools - in the same way that I've had to include other deps. Is there something specific with this library?
<spammywrt> My progress is charted in the forum here: https://forum.openwrt.org/t/porting-corosync-qdevice-to-openwrt/193940/7 and I really hoped to figure it out myself!
<spammywrt> according to the package def the header file is specifically included in the InstallDev section, I just cant figure out why it's not being picked up by the make https://github.com/openwrt/packages/blob/1cfb5ca084d50519384cb331303d9fde4411a9f2/net/lksctp-tools/Makefile#L15
<mrnuke> robimarko: <the equivalent of a thumbs of for IRC>
<mrnuke> There's something I don't get about the pcie@ nodes on ipq chips. On the QCA kernel they have interrupt=<n>; interrupt-names="global_irq". However, upstream kernel has interrupts=<n+1>; interrupt-names="msi". Why does that work, if the IRQ numbers are different?
<Ansuel> on qca they probably make the +1 internally
<Ansuel> on upstream we obviusly nack that kind of hack
<mrnuke> Ansuel: I looked for that +1 in the QCA kernel. yet it wasn't obvious to me if they do it
minimal has joined #openwrt-devel
<Ansuel> and you check them and leave some comments?
<Ansuel> on my sdk build that repro the error
<Ansuel> this fixes it
<robimarko> mrnuke: You have to look at the history in QCA
<robimarko> They are using the GIC as interrupt parent for msi
Mangix has joined #openwrt-devel
<Mangix> Ansuel: ping
<Ansuel> Mangix: pong
<Ansuel> I'm out tho
<Mangix> I read the log. The pcre2 thing is related to a linking issue.
<Mangix> Which I couldn't figure out a good solution for.
<Ansuel> I also notice they apply some patch to pcre2?
<Mangix> beats me.
<Mangix> if you're talking about https://github.com/openwrt/packages/blob/master/libs/glib2/patches/010-pcre.patch , that's there to avoid linking errors
<Ansuel> No I notice glib2 apply patch
<Ansuel> Ok no it's that patch maybe?
<Mangix> I've been working on (and have mostly succeeded) in linking all host packages as static to avoid rpath shenanigans. Unfortunately, static linking is extremely sensitive to the order in which libraries are passed.
<Mangix> Which I think is why pcre2 failed to link with glib2/host
<Mangix> I don't want to patch pc files.
<Mangix> Actually it's vala/host that fails.
<Mangix> the pc file has the wrong order
<Ansuel> Well is it that bad to patch pc files?
<Mangix> I'd rather not. Solving the root issue by reordering dependencies in meson.build sounds more sane.
<Mangix> At the time I spent quite a bit of time trying to fix it. I gave up eventually.
skynet2 has quit [Quit: Leaving]
skynet2 has joined #openwrt-devel
Slimey has joined #openwrt-devel
<mrnuke> Upstream isn't using the "globa_irq" at all then. WCA commit message claims that's for link up/down events. Is upstream missing functionality because of this?
danitool has joined #openwrt-devel
<robimarko> No idea, I know they are using msi-parent
<robimarko> For IPQ8074 we do as well, I have a patch included
<mrnuke> dw_pcie_host_init() looks for either "msi-map", "msi-parent", or "msi" interrupt. So that's how we get MSIs (interrupt n+1)
<mrnuke> And in QCA, it's pcie-qcom.c which looks for global_irq (interrupt n). There's no equivalent in upstream kernel
<robimarko> Yes, there is no equivelant
robimarko has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
mattsm has quit [Ping timeout: 480 seconds]
orangepizza has joined #openwrt-devel
orangepizza has quit [Quit: Page closed]
<KGB-2> https://tests.reproducible-builds.org/openwrt/openwrt_mpc85xx.html has been updated. (100.0% images and 100.0% packages reproducible in our current test framework.)
tomn has quit [Remote host closed the connection]
tomn has joined #openwrt-devel
goliath has quit [Quit: SIGSEGV]