Currently the git protocol downloads all submodules of the target
repository. This can be unwieldy for repositories with a lot of submodules
where only a subset are required in the context of the OpenWrt build.
This change adds a PKG_SOURCE_SUBMODULES variable to configure this
behavior. It takes a space-separated list of submodule paths, or the word
"skip" to disable submodule downloads entirely. The default is to download
all submodules, i.e. preserving current behavior.
Signed-off-by: Karsten Sperling <ksperling@apple.com>
There's a bug in drivers/dma-buf/heaps/Makefile or /driver/dma-buf/Makefile
that doesn't allow heaps source files to get compiled.
we raised an issue in openwrt:
https://github.com/openwrt/openwrt/issues/13887
Approved-by: Arien Judge
Approved-by: James Haggerty
Our video camera patches added Kconfigs MEDIA_CONTROLLER and
MEDIA_SUPPORT to kmod-video-core. MEDIA_SUPPORT is required by several
of the drivers and they also enable MEDIA_CONTROLLER.
kmod-usb-audio aka snd_usb_audio.ko depends on mc.ko (MEDIA_CONTROLLER),
if MEDIA_CONTROLLER is set. Therefore I split out the MEDIA_CONTROLLER
module and conflated it with MEDIA_SUPPORT. Then made video-core
depend on that kmod and usb-audio conditionally depend on it.
Approved-by: James Haggerty
Approved-by: Arien Judge
libcamera requires a number of v4l2 modules without packages
in OpenWrt.
Additionally, add support for the raspberry pi camera variants
APP-2145, APP-2097, APP-2003, APP-2197
Approved-by: James Haggerty
Approved-by: Matthew Forgie
Approved-by: Evan Benn
Prior changes removed ITXQ support. Removal of this support impacted the
Fast Xmit Mesh feature in the TX path, which no longer functioned as
expected.
Similarly, there were changes to the Mesh RX path for aggregated frames.
For now, remove the patches introducing fast xmit until such time as the
Morse Micro driver supports the mac80211 version from where these patches
came from originally.
Approved-by: James Haggerty
Approved-by: Arien Judge
Approved-by: Evan Benn
It was identified that there were link sharing issues with multiple stations
when using HaLow, likely because the Morse driver has not been tested against
the version of mac80211 from where these patches came.
To rectify, we remove the patches.
Approved-by: James Haggerty
Approved-by: Evan Benn
Sadly, KConfig mechanism for enabling CONFIG_DEV_COREDUMP is for
an (in-tree) driver to do CONFIG_WANT_DEV_COREDUMP.
But because the morse driver is built separately, it has no
way to demand this, and there's no way to manually specify
CONFIG_DEV_COREDUMP (or CONFIG_WANT_DEV_COREDUMP for that
matter). Therefore we hack the kconfig files.
Approved-by: Sophronia Koilpillai
Approved-by: Evan Benn
We want to enable pr_dbg in our driver module, so add a config that only
enables DYNAMIC_DEBUG_CORE instead of all of DYNAMIC_DEBUG, which would
compile in all the kernel pr_dbg strings.
Approved-by: James Haggerty
Approved-by: Arien Judge
This allows visual feedback when timeouts are reached.
In our case, there is a single button which on a normal
press/release will initiate DPP, but longer presses will
first reboot then factory reset. So users know they've
held it down long enough, it's nice to change a status LED.
This also fixes what seems to me a bug, in that you can
attach a timeout to a 'release' action but the timing was
reset (so you can't distinguish between a released timeout
vs a pressed timeout).
See:
https://github.com/openwrt/procd/pull/10
Approved-by: Sophronia Koilpillai
Approved-by: Arien Judge
Look at the name of the driver linked through sysfs to prevent mac80211 detection
of Morse devices. A separate interface handler is used for Morse Micro devices.
Approved-by: James Haggerty
Approved-by: Arien Judge
Approved-by: Sophronia Koilpillai
If forwarding between two interfaces is disabled, previously established
connections will persist. This happens, as conntrack retains the
connection state in its table.
Aggressively flush the conntrack table on fw4 service reload. This
resolves the issue above with the side effect of re-establishing all
other connections, including those in unrelated interfaces.
Approved-by: Arien Judge
Approved-by: Matthew Forgie
Commit 8e58fe92223c755fc15df66ae8ce97c2df36215f has the side
effect of slightly changing the vendor_ie output format from
previous versions. The initial newline is effectively dropped
and an additional newline has been added to the end of the
printed event. e.g.
phy #0: vendor event 0cbf74:0vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx
This commit reintroduces the newline and terminates earlier to
correct the formatting. e.g
phy #0: vendor event 0cbf74:0
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx
Approved-by: James Haggerty
Approved-by: Milad Mohtashamirad
This avoids our ethernet link dropping on any network change. It's a quick and dirty patch so we have minimal code here.
Approved-by: Arien Judge
Approved-by: Evan Benn
Some package Makefiles in feeds we don't control, nor want to, explicitly reference directories in
$(TOOLCHAIN_DIR), which for an external toolchain didn't originally exist.
This commit creates a symlink to the include directory to mitigate the ones which immediately affect us.
The right solution here would be to fix the upstream packages. But we need a workaround.
This allows a group of monochrome PWM LEDs to be controlled as a singular
multicolor LED.
Signed-off-by: Arien Judge <arien.judge@morsemicro.com>
Approved-by: James Haggerty
Approved-by: Evan Benn
This allows standard GPIOs to be controlled as PWM devices.
Signed-off-by: Arien Judge <arien.judge@morsemicro.com>
Approved-by: James Haggerty
Approved-by: Evan Benn
When using an external toolchain, ldd is not linked into the rootfs.
This causes subsequent upgrades to fail with 'Failed to exec upgraded'.
This patch adds the symlink when using an external toolchain and musl.
Approved-by: Takura Mapani
Approved-by: Milad Mohtashamirad
Approved-by: Evan Benn
Parts of the openwrt build system depends on the ext-toolchain script for pre-build checks.
Instead of unwinding all of these checks we opt for a less aggressive removal of test_feature
from the ext-toolchain script, leaving it in so necessary checks still pass.
Building a package in the build system or the SDK results in different
values for the `SOURCE` property, it's either `packages/<package name>`
or `feeds/base/<package name>`. The reason is that the SDK handles
`openwrt.git` as an external feed called while the build system contains
the *base* packages directly.
Since packages created with either method are (ideally) the same (bit
for bit), align the content of SOURCE. To do so this commit creates a
symlink from `feeds/base` to `$(TOPDIR)/package` and adopts the SOURCE
when building from inside the build system.
Signed-off-by: Paul Spooren <mail@aparcar.org>
The MAC address of the GMAC is contained inside the CWMP-Account
number on the label.
The label MAC address alias was defined previously, but it has been
removed with the switch to IPQESS / DSA.
Restore the label MAC address alias.
Fixes: 27b441cbaf ("ipq40xx: drop ESSEDMA + AR40xx DTS nodes")
Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b22d382ae4eaa1af42930115d91855f402314cac)
Signed-off-by: Tom Herbers <mail@tomherbers.de>
Link: https://github.com/openwrt/openwrt/pull/16459
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
With commit a22d359fa56fe0 VLAN handling was fixed for kernel 6.6.
This restored network connectivity of the devices. For easy testing
backport the fix for 5.15 too.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16391
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 35e13244aab36958831195a1d2e152aa3ad0ab6c)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Change I2C pin flags to GPIO_ACTIVE_HIGH and change SDA to GPIO1.
On my late production GL-AR750 (purchased 2024):
SCL = GPIO16
SDA = GPIO1
Bug report:
I2C bus doesn't work in GL-AR750
https://github.com/openwrt/openwrt/issues/16319
Signed-off-by: Ryan Salsbury <ryanrs@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16406
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2e626ae2d2488f2d3708d3aed57eea7a1402f00e)
Signed-off-by: Ryan Salsbury <ryanrs@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The sysupgrade-tar image build is not defined for this target, do not
add a build instruction for it. The build system will use the definition
from the dna_valokuitu-plus-ex400 board and the build will fail.
This fixes the build of the ramips target.
Fixes: 665c2154ef ("ramips: add basic support for tp-link er605-v2")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 746e894877e5130a7d5227cd90f90dfe18cc274b)
The previous host installation fix accidentally moved the rpath settings
out of CMAKE_HOST_OPTIONS and into CMAKE_OPTIONS.
Fixes: ae42ecaad4e7 ("ucode: fix host installation")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 2ee1392e094f9b6fdb2a759e2e29fa203b61e066)
Add the GPIO pin of the PoE passthrough switch on the Aruba AP-303H.
Power is activated when the pin is low. It enables a PSE chip, so power
is only supplied to downstream devices when they are 802.3af/at
compliant devices.
Ensure you use a sufficient power supply when chaining a consuming
device after the AP.
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit b40cc46cc882ff97f2752e7837173ffc9f884eb9)
This fixes a well-known "LZMA ERROR 1" error on Sercomm NA502s, reported
on the OpneWrt forum [0].
[0] https://forum.openwrt.org/t/206640
Signed-off-by: Andreas Böhler <dev@aboehler.at>
(cherry picked from commit 6d89aa29878a93c744e8c752a68bc05d41252cfc)
Link: https://github.com/openwrt/openwrt/pull/16412
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Because these capability advertisements default to on in lldpd, they
became absent at reload, and not restart, due to how the reload logic
works ( keep daemon running, send unconfigured and then the new config
via socket ), and it was not evident unless you happened to be looking
for it (e.g. via pcap or tcpdump). It was also not evident from the
manpage ( have now sent patches upstream ).
At reload time, the unconfigure logic disabled them unless they were
explicitly enabled (compare with other settings where 'unconfigure' just
resets them). Now they default to on/enabled at init time, and are
explicitly 'unconfigure'd at startup if the user disables them via:
lldp_mgmt_addr_advertisements=0
lldp_capability_advertisements=0
In other words: explicit is necessary to disable the advertisements.
The same applies to 'configure system capabilities enabled'. Technically
'unconfigure'd is the default but now it is explicit at reload.
Tested on: 23.05.3
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
(cherry picked from commit 708101c1412c42c7fb1d838024513a34424c50ff)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
For interface type parameters, the man page documents patterns:
```
*,!eth*,!!eth1
uses all interfaces, except interfaces starting with "eth",
but including "eth1".
```
* Renamed `_ifname` to `_l2dev`.
* get the l2dev via network_get_physdev (and not l3dev)
* Glob pattern `*` is also valid - use noglob for this
The net result is that now interface 'names' including globs '*' and '!'
inversions are included in the generated lldpd configs.
Temporarily `set -o noglob` and then `set +o noglob` to disable & enable
globbing respectively, because when we pass `*` as an interface choice,
other file and pathnames get sucked in from where the init script runs,
and the `*` never makes it to lldpd.
Tested extensively on: 22.03.6, 23.05.3
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
[ squash with commit bumping release version ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 4a81d868db85a7954a73bc6dc4a957bbd6abc813)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
Defaults to off.
Available from >= 0.7.15
These are sent in TLV
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
(cherry picked from commit 50021d3222667a9a239451de0422f0508aef4419)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
Defaults to off.
Only available from >= 1.0.15
These capabilities are sent in TLV.
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
(cherry picked from commit 4d8f56bd59f457fd815e2bb4f87df8c7dad2d4fd)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
only available from >= 1.0.15
Comments are useful. Apparently this config parameter was committed when
openwrt used an older version of lldpd which did not yet support it.
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
(cherry picked from commit b4769175029ad23833b21960d1b605f629537ad7)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
update Makefile URL
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit f753d3152f81bd037e9b7abb1b8c5bf9fe54596b)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
No functionality/behaviour changes; code is synonymous
Tested on: 22.03.6
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 5364fe0f01ca11b47c55d78f756d3176748dd0c2)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
For certain lldp_class scenarios (2 & 3) a policy must be set also.
Class 4 is default, although it's good to handle the policy eventuality.
Here, set a default lldp_policy for all lldp_class scenarios. Any
lldp_policy can now be set.
Depends on PR #14584 (which introduced an `if` block)
Tested on 22.03.5, 22.03.6
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 497fafb8aea48e764ce0e456f20ab346691e585f)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
Previously only partially implemented. After commit
5007f488bb lldp_location was never removed
Now, add the value of lldp_location to the generated config.
The location param has a few syntaxes, so the config acquires the first
usage from the man page: 'address country EU'
Supplementary fix for PR #14193 (this param was included in the original
PR #13018 but the lldp_location fixes were absent from PR #14193).
Tested on 22.03.5, 22.03.6
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 53252eeb3b6177b77e23235436b04818a88eafe0)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit 3ce909914a12647bec52bcee0a162dd6d158a4f6
The lldpd man page says that "configure lldp tx-interval" can
specify an interval value in milliseconds by appending a "ms" suffix to
the figure. Thus mandating string handling, and not integer comparison.
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 79ee4cb0397eb9eae34369e33d66b5a1d837a652)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit 909f063066
Now pass two params to get_config_cid_ifaces() for:
cid_interface
interface
Each of which is a CSV of interfaces.
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 228d4e7f1b759c11897043dc73ef3c576bc13f7f)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit a5f715da713304972467612d6934130ce3aa2837
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 4dcece46a7b4ede7d05d8fb9d31d62406bca74d0)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit ac771313ebedd2c4bfda8adef47650d45d77c32d
portidsubtype takes 1 of 2 possible keywords which do not need quoting:
configure lldp portidsubtype ifname | macaddress
The third keyword 'local' is used in the syntax when individual ports
are being defined:
configure [ports ethX [,…]] lldp portidsubtype local value
When this syntax is used, quoting is useful (see test cases for lldpd).
In the init file, the 'local' syntax is unused.
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit bd1b17d589bc622408cebdd9fa0f43386cc3ef5a)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit c98ee4dbb3db0f064d990941cdd82e872da76946
agent-type takes 1 of 3 possible keywords which do not require quoting:
configure lldp agent-type nearest-bridge | nearest-non-tpmr-bridge
| nearest-customer-bridge
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 24a4da527f7e70d9916439a78298de2f4e4af653)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>