Commit graph

59 commits

Author SHA1 Message Date
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
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
18ea058258 kirkwood: fix compatible string in ib62x0 dts
There is no point in being that specifc in a generic dts covering a range
of boards. Keep only the the generic compat string to use it for a
devicetree based boardname.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:54 +01:00
Mathias Kresin
0ebdf0c1d3 kirkwood: drop support for orphaned boards
No image build code for the Guruplug, Sheevaplug and NSA310S exists. Drop
support for the boards for now.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:54 +01:00
Mathias Kresin
e0b9ec8e96 treewide: drop target board_name functions
They are not used any longer.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Mathias Kresin
f12a32630f treewide: use the generic board_name function
Use the generic function instead ot the target specific ones.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Mathias Kresin
78cf5eed6e treewide: do board detection during preinit
Do the board detection during preinit to unify it across all targets.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Matthias Schiffer
438dcbfe74
base-files: automatically handle paths and symlinks for RAMFS_COPY_BIN
Depending on busybox applet selection, paths of basic utiilties may differ,
and may not work as symlinks to busybox. Simply using whatever binary is
found in PATH and detecting symlinks automatically is more robust and
easier to maintain.

The list of binaries is also slightly cleaned up and duplicates are
removed.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-07-11 17:26:32 +02:00
Matthias Schiffer
f464da623d
kirkwood: upgrade: fix RAMFS_COPY_*
RAMFS_COPY_* are moved to platform.sh toplevel. The nand_do_upgrade call is
moved to platform_do_upgrade.

Fixes: 30f61a34b4 "base-files: always use staged sysupgrade"
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-07-11 17:19:23 +02:00
Paul Wassi
9808b9ae02 kirkwood: switch to kernel 4.9
Add patches-4.9, some of them (heavily) rewritten:
  - ea4500 is upstream available, keep only LEDE changes in dts
  - ea3500 is changed to match the structure of the upstream ea4500 dts
  - nsa310s rewritten to include the common dtsi
  - nsa325 is dropped, since already upstream

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
[refresh kernel config, add on100, use the switchdev based mv88e6171
driver for the linksys boards, keep lede specific rootfs/kernel
partition names for linksys boards, reorder patches]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-04 16:29:07 +02: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
f7fd2abf25 kirkwood: set sata/usb led trigger for NSA3xx
these two devices have a Sata led for each sata port.
These leds must be controlled separately by a special
sata led trigger already used in oxnas target.

Both these devices have a single USB led, and to keep
consistent behaviour with the Sata leds that show
sata activity, this led uses usb-host trigger
to show usb activity.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2017-05-14 21:45:50 +02:00
Alberto Bursi
ff42a8330b kirkwood: fix include in etc/board.d/02_network
the mtd_get_mac_ascii function called within this script requires the inclusion of /lib/functions/system.sh

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2017-02-28 23:46:02 +01: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
f99178b6c0 kirkwood: cleanup nsa310b mac address extraction
switch nsa310b mac address reading to mtd_get_mac_ascii helper as
it seems the fw_env.config file is created way later than when
network is set up, when I tested I still had that file included
in the image through /files folder.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
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
83d59453c0 kirkwood: fix sysupgrade for non-dockstar NAND devices
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-30 12:58:20 +01:00
Paul Wassi
d2606107ab kirkwood: fix pogo_e02 LED name
The pogo_e02's dts file has its LEDs named "pogo_e02:(...)"
Fix the status-LED's name for this device.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
2016-10-26 12:37:46 +02:00
Paul Wassi
f6b5df44d9 kirkwood: remove redundant code in etc/board.d/02_network
Remove redundant code: merge boards/cases that share
the same network configuration.
Also fix the alphabetical ordering of the cases.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
2016-10-26 12:37:45 +02:00
Mathias Kresin
c1578d4fc9 cleanup ucidef_set_interface* usage
- 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>
2016-09-10 15:32:25 +02: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
Jo-Philipp Wich
67e1c87012 all: drop old uci-defaults.sh
Replace former uci-defaults.sh implementation with the uci-defaults-new.sh one
and update all users accordingly.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47867
2015-12-11 15:26:06 +00:00
Jo-Philipp Wich
08848936dd all: remove redundant board.d/00_model files
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47753
2015-12-04 11:07:06 +00:00
Jo-Philipp Wich
296212c301 kirkwood: add missing board_config_flush(), remove dead code
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47745
2015-12-03 23:13:04 +00:00
Jo-Philipp Wich
80a3e65a9d kirkwood, ipq806x: fix board.d script permissions
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47735
2015-12-03 22:42:13 +00:00
Jo-Philipp Wich
7514b6d73b kirkwood: switch from uci-defaults to board.d
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47733
2015-12-03 22:27:18 +00:00
Luka Perkov
31c7de0313 kirkwood: add diag LED on Linksys EA3500
Signed-off-by: Claudio Leite <leitec@staticky.com>

SVN-Revision: 47435
2015-11-10 00:16:56 +00:00
Luka Perkov
b0e7ca4f8f kirkwood: support sysupgrade on Linksys EA[34]500
This automatically writes to the alternate firmware partition
(on Linksys's dual firmware layout) using code borrowed from
the WRT1900AC port.

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

SVN-Revision: 47434
2015-11-10 00:16:42 +00:00
Luka Perkov
ea8ac0999c kirkwood: support Linksys boot counter on EA[34]500
This is done with existing code from the WRT1900AC port.
It makes sure the "auto_recovery" bootloader option is set,
and resets the s_env boot counter after a successful boot.

This gives users without a serial console connection some
measure of safety.

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

SVN-Revision: 47433
2015-11-10 00:16:37 +00:00
Luka Perkov
ad8f6370de kirkwood: consistently use engineering board names
Signed-off-by: Claudio Leite <leitec@staticky.com>

SVN-Revision: 47430
2015-11-10 00:16:28 +00:00
Luka Perkov
805492bda9 kirkwood: pogo_e02: use mainline led definitions
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 47385
2015-11-04 22:28:42 +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
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
5cce8f9a0f kirkwood: Seagate GoFlex Net
Add GoFlex Net "Board Name" , set and cleanup network default and LEDs.
Remove kmod-rtc-marvell from default packages, as the GoFlex net does not have a RTC.

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

SVN-Revision: 44422
2015-02-12 14:39:26 +00:00
Luka Perkov
81db848656 targets: base-files: diag.sh does not need to be executable
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 44305
2015-02-07 19:58:58 +00:00
Luka Perkov
86f1a60549 kirkwood: drop port-based VLAN setup
Using port-based VLANs depends on a non-standard
swconfig parameter, which compilcates things like
LuCI that don't know about it. This patch changes
the default to use 802.1q VLANs internally in the
switch, but without tagging packets since we have
two Ethernet ports.

iperf3 tests indicate no difference in performance
versus port-based VLANs when the CPU port is not
using tags.

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

SVN-Revision: 44122
2015-01-25 13:11:02 +00:00
Luka Perkov
34f6c6fc38 kirkwood: enable switch on Linksys EA3500
Signed-off-by: Claudio Leite <leitec@staticky.com>

SVN-Revision: 44036
2015-01-18 16:45:01 +00:00
John Crispin
8698398a6e target: kirkwood: fix leds defaults config
Fix missing parameters in 01_leds

Signed-off-by: Gerald Kerma <dreagle@doukki.net>

SVN-Revision: 44007
2015-01-17 14:39:01 +00:00
Luka Perkov
873202fc0b kirkwood: add *plugs to uci-defaults
Set defaults health led to a timer heartbeet (200/800)
and populate network for:

- GuruplugServerPlus
- SheevaPlug
- SheevaPlug with eSATA

Signed-off-by: Gerald Kerma <dreagle@doukki.net>

SVN-Revision: 43752
2014-12-19 11:05:13 +00:00
Luka Perkov
39743e45f8 kikwood: populate kirkwood.sh with new boards
- SheevaPlug
- SheevaPlug with eSATA
- GuruplugServerPlus

Signed-off-by: Gerald Kerma <dreagle@doukki.net>

SVN-Revision: 43751
2014-12-18 18:38:43 +00:00
Luka Perkov
ec9a0f898a kirkwood: set default EA4500 switch config
This maps the LAN ports to eth0 and WAN port to eth1.
Since there are two interfaces the 802.1q VLAN mode
is unnecessary and left disabled. Port-based VLANs
are used instead.

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

SVN-Revision: 43750
2014-12-18 18:38:38 +00:00
John Crispin
019ea725aa add "preinit_regular" diag.sh set_state argument
This new argument is used right after starting regular preinit (which
happens if failsafe wasn't triggered). The main purpose of "preinit"
argument is to indicate that failsafe can be triggered, however we were
missing a way to inform user that we don't wait for a trigger anymore.
With this change it's clear when failsafe mode can be triggered.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43715
2014-12-15 10:37:00 +00:00
John Crispin
7a65768ddc kirkwood: add a diag script
Currently only Linksys EA4500 is supported.

Signed-off-by: Cezary Jackiewicz <cezary.jackiewicz@gmail.com>

SVN-Revision: 43543
2014-12-07 16:53:37 +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
Luka Perkov
a54f4320f9 kirkwood: move kirkwood.sh to /lib/ for consistency
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 41338
2014-06-26 10:13:47 +00:00
Luka Perkov
8416523dba kirkwood: base-files: use /lib/functions/kirkwood.sh
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 41336
2014-06-24 18:18:53 +00:00
Luka Perkov
e6aea925d3 kirkwood: base-files: add script to detect board name and populate /tmp/sysinfo
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 41335
2014-06-24 18:18:51 +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