Commit Graph

4244 Commits

Author SHA1 Message Date
David Bauer
46194fb87d ath79-generic: remove superluous newline 2021-07-29 00:44:32 +02:00
lemoer
d4dee692c6
contrib: add push_pkg.sh to enhance package development workflow (v2) (#2023)
v2: In contrast to the last patches, this is now built on top of ssh
    only, without using e.g. 9pfs. Furthermore it works also with
    arbitary remote hosts on any target/architecture. Also the
    scripts were renamed and moved to /scripts.

The aim of this commit is to allow fast rebuild cycles during the
development of gluon packages.

Currently the following workflow can be used:

	# start a local qemu instance
	scripts/run_qemu.sh output/images/factory/[...].img

	# do your changes in the file you want to patch
	vi package/gluon-ebtables/files/etc/init.d/gluon-ebtables

	# rebuild and update the package
	scripts/push_pkg.sh package/gluon-ebtables/

	# test your changes
	...

	# do more changes
	...

	# rebuild and update the package
	scripts/push_pkg.sh package/gluon-ebtables/

	# test your changes
	...

	(and so on...)

Implementation details:
- Currently this is based on ssh/scp.
- Opkg is used to install/update the packages in the remote machine.

Benefits:
- This works with compiled and non-compiled packages.
- This works with native OpenWrt and Gluon packages.
- This even performs the check_site.lua checks as they are integrated
  as post_install scripts into the openwrt package.
- It works for all architectures/targets.
2021-07-23 19:50:15 +02:00
Matthias Schiffer
f4a3afe8fb
treewide: correctly specify conffiles (#2276)
Specify conffiles for our packages, so they aren't overwritten during
opkg updates. While this only matters during development, it is
unintended to have different behaviour for opkg update and full firmware
updates.
2021-07-23 19:48:58 +02:00
lemoer
3a885a1b22
gluon-status-page: make "gateway nexthop" a link (#2278)
With this commit, the gateway nexthop is now a clickable link, that leads
to the status page of the nexthop.
2021-07-23 19:10:27 +02:00
Matthias Schiffer
e7df324639
Merge pull request #2249 from freifunk-gluon/doctheme
docs: update Sphinx theme
2021-07-21 19:21:27 +02:00
David Bauer
338a831ae3 modules: update OpenWrt
df4feb1655 ipq40xx: fix FRITZRepeater 1200 RGMII delay
f3f70fb956 netifd: update to the latest version

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-07-18 16:43:50 +02:00
David Bauer
9fa45ac489
ramips-mt76x8: add support for RAVPower RP-WD009 (#2265) 2021-07-18 16:41:27 +02:00
Matthias Schiffer
bfec08546b
gluon-core: use uci:delete_all() instead of foreach()+delete() (#2273) 2021-07-17 23:24:01 +02:00
David Bauer
f01c62e594
gluon-core: wireless: support PHY lookup for multi-PHY devices (#2267)
The PHY lookup helper "find_phy_by_path" could not lookup the PHY name
for paths from multi-phy devices.

An example for such a path would be:
'1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0+1'

The integer after the plus (+) character determines the PHY index of the
specific device in relation to the PHY with the lowest index of the
device.

For example, if the device provides phy2 and phy3, the above path would
describe phy3. In case the device provides phy0 and phy1, it would
describe phy1.

Rewrite the "find_phy_by_path" function to support those paths as well
as regular device paths in a universal manner.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-07-17 22:50:02 +02:00
aiyion.prime
c2e27196de
gluon-web-admin: use util.popen3 in remote.lua
[Matthias Schiffer: whitespace changes, error handling]
2021-07-15 17:55:08 +02:00
aiyion.prime
e410a9c2e5 gluon-core: implement popen3() in gluon/util.lua
[Matthias Schiffer: simplify close_fds() helper and use in child process]
2021-07-15 17:53:07 +02:00
Matthias Schiffer
14236ed8f6
Merge pull request #2237 from freifunk-gluon/installed-check-site
Run site check for manual package installations
2021-07-14 16:20:20 +02:00
Matthias Schiffer
76a242b595
Merge pull request #2271 from freifunk-gluon/tiny-flash-cleanup
Remove ramips-rt305x and now unused build features
2021-07-14 16:20:01 +02:00
David Bauer
5ec8676b28
gluon-core: delete all network device sections (#2263)
Delete all default network device sections upon first boot.

Only LAN & WAN networks are defined at this point. We are using the
legacy way of definiting bridges via the interface sections ifname
option.

The prior filtering was based upon a single device and didn't take into
consideration that DSA interface names can be named arbitrarily.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-07-14 01:49:33 +02:00
David Bauer
73b0128468 modules: update OpenWrt
23cde9d12a mpc85xx: add missing Kconfig symbols
fe498dd3f1 netifd: update to the latest version

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-07-13 22:21:36 +02:00
Matthias Schiffer
aed14db84f build: remove no_opkg
With the removal of ramips-rt305x, all targets come with opkg again.
2021-07-13 21:37:39 +02:00
Matthias Schiffer
c23bc293ef treewide: remove GLUON_SPECIALIZE_KERNEL
With the removal of ramips-rt305x, the last user of
GLUON_SPECIALIZE_KERNEL is gone.
2021-07-13 21:37:39 +02:00
Matthias Schiffer
09c9b78e30 ramips-rt305x: drop target
VoCores aren't exactly useful mesh nodes except for experimentation.
They certainly aren't worth maintaining a whole target, in particular
one that has a WLAN driver not used by any other target.
2021-07-13 21:37:39 +02:00
David Bauer
6ff19a495f modules: update OpenWrt
38cdc57be6 mediatek: add missing config symbols
6073d2c02a generic: add missing config symbols
8921e36ed8 iwinfo: move device info into -data package
d3278c4343 build: ensure that dash isn't prepended twice to abi version suffix
47f617ef8d build: prepend ABI suffixes with a dash if package name ends with digit
febf6db0d0 ath79: add missing MTD_NAND_RB91X symbol
983fcc42a4 ath79: add missing GPIO_LATCH symbol
0ad49d368b ath79: mikrotik: fix beeper phantom noise on RB912
ffa943f0b9 ath79: ar934x: fix mounting issues if subpage is not supported
88e1c9b0b5 ath79: add support for MikroTik RouterBOARD 912UAG-2HPnD
bd2e070557 ath79: add NAND driver for MikroTik RB91xG series
43723e6db9 ath79: add gpio-latch driver for MikroTik RouterBOARDs
3eb34bc251 hostapd: make wnm_sleep_mode_no_keys configurable
89d21b7f62 hostapd: make country3 option configurable
72f0733123 ltq-deu: Mark lantiq DEU broken
b0424190ef iwinfo: build with nl80211 backend only and make shared
d723002d84 treewide: unmark selected packages nonshared
86f6171788 ath10k-ct: fix typo in Makefile
24cfa5005e ath10k-ct: update to latest version
69c10497c7 kernel/modules: move act_gact into kmod-sched-core
fc4b5411b3 package/comgt: Handle bind/unbind events

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-07-13 01:00:30 +02:00
Martin Weinelt
76185e3a2a
gluon-status-page: relax nodeinfo query timeout (#2262)
It was found that a one second timeout for nodeinfo data may be too low,
so that when a node is otherwise occupied that timeout may be reached
too often.

The nodeinfo query response is also vital to the status-page base
template, so that when it times out, the site will be turned in a broken
state, that it cannot recover from.

Fixes: #2256
2021-07-12 19:23:29 +02:00
Matthias Schiffer
3a2d176df8
build: run site checks for manual package installations 2021-07-12 17:07:40 +02:00
Matthias Schiffer
298723c22b
gluon-core: gluon-check-site: do not fail when IPKG_INSTROOT is unset 2021-07-12 17:06:49 +02:00
Matthias Schiffer
eb3fad4bae
build: move check_site.lua main script into gluon-core package
Installing the script into the image allows site checks to run for
manual package installations via opkg.
2021-07-12 17:06:35 +02:00
Matthias Schiffer
3386221ef1
gluon.mk: fix indentation
A leading tab character usually marks recipe lines in Makefiles;
non-recipe lines must be indented using spaces.

The incorrect tab character doesn't seen to have caused any issues in
this case, but it should be fixed nonetheless, if only for consistency.
2021-07-11 22:39:48 +02:00
David Bauer
19759f8cd3
Merge pull request #2264 from blocktrron/origin-ap3610
ath79-generic: add support for Siemens WS-AP3610
2021-07-07 17:05:55 +02:00
David Bauer
99c13423fc ath79-generic: add support for Siemens WS-AP3610 2021-07-06 19:20:17 +02:00
David Bauer
19381a235e modules: update Gluon packages
825aa0c respondd-module-airtime: fix null pointer deref
2021-07-03 02:34:00 +02:00
Martin Weinelt
97f6710d45
Merge pull request #2259 from blocktrron/bugfix-util-file-contains-line-exists
gluon-core: util: check if file exists prior to reading
2021-07-01 03:42:36 +02:00
Martin Weinelt
737a239c31
Merge pull request #2258 from blocktrron/pr-update-actions
actions: add mediatek-mt7622 target
2021-07-01 03:41:21 +02:00
David Bauer
4f133ac24e actions: add mediatek-mt7622 target
Add the newly added mediatek-mt7622 to the firmware build-test matrix.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-07-01 03:35:06 +02:00
David Bauer
ff9f295f7d gluon-core: util: check if file exists prior to reading
The file_contains_line helper function was not testing whether a file
exists or not prior attempting to read from it.

Add this check to circumvent errors on the private WiFi config in
case the hwflags file is missing.

Reported-by: Tom Herbers <freifunk@tomherbers.de>
Tested-by: Tom Herbers <freifunk@tomherbers.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-07-01 03:14:08 +02:00
David Bauer
e8159069d5 modules: update OpenWrt
d666ebcaa3 ubus: update to the latest version
a9100f2196 base-files: wifi: tidy up the reconf code
b27b63b082 base-files: wifi:  swap the order of some ubus calls
6f13a39035 mac80211: print an error if wifi teardown fails
9302e63d1a mac80211: always call wireless_set_data  (FS#3784)
bea9380149 mac80211: fix no_reload logic (FS#3902)
ccbe535604 mac80211: backport fix for nl80211 control port tx (fixes FS#3857)
4c29ff7cb8 mac80211: add support for 802.3 encap offload with software rate control
a078037ace mac80211: improve rate control performance
9fa925362f busybox: sysntpd: add trigger to reload server
a75928d125 busybox: sysntpd: option to bind server to iface

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-07-01 03:07:35 +02:00
David Bauer
439b3e0208 gluon-core: read NanoPi R2S primary MAC from LAN board data
The relevant entry for the primary MAC location was lost when rebasing
the patch on OpenWrt 21.02.

Fixes commit ded4b8a711 ("rockchip-armv8: add FriendlyARM NanoPi R2S")

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-07-01 03:05:50 +02:00
Martin Weinelt
1b620c831b
Merge pull request #2250 from blocktrron/pr-nanopi-r2s 2021-06-30 22:01:54 +02:00
Martin Weinelt
598f78f89a
Merge pull request #2257 from blocktrron/pr-routing-url
modules: update routing feed URL
2021-06-30 21:56:36 +02:00
David Bauer
3f8d12f55c modules: update routing feed URL
The OpenWrt routing feed was moved to the OpenWrt GitHub org.

Update the URL, as the old one might not work in the future.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-06-30 21:51:35 +02:00
David Bauer
969d406427
Merge pull request #2252 from blocktrron/pr-docs-a5-v11
docs: remove dropped hardware from docs
2021-06-30 19:16:18 +02:00
David Bauer
ab4c99842a
Merge pull request #2255 from blocktrron/pr-u6-lr
mediatek-mt7622: add support for UniFi 6 LR
2021-06-29 23:32:36 +02:00
David Bauer
4e00f1f62c
Merge pull request #2254 from Dark4MD/new-device-mi4a-gigabit
ramips-mt7621: add Xiaomi Mi Router 4A (Gigabit Edition)
2021-06-29 23:32:29 +02:00
David Bauer
436e39b43d
Merge pull request #2253 from Dark4MD/new-device-mi4c
ramips-mt76x8: add Xiaomi Mi Router 4C
2021-06-29 23:32:18 +02:00
David Bauer
3d94a09e96 mediatek-mt7622: add support for Ubiquiti UniFi 6 LR
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-06-29 22:23:05 +02:00
David Bauer
260a75cd59 gluon-core: use HE radio mode if available
Configure a radio for HE (802.11ax) operation in case it's supported by
the hardware. This can be the case for 2.4 GHz as well as 5 GHz.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-06-29 22:23:05 +02:00
Dark4MD
aab7d8aca9 ramips-mt76x8: add Xiaomi Mi Router 4C
Specifications:

- CPU: MediaTek MT7628AN (580MHz)
- Flash: 16MB
- RAM: 64MB DDR2
- 2.4 GHz: IEEE 802.11b/g/n with Integrated LNA and PA
- Antennas: 4x external single band antennas
- WAN: 1x 10/100M
- LAN: 2x 10/100M
- LEDs: 2x yellow/blue. Programmable (labelled as power on case)
                      - Non-programmable (shows WAN activity)
- Button: Reset

How to install:

1- Use OpenWRTInvasion to gain telnet and ftp access.
2- Push openwrt firmware to /tmp/ using ftp.
3- Connect to router using telnet. (IP: 192.168.31.1 -
   Username: root - No password)
4- Use command "mtd -r write /tmp/firmware.bin OS1" to flash into
   the router..
5- It takes around 2 minutes. After that router will restart itself
   to OpenWrt.
2021-06-29 11:04:11 +02:00
Dark4MD
a5e085b57c ramips-mt7621: add Xiaomi Mi Router 4A (Gigabit Edition)
Specifications:

- SoC:      MediaTek MT7621
- Flash:    16 MiB NOR SPI
- RAM:      128 MiB DDR3
- Ethernet: 3x 10/100/1000 Mbps (switched, 2xLAN + WAN)
- WIFI0:    MT7603E 2.4GHz 802.11b/g/n
- WIFI1:    MT7612E 5GHz 802.11ac
- Antennas: 4x external (2 per radio), non-detachable
- LEDs:     Programmable "power" LED (two-coloured, yellow/blue)
            Non-programmable "internet" LED (shows WAN activity)
- Buttons:  Reset

Installation:

Bootloader won't accept any serial input unless "boot_wait" u-boot
environment variable is changed to "on".

Vendor firmware won't accept any serial input until "uart_en" is
set to "1".

Using the https://github.com/acecilia/OpenWRTInvasion exploit you
can gain access to shell to enable these options:

To enable uart keyboard actions - 'nvram set uart_en=1'
To make uboot delay boot work - 'nvram set boot_wait=on'
Set boot delay to 5 - 'nvram set bootdelay=5'

Then run 'nvram commit' to make the changes permanent.

Once in the shell (following the OpenWRTInvasion instructions) you
can then run the following to flash OpenWrt and then reboot:

'cd /tmp; curl https://downloads.openwrt.org/...-sysupgrade.bin
  --output firmware.bin; mtd -e OS1 -r write firmware.bin OS1'
2021-06-29 11:02:15 +02:00
David Bauer
c8b1999780 docs: remove dropped hardware from docs
Fixes commit 89dc6b203d ("ramips-rt305x: drop devices with insufficient flash")

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-06-29 00:47:17 +02:00
David Bauer
0f60214fc0 actions: add rockchip-armv8 target 2021-06-29 00:25:09 +02:00
David Bauer
ded4b8a711 rockchip-armv8: add FriendlyARM NanoPi R2S 2021-06-29 00:25:09 +02:00
David Bauer
4985b21858 modules: update OpenWrt
e16a45f258 iwinfo: update to latest Git HEAD
0c51b265bf iwinfo: update to latest Git HEAD
85cef1cf22 kernel: bump 5.4 to 5.4.128
e171d11f55 libusb: Fix parsing of descriptors for multi-configuration devices
3d62b5d5c6 base-files: fix /tmp/TZ when zoneinfo not installed
3047df2317 base-files: fix zoneinfo support
ab5010d170 exfat: update to 5.12.3
72d93c1ba4 realtek: Fix failsafe mode
7a5a247c1f base-files: failsafe: Remove the VLAN modifier from interface name
c0fdfd15fc base-files: failsafe: Fix IP configuration
98b1a6435f kernel: Backport patch to automatically bring up DSA master when opening user port
ec780bdb92 kernel-5.4: backport latest patches for wireguard
82c700de67 hostapd: fix handling of the channel utilization options
1247a6bb35 bcm4908: fix Ethernet broken state after interface restart
25daa921da bcm4908: add kmod-gpio-button-hotplug
74dbf3412b base-files: fix typo in config_generate MAC check
125deb4d78 base-files: set MAC for bridge ports (devices) instead of bridge itself
e410ef8389 hostapd: wolfssl: add RNG to EC key
f6d8c0cf2b wolfssl: always export wc_ecc_set_rng
56228e9393 ath79: don't autodetect AR8033 PHY capabilities
2e157714a8 build,json: fix generation with empty profiles
8add3e139c build: preserve profiles.json between builds
2021-06-27 22:38:26 +02:00
Martin Weinelt
4f53b9848c
Merge pull request #2248 from blocktrron/pr-ar71xx-cleanup 2021-06-26 23:53:23 +02:00
David Bauer
9c60b455c9 docs: hardware: fix minor grammar issue 2021-06-26 22:55:03 +02:00