The latest stock firmwares for US and EU regions have started checking the
region code.
Tested-by: Andreas Ziegler <ml@andreas-ziegler.de>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Both the MR12 and MR16 are single gigabit ethernet devices, similar to the
MR18. This change gives them the correct network config on a fresh install.
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
[Jo-Philipp Wich: adjust for alphabetical ordering, line wrap commit msg]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
In 814d70b2 the member mac06_exchange_en of struct
ar8327_pad_cfg was changed to mac06_exchange_dis,
but wpj344 was not adopted to stay in sync.
Signed-off-by: Christian Mehlis <christian@m3hlis.de>
Reported-by: Nick Dennis <ndennis@rapiduswireless.com>
Support splitting WRGG images, found in some D-Link devices (e.g.
DAP-2695).
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: John Crispin <john@phrozen.org>
This patch adds support solely for version 1 of the TP-Link WR802N.
It is based on Rick Pannen's patch posted on the OpenWrt devel list.
Signed-off-by: Julius Schulz-Zander <julius@inet.tu-berlin.de>
These boards do not have a switch, so they should have never been added
to this file in the first place.
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
On the stock Meraki Firmare for the MR12/MR16, a chunk of SPI space
after u-boot-env is used to store the boards Mac address. Sadly as this
was removed on any device already on OpenWRT/LEDE, moving forward a new,
64k partition named "mac" will be used to store the mac address for the
device (which is the minimum size). This allows users to properly set
the correct MAC, without editing the ART partition (which holds the same
MAC for all devices).
The reason the space is taken from kernel instead of rootfs is currently
kernels are only 1.3MB, so that way we can leave the current rootfs
space alone for users who fully utilize the available storage space.
Once this partition is added to a device, you can set your MAC doing the
following:
mtd erase mac
echo -n -e '\x00\x18\x0a\x33\x44\x55' > /dev/mtd5
sync && reboot
Where 00:18:0a:33:44:55 is your MAC address.
This was tested, and confirmed working on both the MR12 and MR16.
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
This moves the Meraki MR12 and Meraki MR16 to the new generic target.
Tested and verified working on both devices.
Note that kernel/rootfs images are still generated. This is because they
are used for the inital flashing process due to the fun pace at which
UBoot erases/writes to SPI.
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
This makes init.d script handle existing UCI entries using the new
trigger. It also switches all targets to use its package.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
There is no US firmware for the TL-WA901ND v4 yet, so we'll just
unconditionally set the EU region for now.
This makes LEDE flashable on these devices again. The format of the region
string is slightly different from the one used on the Archer C7 that is
generated by mktplinkfw (the second half of the region string is missing),
but it's similar enough to make it work.
Tested-by: Jannis Pinter <jannis@pinterjann.is>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
This patch adds support for the Airtight C-60.
SOC: Atheros AR9344 rev 2 (CPU:560.000MHz)
RAM: 128 MiB
NOR: MX25L3205D 4MiB
NAND: ST Micro NAND 32MiB 3,3V 8-bit
SW-NET: AR8327N (2 Ports)
WLAN1: Dual-Band AR9340 Rev:2 (built-in SoC)
WLAN2: Dual-Band AR9300 Rev:4 PCIe Chip
The switch is setup for an accesspoint:
LAN1: (gigabit) is the wan-port.
LAN2: (fast ethernet) is bridged with the br-lan.
Flashing Guide (via initramfs):
1. Connect a PC to the serial port of the C-60.
power up the C-60.
Enter u-boot command prompt:
#> nand erase
#> setenv bootcmd "bootm 0x9f060000"
#> saveenv
#> setenv ipaddr 192.168.1.1
#> setenv netmask 255.255.255.0
#> setenv serverip 192.168.1.100
#> setenv bootfile lede-ar71xx-nand-c-60-initramfs-kernel.bin
#> tftpboot
#> bootm
2. Wait for the C-60 to boot LEDE.
On the root prompt. Enter:
# ubiformat /dev/mtd4
# ubiattach -p /dev/mtd4
3. After that copy the sysupgrade.tar onto the router and run:
# sysupgrade sysupgrade.tar
to flash the image.
Special thanks to Chris Blake <chrisrblake93@gmail.com>. He provided
a C-60 unit and he helped with debugging the switch, LEDs and platfrom
support.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
The D-Link DIR-869 A1 doesn't accept images with the jffs2 marker added
after the checksummed range, so we need to include it in the checksum and
fix it on first boot.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Split seama-factory and seama-sysupgrade into smaller pieces (similar to
the ramips code) to make the image generation more flexible.
Also use standard pad-offset instead of adding a block of zeros at the
beginning of the image that is later cut off again. Standard pad-rootfs can
be used as the seal header doesn't contain an image size or checksum.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
TP-Link uses a different region coding mechanism for IL firmware for the Archer
C7 v2. Instead of of setting the region, they set a different TPLINK_HWREV.
Signed-off-by: Amir Rachum <amir@rachum.com>
This includes:
- use of local 'board' variable in LED names, wherever possible
- merge of boards with exactly the same LED configuration
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Keep everything in alphabetical order. Boards are ordered in two steps,
first within/inside common configuration (case section), then sections,
globally.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This includes:
- code style fixes
- removal of huge comment (it should be in doc, not here) and some small ones
- removal of redundant config for DR531/WPJ531 as the default is the same
- merge of boards with exactly the same interfaces config
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Convert etc/board.d/02_network in ar71xx target to the same shape
as we have in ramips target. Split code into two new functions:
- interface/s setup in ar71xx_setup_interfaces()
- MAC/s setup in ar71xx_setup_macs()
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Refresh patches for all targets that support kernel 4.4.
compile/run-tested on brcm2708/bcm2710 only.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
ar71xx has an init-script for special devices where the ath10k OTP
calibration data is stored on the PCIe card's EEPROM (and thus can only
be read by ath10k). Unfortunately the OTP data uses the default mac
address (= all devices come with the same mac address, which leads to
problems when you have multiple of these devices in the same network).
To work around this the mac address is patched in the firmware during
the first boot of the device. To prevent flash wear this was only done
if the ath10k firmware matched a hardcoded md5sum.
However, if the md5sum does not match this can mean that either the mac
address was already patched (which is fine) - unfortunately it can also
mean that the firmware version was updated without updating the
hardcoded md5sum.
Change the "was the mac address already patched" check to actually
compare the mac address inside the ath10k firmware.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
This patch adds support for Cisco's Z1.
Detailed instructions for the flashing the device can
be found in the OpenWrt wiki:
<https://wiki.openwrt.org/toh/meraki/z1>
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Local variable declarations outside of functions are illegal since the Busybox
update to v1.25.0, therfore remove them from the appropriate places.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
General convention is to keep U-Boot and radio calibration
data (ART) mtd partitions marked as read-only.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
There are currently two stock firmwares for the TL-WDR3600/4300, a US and
a universal version. Both allow installing images with US region code, so
we don't need to provide multiple images.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Simplify modifying some of the images without affecting the others.
While we're at it, also unify the profiles to use := syntax and add "v1" to
the TL-WDR4300 name to make things more consistent.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Using pad-to instead of passing the optional padding to append-kernel
or append-rootfs. It could be that the value of a variable is passed.
In case the variable is empty no error is thrown.
Furthermore the purpose of the extra parameter is hard to get without
reading the code.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Backport patches from upstream Linux kernel which are making the
kernel stores the appended dtb not in the same resisters as defined in
the UHI specification, use a separate variable on MIPS.
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
[some modifications]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The kernel size isn't passed to the append-kernel build step and the
resulting image bricks the device.
Fixes FS#168.
Signed-off-by: Mathias Kresin <dev@kresin.me>
- quote the interface name
- remove call of not existing function
- remove the proto if it's the default proto
Signed-off-by: Mathias Kresin <dev@kresin.me>
No functional change, it's just to have the same style everywhere. This
way I don't need to use any regex magic to extract all subtargets for
compile tests.
Signed-off-by: Mathias Kresin <dev@kresin.me>
TP-Link has started providing US- and EU-specific stock firmwares that only
allow upgrading to firmwares with the same region code. Provide factory
images for both these regions.
To avoid confusing users outside these regions, we still provide a
"universal" factory.bin without a region code, although flashing either of
the US and EU images would work as well.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
GCC treats 24kc and 34kc exactly the same and will generate identical
code, so there is no need to tune to 34kc instead of 24kc.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Refresh patches for all targets that support kernel 4.4.
Compile-tested on all targets that use kernel 4.4 and aren't marked broken.
Runtime-tested on ar71xx, octeon and x86/64.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Zbtlink ZBT-WE1526 is based on Qualcomm Atheros QCA9531 v2.
Short specification:
- 650/400/200 MHz (CPU/DDR/AHB)
- 5x 10/100 Mbps Ethernet
- 1x USB 2.0
- 128 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- two external, non-detachable antennas
- 8x LED, 1x button
- UART header (pinout: VCC, RX, TX, GND)
Flash instruction:
Use sysupgrade in vendor firmare which is based on OpenWrt.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
The mw4530r-v1 profile in tp-link.mk is for Mercury MW4530R.
There is no such a device called TL-WDR4530.
Also change MERCURY to Mercury in /lib/ar71xx.sh
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Now that the "sysupgrade-nand" step is used by non-NAND targets as well,
rename it to "sysupgrade-tar" to make it more generic.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The stock firmware uses the single LED as status indicator only. Using the
same LED both for status and as ethernet indicator is uncommon, and has
been confusing users who were using the device as a WLAN mesh node (so the
LED was just off, as no ethernet was connected).
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Several legacy images were not buildable because of missing profile
definitions in legacy-devices.mk since MultiProfile was removed. Update
legacy-devices.mk to provide all necessary profiles, and change ordering
to match legacy.mk.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
The network defaults for the WZR-HP-G300NH and CR3000 models wrongly set the
lan interface to a vlan tagged device while the switch was set up in untagged
mode, leading to broken lan side ethernet connectivity by default.
Fix the issue by emitting untagged interfaces, consistent with the switch
setting on the device.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
jjPlus JWAP230 is based on Qualcomm Atheros QCA9558 + QCA8337.
Short specification:
- 720/600/200 MHz (CPU/DDR/AHB)
- 2x 10/100/1000 Mbps Ethernet
- 128 MB of RAM (DDR2)
- 16 MB of FLASH
- 3T3R 2.4 GHz with external PA (SST12LP15A), up to 28 dBm
- 3x MMCX connectors
- power input: 802.3at PoE or wide range DC (36-57 V)
- optional 802.3af PSE
- 1x mini-PCIe connector with PCIe, USB buses and SIM slot
- 1x mini-PCIe connector with PCIe bus
- 1x USB type-A connector
- 6x LED, 1x button (hardware reset)
- RS232 (MAX3223) and (E)JTAG headers
Default configuration:
- WAN on eth1 (RJ45 near LEDs with PoE input)
- LAN on eth0 (RJ45 near DC jack)
- left top LED set to be status LED
- all LEDs configurable form user space
Flash instruction (do it under U-Boot, using RS232):
1. tftp 0x80060000 lede-ar71xx-generic-jwap230-squashfs-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9f050000"
5. saveenv && reset
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Wallys DR531 is based on Qualcomm Atheros QCA9531 v2.
Short specification:
- 550/400/200 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet
- 64 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz with external PA (SE2576L), up to 30 dBm
- 2x MMCX connectors
- mini-PCIe connector with PCIe/USB buses and SIM slot
- 7x LED, 1x button, 1x optional buzzer
- UART, (E)JTAG and LED headers
Default configuration:
- WAN on eth1 (RJ45 near DC jack)
- LAN on eth0 (RJ45 near button)
- S4 LED set to be status LED
- all LEDs configurable form user space
- button configured for reset
Flash instruction (do it under U-Boot, using UART):
1. tftp 0x80060000 lede-ar71xx-generic-dr531-squashfs-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9f050000"
5. saveenv && reset
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
It was intended as a workaround when jffs2 eof mark was included in the
checksum calculation in seama header. When qihoo-c301 support was
introduced the board name was not inserted into the case list (because I
was not aware of it's existence), but the issue was fixed by excluding
the jffs2 marker as part of the checksum data
Now we are at it, drop it.
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
This patch adds support of Mikrotik yaffs2 filesystem image for kernel file
and tools/kernel2minor package.
We neede this to boot kernel through RouterBoot on new Mikrotik NOR flash devices.
Signed-off-by: Sergey Sergeev <adron@yapic.net>
In new kernels we should use clk_prepare_enable instead of clk_enable
since clk_enable does not make proper initialization that leads
to rise WARN_ON messages and not working spi bus on the device.
Signed-off-by: Sergey Sergeev <adron@yapic.net>
rootfs part needs to be aligned to erase block size which is passed as
the 6th argument to Image/Build/Seama and is now 65536 since commit
commit 5119ee9 "ar71xx: fix bogus hardcoded kernel image size for Seama
images (fixes#20585)", but $(($(6) - 64)) still assumes that the
argument is a limit on kernel partition size, i.e. 1310720, so the
generated factory image is wrong in that the kernel will fail to find
the rootfs (FlySpray link at [1])
This patch will workaround it with the following steps
1. Calculate the required space for seama header and META data in step 5
2. Pre-padding 64 bytes to lzma-compressed loader
3. Generate correctly padded image-$(2).tmp
4. Strip out the padding
5. Seal it with seama utility
While at it convert seama to new build method
[1] FS#35 - mynet-n750 factory images don't find root partition,
https://bugs.lede-project.org/index.php?do=details&task_id=35
Reported-by: Steven Haigh <netwiz@crc.id.au>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Remove kmod-crypto-deflate and kmod-ledtrig-gpio as the device works the
same by default without them
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
- Add missing macro to trigger the generation of 64k padded squashfs images
- Revert Zcomax image generation to use the prepared 64k squashfs image
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
- Remove old style device profiles and convert them to device definitions
within the image building code
- Fix the legacy build macros for the changed eval depth in the legacy
image build wrapper
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Should fix LAN speed issues on some devices. This is an updated version
of the previously reverted commit with the same name.
It improves the check for MACs connected to a built-in switch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This reverts commit 59e98b27c9.
and
Revert "ar71xx: merge profiles into image building code"
This reverts commit 636089ead6.
these are still causing issues
Signed-off-by: John Crispin <john@phrozen.org>
After the conversion from legacy device profiles to the newer profile
information embedded in the image building code, the legacy recipes got
triggered twice with different eval depths, leading to shell syntax errors
when processing certain images.
The double processing was caused by the remaining Image/Build macro in
legacy.mk which serves as main entry point for the new style image build code
in conjunction with the newly introduced LegacyDevice/* macros which caused
the legacy image build fallback code to kick in.
In order to fix the issue, rework all legacy macros to work under the legacy
image build wrapper and remove the Image/Build macro of legacy.mk to prevent
legacy profiles getting executed in the context of the new build code.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The patch has been run-tested and the relevant dmsg logs are as the
following
[ 0.762447] Creating 5 MTD partitions on "spi0.0":
[ 0.767217] 0x000000000000-0x000000010000 : "u-boot"
[ 0.775139] 0x000000010000-0x000000020000 : "bdinfo"
[ 0.781014] 0x000000020000-0x000000fe0000 : "firmware"
[ 0.810558] 2 uimage-fw partitions found on MTD device firmware
[ 0.815043] 0x000000020000-0x000000170000 : "kernel"
[ 0.821925] 0x000000170000-0x000000fe0000 : "rootfs"
[ 0.827587] mtd: device 4 (rootfs) set to be root filesystem
[ 0.831937] 1 squashfs-split partitions found on MTD device rootfs
[ 0.837983] 0x0000005c0000-0x000000fe0000 : "rootfs_data"
[ 0.845621] 0x000000fe0000-0x000000ff0000 : "backup"
[ 0.851445] 0x000000ff0000-0x000001000000 : "art"
While at it, convert to new build method
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Reordered the VLANs so the LAN ports are set to VLAN 1 and the WAN port is set to VLAN 2, as in the other routers in the config file. Moreover, this model had this VLAN mapping in OpenWRT Chaos Calmer. It seems that the VLAN were switched when fixing a bug in the port mapping ( OpenWRT changeset 47799 )
Signed-off-by: David Pinilla Caparrós <dpinitux@gmail.com>
This patch adds the target profile SOM9331 and configures hardware
functionality for the 3x Eth Ports & corresponding LED's, the USB Host,
the USART to USB bridge and the System LED.
Signed-off-by: Allan Nick Pedrana <nik9993@gmail.com>
The CPE210 was still described for the OEM upgrade as compatible,
even the wireless configuration isn't compatible anymore between
both series (2ghz and 5ghz).
Update the CPE210 image profile to use the new profile.
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
The CPE210's ancestor is the CPE510 not the other way around. The device
profile is also named after the CPE510.
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
RB912 has one usb shared between external USB and miniPCIe slot. GPIO52 can
reroute power to external USB (=1) or internal miniPCIe slot (=0)
Signed-off-by: Cezary Jackiewicz <cezary@eko.one.pl>
The cpe510 has two calibration tables. The first calibration
table requires to modify ath9k driver to work (patched tx gain table).
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
The CE image format used by OpenMesh can contain extra blocks which
are not used for flashing. Only the first three embedded images
(fwupgrade.cfg, kernel, rootfs) are required in this order to successfully
flash an image via sysupgrade. All extra embedded images should be ignored
for the available devices.
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
The platform_check_image_openmesh function used break statements to signal
that the board name matched the image target. This worked because the
sysupgrade binary checked the image inside a loop. The break statement
stopped the loop and skipped any additional check.
Instead the check should be done without such sideeffects by simply
combining the board names and image targets. Only a mismatch should cause a
negative result for the caller and skipping of the additional checks.
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
Some OpenWrt based firmwares like Gluon expect that a sysupgrade image
exists when a device firmware can be updated via sysupgrade. This image
wasn't created until now because OpenMesh devices use the same image for
factory and sysupgrade flash. Copying the image from *factory.bin to
*sysupgrade.bin is therefore enough to make the sysupgrade functionality
visible.
Reported-by: Matthias Schiffer <mschiffer@universe-factory.net>
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>