Commit Graph

73 Commits

Author SHA1 Message Date
Alberto Bursi
e09d4c850d kirkwood: support for buttons in Audi and Viper
Both these devices have a wps and a reset button on
GPIO pins, which need kmod-gpio-button-hotplug
package to work.

Add this package to their default package config.

Troubleshooted and tested on a Viper.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2018-05-15 06:39:37 +02:00
Mathias Kresin
0674a99f7e kirkwood: sort occurrences of boardame alphabetically
This restores the alphabetical sort that was present
before the renaming of boardname.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:55 +01:00
Alberto Bursi
c19f811c4d kirkwood: add pogoplug v4
also known as
POGO-V4-A3-02
or
POGO-V4-A3-01

SoC: Marvell 88F6192 800Mhz
SDRAM memory: 128MB
Gigabit ethernet: 1 Marvell 88E1310
Flash memory: 128MB
2 status LEDs (one green one red)
1 "Eject" button on the back (used as "Reset" button)
1 USB 2.0 port (on upper side)
1 sata slot (power + data) for 2.5'' drives (upper side)
2 USB 3.0 ports from a controller on PCIe x1 of the SoC
1 full-size SDcard slot (fits a whole SD card into it)

This device supports the (linux-only) kwboot tool to send
a new uboot over serial console, so it is easy to unbrick
in case the uboot is erased and the device won't boot.

-----
Install instructions:
-----
Since it's not possible to get ssh access to these
devices, the only way to take control is to
solder pins to get TTL serial access.

Case can be opened by removing screws beneath two rubber
feet at back of device, then lifting while prying the
sides of the upper part out to unhook a latch on each
side about 2/3rds of the way toward the front.

Serial connection pins are those labeled "J11", left
of SD as you face SD opening.
Pins are (from left to right, i.e. the first in the list
is the nearest to the SD slot) GND, Rx, Tx.
Do not connect +V pin if you use a USB (self-powered)
TTL-to-USB dongle. Any USB TTL-to-USB converter will work.
Baud rate is 115200, parity "none", databits "8",
flow control "none".

Stock uboot is unable to read ubi partitions (nor usb)
so we will replace it first with our uboot.

Start a TFTP server at IP address 169.254.254.254, and
place the uboot.kwb file in the folder of the server.

Start the serial session and then power up the device.

As soon as you see text on the serial start pressing random
letter keys to stop the boot process.

If you see something like the following line you can proceed:

CE>>

Otherwise if text is still scrolling by you missed the
opportunity, pull the plug and try again.

write

printenv ethaddr

The uboot will write something like this:

ethaddr=00:50:43:00:02:02

This is the device's MAC address, also present in the sticker
under the device.

Write this down as we will need to add it in the
new uboot configuration.

Use the following commands to load the new uboot:

tftp 0x20000 u-boot.kwb

If the uboot confirms that the transfer was successful,
then you can write it to flash with the following commands:

nand erase 0 0x200000
nand write 0x20000 0 0x1c0000

if after the last command the uboot wrote
"xxxx bytes written: OK"
then it was written correctly and we can proceed.

If it did not go well, try again or ask assistence in forums.
Shutting down or rebooting at this time will brick
the device, to unbrick it you will need to use the kwboot
tool from a Linux PC or Virtual Machine.

Now write:

reset

and press enter, the device will reboot and you should see
again text scrolling by.
Press a random key to stop it, and now you should see

pogoplugv4>

We now add the MAC address back, write:

setenv ethaddr '00:50:43:00:02:02'

Confirm that the uboot has understood by writing

printenv ethaddr

If all looks ok, save the setting with

saveenv

At this point the uboot is configured, and we only need to load
the firmware in the flash memory.

Follow the steps below in "Firmware recovery procedure".

----
Firmware recovery procedure
----
The new uboot allows easy recovery from a bad firmware upgrade
where you can't access the device anymore over ssh or luci.

Take a USB flash drive formatted as FAT32, and copy the
initramfs image file in it (it will have "initramfs" in the
file name), then rename it as "initramfs.bin".

Insert the USB drive in the USB 2.0 port of the pogoplug
(the port at the top).

Power up the device, and wait for it to finish booting.

The uboot should find and load the "initramfs.bin"
from usb and if you are connected with serial you should
see the linux kernel boot log (text scrolling by).
Once it is done, press Enter and you will be greeted by
the OpenWRT banner.

If you were not connected with serial just wait a bit and,
you will be able to access it with ssh or luci web interface
(once you find its IP).

The recovery "initramfs" images are run from RAM, so you will
have to do a normal sysupgrade (firmware upgrade) to write
a firmware image to flash memory.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2018-01-09 22:06:55 +01:00
Mathias Kresin
f5df635ccf kirkwood: sync image filename with boardname
Use <manufacturer>_<modelname> as image name.

Use the BOARD_NAME variable to ensure that the former used boardname is
still used as the subdirectory name for the sysupgrade-tar image, to
not break sysupgrade from earlier versions.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:55 +01:00
Mathias Kresin
c9e2c35f46 kirkwood: use the generic board detect
Drop the target specific detection function in favour of the generic
one provided by base-files.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:55 +01:00
Mathias Kresin
aa6f5f1787 kirkwood: use image metadata
Append and enforce image metadata. Remove the device specific image
checks, they are replaced by image metadata.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:55 +01:00
Mathias Kresin
d2e18dae28 kirkwood: cleanup image build code
Drop NAND_BLOCKSIZE, UBI_OPTS and UBIFS_OPTS. They are either used by
not supported filesystems or by the legacy image build code.

Add common used options/images to the default build code and override
the options where necessary.

Don't export the kernel image, it isn't required by any board.

While at it, change the file extension for the sysupgrade images to bin.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:54 +01:00
Luis Araneda
575178e462 treewide: add only one device when appending to TARGET_DEVICES
This will avoid some conflicts when doing a git rebase or merge,
specially when adding support to a new device.

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
[drop brcm47xx changes which rename the images]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-12 18:47:26 +01:00
Makoto Takeuchi
ca27b3d370 kirkwood: add support for Cisco ON100
The Cisco ON100 device is a Kirkwood based router:

    SoC: Marvell 88F6282 1600Mhz
    SDRAM memory: 512MB DDR3 1333Mhz
    Gigabit ethernet: 2x Marvell 88E1310 (over RGMII)
    Flash memory: 512MB
    2 bi-colour status LEDs (green/red)
    1 Reset button
    1 USB 2.0 port (on back)
    1 SDIO slot (on back)

This commit adds a target profile of "Cisco Systems ON100" under the target
system "Marvell Kirkwood".

Flashing can be performed over tftp, once "dhcp" has been issued:
 tftpboot ${loadaddr} lede-kirkwood-on100-squashfs-factory.bin
 nand erase 0x0c0000 ${filesize}
 nand write ${loadaddr} 0x0c0000 ${filesize}

Once flashed, set environment variables to boot:
 setenv bootcmd nand read \${loadaddr} 0x0c0000 0x540000\; setenv bootargs
  \; bootm
 saveenv

Signed-off-by: Makoto Takeuchi <mak0@lxsys.co.uk>
2017-06-12 21:07:31 +02:00
Alberto Bursi
4383c13aee kirkwood: add ZyXEL NSA325 device
This patch add ZyXEL NSA325 2-Bay Media Server

The ZyXEL NSA325 device is a Kirkwood based NAS:

- SoC: Marvell 88F6702 1600Mhz
- SDRAM memory: 512MB DDR2 400Mhz
- Gigabit ethernet: Marvell Alaska
- Flash memory: 128MB
- 1 Power button
- 1 Power LED (blue)
- 5 Status LED (green/red)
- 1 Copy/Sync button
- 1 Reset button
- 2 SATA II ports (internal)
- 2 USB 2.0 ports (back)
- 1 USB 3.0 port (front)
- Fan (fixed speed)
- hardware watchdog in a mcu

Basically a bigger, more powerful version of NSA310,
installation is the same as they share the same flash layout.

A notable difference is that there is a hardware watchdog
in a mcu on the board, which is disabled by default in the LEDE u-boot.
The watchdog is also disabled with a GPIO activation through
raw register change when kwbooting or it would reset the board before
the new uboot was transferred.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [remove dead code]
2017-02-11 21:16:28 +01:00
Alberto Bursi
94676dd99d kirkwood: add ZyXEL NSA310b
The ZyXEL NSA310 device is a Kirkwood based NAS:

- SoC: Marvell 88F6702 1200Mhz
- SDRAM memory: 256MB DDR2 400Mhz
- Gigabit ethernet: Realtek (over pcie)
- Flash memory: 128MB
- 1 Power button
- 1 Power LED (blue)
- 5 Status LED (green/red)
- 1 Copy/Sync button
- 1 Reset button
- 2 SATA II port (1 internal and 1 external)
- 2 USB 2.0 ports (1 front and 1 back)
- Smart fan

The stock u-boot cannot read ubi so it should be replaced with the
LEDE/OpenWRT's u-boot or with a u-boot from here
https://github.com/mibodhi/u-boot-kirkwood

This device's boot ROM supports "kwboot" tool
(in mainline u-boot, built automatically if CONFIG_KIRKWOOD is declared)
that sends an uboot image to the board over serial connection, it is very easy to unbrick.

The stock bootloader can use usb and read from FAT filesystems,
so the installation process is simple, place the uboot file on a USB flashdrive
formatted as FAT (here it is "openwrt-kirkwood-nsa310.bin", then connect TTL
to the board and write the following commands in the bootloader console:

usb reset
fatload usb 0 0x1000000 openwrt-kirkwood-nsa310.bin
nand write 0x1000000 0x00000 0x100000
reset

Now you are rebooting in the new u-boot, write this in its console to install the firmware:

usb reset
fatload usb 0 0x2000000 lede-kirkwood-nsa310b-squashfs-factory.bin
nand erase.part ubi
nand write 0x2000000 ubi 0x600000

If your firmware file is bigger than 6 MiBs you should write its size in hex
instead of 0x600000 above, or remove that number entirely (it will take a while in this case).

If you are using another uboot that can read ubi, set mtdparts like this

mtdparts=mtdparts=orion_nand:0x00c0000(uboot),0x80000(uboot_env),0x7ec0000(ubi)

And set your bootcmd to be like this

bootcmd=run setenv bootargs; ubi part ubi; ubi read 0x800000 kernel; bootm 0x800000

Then you can install the firmware as described above.

After you installed (or configured) the u-boot for booting the firmware,
write the device's mac address in the ethaddr u-boot env.
The MAC address is usually on a sticker under the device (one of the two codes is the serial),
it should begin with "107BEF" as it is assigned to ZyXEL.

write in the u-boot console (use your MAC address instead of the example)

setenv ethaddr 10:7B:EF:00:00:00
saveenv

to save the mac address in the u-boot.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2017-01-24 16:21:25 +01:00
Felix Fietkau
3be4c6ca93 kirkwood: only add UBI EOF markers for devices that need it
Fixes issues where the second-stage u-boot already uses UBI.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-11 14:04:18 +01:00
Felix Fietkau
49e81f9fe4 kirkwood: clean up profiles, move to image makefile
Adds support for per-device rootfs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-24 09:40:46 +01:00
Felix Fietkau
2eb1cc3dfc kirkwood: remove legacy image build code
This has been mostly non-functional for a while now

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-24 09:40:46 +01:00
Felix Fietkau
c9e4cf2299 kirkwood: convert iconnect, ib62x0 and pogoplug_e02 to the new image build code
Update the correspoding u-boot configs to stop relying on
kernel-in-rootfs, which was removed a while back

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-24 09:40:46 +01:00
bobafetthotmail
b9a55277d5 kirkwood: fix uimage creation for some kirkwood devices
because with the current system I'm getting fake uImages that are actually a
renamed zImage, and that's plain wrong.
This fixes bug https://bugs.lede-project.org/index.php?do=details&task_id=131
and https://bugs.lede-project.org/index.php?do=details&task_id=139

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2016-09-19 15:30:32 +02:00
Mathias Kresin
61c2a7339a image: remove padding parameter from append-kernel/append-rootfs
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>
2016-09-13 19:36:41 +02:00
Mathias Kresin
1cd0a4c688 image: add KERNEL_SIZE to the default device vars
This reverts commit ec37a56587 and fixes
the underlying issue.
2016-09-13 19:36:41 +02:00
Felix Fietkau
d27bce8d28 build: drop UBI EOF marker from images by default
Only add them where they are actually required.
Should help with compatibility issues with stock U-Boot images that
access UBI

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-12 18:21:52 +02:00
Mathias Kresin
e7ec7a08aa image: use k as unit suffix for blocksize
Use k as unit suffix for kilobyte to have a the same unit regardless of
the used filesystem.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-04 08:56:05 +02:00
Jo-Philipp Wich
db49dd894e build: rename sysupgrade-nand to sysupgrade-tar
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>
2016-07-29 16:53:03 +02:00
Felix Fietkau
33c8d35375 image: remove shell calls from legacy ubi/ubifs image code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-25 12:37:50 +02:00
Felix Fietkau
064bcdc259 kirkwood: fix UBIFS_OPTS variable in image build
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-25 12:30:19 +02:00
Felix Fietkau
650afe412b kirkwood: remove obsolete code for including kernel/dtb in rootfs
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
5d4b044955 kirkwood: clean up redundant variables in the image building code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
cfd1ef4b90 kirkwood: get rid of useless ubifs/ubi option variables
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
8e2764ce9b image.mk: clean up redundant code related to DEVICE_DTS
It is used by a core build template, so the variable should be
initialized and added to DEVICE_VARS in the core.
Same for DEVICE_DTS_DIR

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:14:11 +02:00
Felix Fietkau
e0ed6ec667 image: clean up UBI related device variable definitions
Move UBI related variable export to core, since the variables are used
by a core Build/ template

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-14 10:27:30 +02:00
Ben Whitten
b7baaaf782 kernel: Move append-dtb to common image-commands
This build step is used by various targets, move it to a common section.

Signed-off-by: Ben Whitten <ben.whitten@gmail.com>
2016-06-22 19:32:06 +02:00
Felix Fietkau
6036768d46 kirkwood: install kernel binaries into bin/ for use with external storage
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:41 +02:00
Felix Fietkau
934daa7b50 kirkwood: move ubi/ubifs options to the image makefile
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-19 15:18:12 +02:00
Luka Perkov
33f76a486d linux/kirkwood: migrate goflexhome/goflexnet to new ubi style
Also using the new image build step format

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 49013
2016-03-14 17:06:12 +00:00
Luka Perkov
afa1c47e71 kirkwood/dockstar: use ubi(kernel, squashfs, ubifs) images
The new image requires `bootz` because of devicetree appending.
To flash a new image boot initramfs:

  tftpboot 0x800000 openwrt-kirkwood-dockstar-initramfs-kernel.bin
  bootz 0x800000

  # detach if already attached
  ubidetach -p /dev/$(grep ubi /proc/mtd|awk -F: '{print $1}')
  # scp openwrt-kirkwood-dockstar-squashfs-factory.bin /tmp
  ubiformat -f /tmp/openwrt-kirkwood-dockstar-squashfs-factory.bin
  # attach is important to resize rootfs_data otherwise it wont boot
  ubiattach -p /dev/$(grep ubi /proc/mtd|awk -F: '{print $1}')

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 49010
2016-03-14 17:06:09 +00:00
Luka Perkov
1b9c171f88 kirkwood: add DEVICE_VAR KERNEL_IN_UBI for kernel as volume in ubi images
depending on KERNEL_IN_UBI, the image.mk will create a ubi volume for the kernel

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 49009
2016-03-14 17:06:08 +00:00
Felix Fietkau
2499a57d92 targets: add kernel image dependencies on device tree files
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48146
2016-01-06 18:39:06 +00:00
Luka Perkov
4e239d9fdb kirkwood: add Linksys routers to default profile
Signed-off-by: Claudio Leite <leitec@staticky.com>

SVN-Revision: 47458
2015-11-11 12:48:30 +00:00
Luka Perkov
ba26e9f60f kirkwood: rename EA3500/EA4500 profiles
Match the engineering board names now used elsewhere.

Signed-off-by: Claudio Leite <leitec@staticky.com>

SVN-Revision: 47436
2015-11-10 00:17:01 +00:00
Luka Perkov
6acb552eee kirkwood: generate factory images for Linksys EA[34]500
This is done with the new image generation system and board names.
It also generates a sysupgrade.tar image.

Signed-off-by: Claudio Leite <leitec@staticky.com>

SVN-Revision: 47432
2015-11-10 00:16:35 +00:00
Luka Perkov
6a18146206 kirkwood: add initial support for NSA310s
Signed-off-by: Tony Dinh <mibodhi@gmail.com>
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 47330
2015-11-01 01:13:16 +00:00
Felix Fietkau
2e7df6312d kirkwood: image: Remove custom mkfs targz override as base should be fine now
It was wrong anyway, missing file sort order parameter which was fixed
in base month ago.

Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47313
2015-10-31 09:28:34 +00:00
Felix Fietkau
8a237d1f03 kirkwood: image: Refactor sanitize_profile_name using PROFILE_SANITIZED var
Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47309
2015-10-31 09:27:56 +00:00
Jonas Gorski
dbe4173b20 image: fix jffs2(_nand) image generation
Variables dependend on JFFS2_BLOCKSIZE and NANDBLOCK_SIZE are used
for template generation, so need to be present before inclusion of
image.mk in target image Makefiles.
So move all declarations to before any includes.

Fixes: r42878 ("image.mk: clean up and parallelize mkfs calls")
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46564
2015-08-05 13:55:52 +00:00
Luka Perkov
7437be53ba kirkwood: add support for the Seagate GoflexHome
Add Support for the Seagate GoflexHome <http://wiki.openwrt.org/toh/seagate/goflexhome>

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>

SVN-Revision: 45647
2015-05-08 20:12:39 +00:00
Luka Perkov
309e74b86d kirkwood: add sheevaplug and derivatives
Add kirkwood FDT:
- SheevaPlug
- SheevaPlug with eSATA
- GuruplugServerPlus
- Topkick1281P2

Signed-off-by: Gérald Kerma <drEagle@doukki.net>

SVN-Revision: 43735
2014-12-17 08:33:55 +00:00
Luka Perkov
a2a6077fd0 kirkwood: sort 110-nas profile
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 43642
2014-12-11 23:29:04 +00:00
John Crispin
8dfb87bebc kirkwood: Add support for Iomega StorCenter ix2-200
Signed-off-by: Richard Kunze <richard.kunze@web.de>

SVN-Revision: 43391
2014-11-26 09:00:48 +00:00
Luka Perkov
4f1a9470f0 kirkwood: add support for Linksys EA3500
http://wiki.openwrt.org/toh/linksys/ea3500

Signed-off-by: Dan Walters <dan@walters.io>

SVN-Revision: 43230
2014-11-10 23:55:10 +00:00
Felix Fietkau
275cef6363 image.mk: clean up and parallelize mkfs calls
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42878
2014-10-12 15:00:49 +00:00
John Crispin
7d8f187201 target/linux/*/image/Makefile: use new dts path variable
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41791
2014-07-21 18:42:06 +00:00
Luka Perkov
4122af10f9 kirkwood: add support for Linksys EA4500
Support is added only for kernel 3.14 - do not show it until
the switch is made.

Following uboot env changes are needed to make it work on stock uboot:
2014-05-28 21:43:39 +00:00