Commit Graph

35 Commits (21cb84435a9fcc1b94b30a672d6d3a8751fe9afb)

Author SHA1 Message Date
Gad Krumholz 21cb84435a ar71xx: Added missing support for Linksys E2100L
It's based on the WRT160NL according to
https://wiki.openwrt.org/toh/linksys/e2100l

Based on research done here: https://forum.openwrt.org/viewtopic.php?id=24244
and here: https://forum.openwrt.org/viewtopic.php?pid=120791#p120791 this patch
was conceived.

Signed-off-by: Gad Krumholz <gad.krumholz@gmail.com>
[Jo-Philipp Wich: fix ordering, move addpattern change into separate commit]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
8 years ago
Huan Truong fd62fa752b ar71xx: Add support for Netgear WNR2000v1
This patch adds supports for the WNR2000v1 board with 4MB flash, and
produces device-specific factory, rootfs, and sysupgrade files for the
WNR2000v1. This board is errorneously claimed as supported on the OpenWRT
wiki as AP81, but AP81 image would not work because of APT81 image
requiring having 8MB of flash, while WNR2000v1 has only 4MB.

The image requires the u-boot bootloader to be modified to fuhry's
bootloader first.

Short specification:

- CPU: Atheros AR9132
- 4x 10/100 Mbps Ethernet, 1x WAN 10/100 Mbps
- 4 MB of Flash
- 32 MB of RAM
- UART header (J1) on board
- 1x button

Factory/Initial flash instructions:

- Set up a TFTP server on your local machine.
- Download the uImage for ar71xx-generic and the rootfs image for
  ar71xx-generic-wnr2000 and save in the tftp server root.
- Gain serial access to the router via the UART port (telnetenable over
  the network only won't work!).
- Upgrade the u-boot bootloader to fuhry's version by running the
  script: http://fuhry.com/b/wnr2000/install-repart.sh
- When the router restarts, interrupt u-boot and gain access to u-boot command line.
- Repartititon the board and flash initial uImage and rootfs as follow.

Commands to type in u-boot:

	# tells u-boot that we have a tftp server on 192.168.1.10
	setenv serverip 192.168.1.10

	# tells u-boot that the router should take the address 192.168.1.1
	setenv ipaddr 192.168.1.1

	# erase the region from 0x050000-0x3f0000
	erase 0xbf050000 +0x3A0000

	# loads sqfs.bin on TFTP server, and put it to memory address 0x81000000
	tftpboot 0x81000000 sqfs.bin
	# it will tell you the length of sqfs.bin in hex, let's say ZZZZZZ
	# copy bit by bit 0xZZZZZZ bytes from offset 0x050000
	cp.b 0x81000000 0xbf050000 0xZZZZZZ

	# same to the uImage.bin, write it right next to sqfs.bin
	# again, 0xYYYYYY is the length that tftpboot reports
	tftpboot 0x81000000 uImage.bin
	cp.b 0x81000000 0xbf2a0000 0xYYYYYY

	# We need to tell the kernel what board it is booting into, and where to find the partitions
	setenv bootargs "board=WNR2000 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,3712k(firmware),64k(art)ro rootfstype=squashfs,jffs2 noinitrd"

	# Tell u-boot where to find the uImage
	setenv bootcmd "bootm 0xbf2a0000"

	# Tell u-boot to save parameters to the u-boot-env partitions
	saveenv

	# Reset the board
	reset

Tested on:

- WNR2000v1 board.
- Initial flash works.

Known bugs:

- I don't know why factory image doesn't work on initial flash on stock
  firmware in u-boot recovery mode while it should.
- Sysupgrade does not yet work, if you do -f it will mess up your
  installation (requiring a reinstall of sqfs and uImage).

Signed-off-by: Huan Truong <htruong@tnhh.net>
8 years ago
Felix Fietkau 4c8a9b8e39 ar71xx: remove AP81 reference design board support
This board is very old and unlikely to still be relevant today.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 441ee62931 ar71xx: remove AP83 reference design board support
This board is very old and unlikely to still be relevant today. Support
for it contains a significant amount of device specific baggage which is
worth getting rid of.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 1cd7ff3e96 ar71xx: remove squashfs-64k rootfs image from bin directory, the generic one is enough
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau eff858e8df ar71xx: remove split kernel/rootfs images where the sysupgrade image can be written to flash directly
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau cc550d0005 ar71xx: remove 2MB flash variant of WP543
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 12e2beaaed ar71xx: remove legacy devices that cannot be supported due to kernel partition size limits
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 35dda35114 ar71xx: remove legacy gzip images
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 88f6f0120d ar71xx: remove obsolete jffs2 image building code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Stijn Tintel 6b0d279ca5 ar71xx: build relocate stub for generic and legacy images
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: John Crispin <john@phrozen.org>
8 years ago
Chuanhong Guo c5a7e2c2fb ar71xx: Ignore firmware building errors of UBNT and CyberTAN devices
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
8 years ago
Chris Blake d8662ac3c6 ar71xx: Move MR12 & MR16 from legacy to generic
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>
8 years ago
Karl Palsson 5d04dcedb4 ar71xx: move dragino2 from legacy to generic
Tested on real hardware with r1804.

Signed-off-by: Karl Palsson <karlp@etactica.com>
8 years ago
Matthias Schiffer 0d1fb72241
ar71xx: add relocation loader
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
8 years ago
Piotr Dymacz 2ad0ecc101 ar71xx: mark U-Boot and radio calibration data partitions as read-only
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>
8 years ago
Piotr Dymacz f478fba663 ar71xx: add support for Zbtlink ZBT-WE1526
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>
8 years ago
Matthias Schiffer 9687341808
ar71xx: clean up legacy-devices.mk
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>
8 years ago
Felix Fietkau 4d0f4f5e52 ar71xx: remove obsolete MultiProfile template code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 70cf8c3048 ar71xx: fix build error when initramfs is disabled
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau d6b3b44d97 ar71xx: fix a legacy image porting issue
Get rid of remaining IMAGE_PROFILE references and move template calls
the right place

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
John Crispin 8fe69e4d42 ar71xx: fix nand device profile
Signed-off-by: John Crispin <john@phrozen.org>
8 years ago
Yousong Zhou 559a7d1177 ar71xx: seama: fix making factory images
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>
8 years ago
Jo-Philipp Wich 6ee66ae075 ar71xx: further legacy image build fixes
- 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>
8 years ago
Jo-Philipp Wich 8d1218ca73 ar71xx: merge profiles into image building code
- 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>
8 years ago
John Crispin 3874773503 Revert "ar71xx: fix legacy image building"
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>
8 years ago
Jo-Philipp Wich 59e98b27c9 ar71xx: fix legacy image building
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>
8 years ago
John Crispin 636089ead6 ar71xx: merge profiles into image building code
Signed-off-by: John Crispin <john@phrozen.org>
8 years ago
Yousong Zhou b67066b8fa ar71xx: hiwifi-hc6361: lift size limit on kernel and rootfs parts
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>
8 years ago
Felix Fietkau 4c5a49031e ar71xx: convert OM2P to device profile
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
KeLei Liang 563e9d5e1b ar71xx: add WRTnode2Q support
Signed-off-by: KeLei Liang <xzmu@wrtnode.com>
8 years ago
Alexander Couzens 2a9f03adea ar71xx/image/edimax shorten the revision to 13 character
edimax fails if the revision is longer than 13 characters.
Also change the name from OpenWrt to LEDE

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
8 years ago
Sven Eckelmann 6150c15ad1 ar71xx: Generate sysupgrade images for OpenMesh devices
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>
8 years ago
Sven Eckelmann 9b6b75d09d ar71xx: Add support for initramfs images for OpenMesh devices
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
8 years ago
Felix Fietkau 736fc38d33 ar71xx: split legacy image building code into a separate file
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago