aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/kirkwood/image/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-101-4/+1
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: provide global default for SUPPORTED_DEVICESAdrian Schmutzler2021-01-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The majority of our targets provide a default value for the variable SUPPORTED_DEVICES, which is used in images to check against the compatible on a running device: SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) At the moment, this is implemented in the Device/Default block of the individual targets or even subtargets. However, since we standardized device names and compatible in the recent past, almost all targets are following the same scheme now: device/image name: vendor_model compatible: vendor,model The equal redundant definitions are a symptom of this process. Consequently, this patch moves the definition to image.mk making it a global default. For the few targets not using the scheme above, SUPPORTED_DEVICES will be defined to a different value in Device/Default anyway, overwriting the default. In other words: This change is supposed to be cosmetic. This can be used as a global measure to get the current compatible with: $(firstword $(SUPPORTED_DEVICES)) (Though this is not precisely an achievement of this commit.) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: add support for Seagate BlackArmor NAS220Kip Porterfield2020-12-221-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Seagate BlackArmor NAS220 is a consumer NAS with two internal drive bays. The stock OS runs RAID 1 over the disks via mdadm. Device specification: - SoC: Marvell 88F6192 800 MHz - RAM: 128 MB - Flash: 32 MB - 2 x internal SATA II drives - Ethernet: 10/100/1000 Mbps (single port, no switch) - WLAN: None - LED: Power, Status, Sata Activity - Key: Power, Reset - Serial: 10 pin header, (115200,8,N,1), 3.3V TTL 9|x - x|10 7|x - x|8 5|x - GND|6 3|x - RX|4 1|TX - x|2 front of case - USB ports: 2 x USB 2.0 Flash instruction: NOTE: this process uses a serial connection. It will upgrade the bootloader and reset the bootloader environment variables TFTP server setup - Setup PC with TFTP server set the PC IP to 10.4.50.5 as TFTP server - Copy these files to TFTP server location - u-boot.kwb - seagate_blackarmor-nas220-initramfs-uImage - seagate_blackarmor-nas220-squashfs-sysupgrade.bin - seagate_blackarmor-nas220-squashfs-factory.bin Seagate NAS setup - Connect LAN cable between PC and seagate device - Connect to serial to seagate device Install u-boot - Boot seagate device and stop in bootloader by pressing any key - run 'printenv' from u-boot and save the values - tftpboot 0x2000000 u-boot.kwb - nand erase.part uboot - nand write 0x2000000 0x0 ${filesize} - reset Update MAC address in u-boot env - Stop in u-boot by pressing any key - Get your MAC address from your saved printenv. Is also on chassis - setenv ethaddr <your MAC> - saveenv Option 1 (recommended) - Install OpenWrt via initramfs and sysupgrade - tftpboot 0x2000000 seagate_blackarmor-nas220-initramfs-uImage - bootm 0x2000000 - *OpenWrt should be running now, however it is not written to flash yet* - From the running instance of OpenWrt use Luci's "flash image" feature from the web site or use sysupgrade from the console to write seagate_blackarmor-nas220-squashfs-sysupgrade.bin to flash Option 2 - Install OpenWrt by flashing factory image from u-boot - nand erase.part ubi - tftpboot 0x2000000 seagate_blackarmor-nas220-squashfs-factory.bin - nand write 0x2000000 ubi ${filesize} - reset Signed-off-by: Kip Porterfield <kip.porterfield@gmail.com>
* Revert "treewide: add sysupgrade comment for early DSA-adopters"Adrian Schmutzler2020-09-081-2/+1
| | | | | | | | | | This reverts commit e81e625ca375d6dc3c885ec870ec15757ac76d72. This was meant just for early DSA-adopters. Those should have updated by now, remove it so future updaters get the intended experience. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: use wpad-basic-wolfssl as defaultPetr Štetiar2020-08-201-2/+2
| | | | | | | | | | | | | | | In order to support SAE/WPA3-Personal in default images. Replace almost all occurencies of wpad-basic and wpad-mini with wpad-basic-wolfssl for consistency. Keep out ar71xx from the list as it won't be in the next release and would only make backports harder. Build-tested (build-bot settings): ath79: generic, ramips: mt7620/mt76x8/rt305x, lantiq: xrx200/xway, sunxi: a53 Signed-off-by: Petr Štetiar <ynezz@true.cz> [rebase, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: add sysupgrade comment for early DSA-adoptersAdrian Schmutzler2020-08-081-1/+2
| | | | | | | | | | Add a specific comment for early DSA-adopters that they can keep their config when prompted due to compat-version increase. This is a temporary solution, the patch should be simply reverted before any release. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: get rid of BOARD_NAME and tidy up DEVICE_DTSAdrian Schmutzler2020-08-031-16/+14
| | | | | | | | | | | Since most of the DTS file names follow a common scheme now, let's update the automatically generated DEVICE_DTS value and get rid of some DEVICE_DTS and all BOARD_NAME entries for individual devices. This should specifically make the job easier for developers adding new devices, as they are not tempted to copy over BOARD_NAME anymore. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: use real model names for Linksys devicesAdrian Schmutzler2020-07-311-17/+30
| | | | | | | | | | | | This replaces the internal device names "Audi" and "Viper" with the real model names, which a user would look for. This makes the Linksys devices on this target consistent with the names recently changed for mvebu based on the same idea. As a consequence, the "viper" device definition is split into two separate definitions with the correct names for both real models. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: implement compatibility version for DSA migrationAdrian Schmutzler2020-07-311-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | This implements the newly introduced compat-version to prevent upgrade between swconfig and DSA for kirkwood. Just define a compat version with minor increment and an appropriate message for both image (in Makefile) and device (in base-files). Since we never removed SUPPORTED_DEVICES for this target, we don't have to add it back either. Attention: All users that already updated to the DSA versions in master will receive the same incompatibility warning since their devices are still "1.0" as far as fwtool can tell. Those, and only those, can bypass the upgrade check by using force (-F) without having to reset config again. In addition, the new version string needs to be put into uci config manually, so the new fwtool knows that it actually deals with a "1.1": uci set "system.@system[-1].compat_version=1.1" uci commit system Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: add support for Check Point L-50Pawel Dembicki2020-07-111-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Check Point L-50 from 600/1100 series routers. Specification: -CPU: Marvell Kirkwood 88F6281 1200MHz -RAM: 512MB -Flash: NAND 512MB -WiFi: mPCIe card based on Atheros AR9287 b/g/n -WAN: 1 Gigabit Port (Marvell 88E1116R PHY) -LAN: 9 Gigabit Ports (2x Marvell 88E6171(5+4)) -USB: 2x USB2.0 -Express card slot -SD card slot -Serial console: RJ-45 115200 8n1 -Unsupported DSL Known issues: -DSL not supported -Expresscard not tested Installation: Step one -> backup: make backup u-boot and env for revert stock posibility make backup dsl_mac_addr, dmz_mac_addr, eth1addr, ethaddr and all lanX_mac_addr Step two -> Use kwboot tool to upload openwrt u-boot to RAM: run kwboot: "kwboot -B 115200 /dev/ttyUSB0 -b u-boot.kwb -p -t" end start u-boot Step three -> Restore macs (e.g. below): setenv eth1addr 00:1C:XX:XX:XX:6C setenv ethaddr 00:1C:XX:XX:XX:6B setenv lan1_mac_addr 00:1C:XX:XX:XX:6C setenv lan2_mac_addr 00:1C:XX:XX:XX:6D setenv lan3_mac_addr 00:1C:XX:XX:XX:6E setenv lan4_mac_addr 00:1C:XX:XX:XX:6F setenv lan5_mac_addr 00:1C:XX:XX:XX:70 setenv lan6_mac_addr 00:1C:XX:XX:XX:71 setenv lan7_mac_addr 00:1C:XX:XX:XX:72 setenv lan8_mac_addr 00:1C:XX:XX:XX:73 setenv dmz_mac_addr 00:1C:XX:XX:XX:74 setenv dsl_mac_addr 00:1C:XX:XX:XX:75 Step four -> flash u-boot: mw 0x0800000 0xffff 0x100000 nand erase 0x0 100000 tftp 0x0800000 openwrt-kirkwood-l50-u-boot.kwb nand write 0x0800000 0x0 0x100000 saveenv Step five -> run initramfs image: tftpboot 0x02000000 openwrt.bin; bootm 0x02000000; Step six -> install sysupgrade OpenWrt image: copy to /tmp/ sysupgrade image run sysupgrade Back to stock: Restore original u-boot end env. Install factory image via stock u-boot. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kirkwood: add support for Zyxel NSA310SPawel Dembicki2020-07-081-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zyxel NSA310S is a NAS based on Marvell kirkwood SoC. Specification: - Processor Marvell 88F6702 1 GHz - 256MB RAM - 128MB NAND - 1x GBE LAN port (PHY: Marvell 88E1318) - 2x USB 2.0 - 1x SATA - 3x button - 7x leds - serial on J1 connector (115200 8N1) (GND-NOPIN-RX-TX-VCC) Known issues: - no kernel module for RTC. [*] - buzzer (connected to MPP43) need to be drived by 1kHz signal - no kernel module for internal MCU connected via I2C[**] [*] Karoly Pocsi made simple, unofficial driver for HT1382. It can be found here: https://www.madadmin.com/zyxel-nsa320s-es-debian-linux-4-resz/ [**] Karoly Pocsi found how CPU talk with MCU: It is possible to query the MCU-controlled fan speed and temperature: i2cget -y 0x0 0x0a 0x07 i2cget -y 0x0 0x0a 0x08 The first value (0x07) is the temperature in ° C, the second (0x08) is the time in milliseconds to complete one fan revolution (rpm = 60,000 / value). Info translated from: https://www.madadmin.com/zyxel-nsa320s-es-debian-linux-4-resz/ Installation: TFTP: 1. Run serial console and go to u-boot. 2. Copy u-boot via tftp and write to NAND: => mw 0x0800000 0xffff 0x100000 => nand erase 0x0 100000 => setenv ipaddr 192.168.1.2 => setenv serverip 192.168.1.4 => tftp 0x0800000 nsa310s-u-boot.kwb => nand write 0x0800000 0x0 0x100000 => reset 3. Run new u-Boot, repair bootcmd and restore MAC address from sticker => setenv ethaddr AA:BB:CC:DD:EE:FF => saveenv 4. Copy and run initramfs image => setenv ipaddr 192.168.1.2 => setenv serverip 192.168.1.4 => tftpboot zyxel_nsa310s-initramfs-uImage => bootm 0x800000 5. Download sysupgrade image and perform sysupgrade USB: 1. Prepare usb fat32 drive with u-boot.kwb and initramfs image. Stick it to USB 2.0 port. 2. Run serial console and go to u-boot. 3. Copy u-boot from usb and write to NAND: => mw 0x0800000 0xffff 0x100000 => nand erase 0x0 100000 => usb start => fatload usb 0 0x0800000 u-boot.kwb => nand write 0x0800000 0x0 0x100000 => reset 4. Run new u-Boot, repair bootcmd and restore MAC address from sticker => setenv ethaddr AA:BB:CC:DD:EE:FF => saveenv 5. Copy and run initramfs image: => usb start => fatload usb 0 0x0800000 initramfs-uImage => bootm 0x800000 6. Download sysupgrade image and perform sysupgrade. Based on work ThBexx <thomas.beckler@hotmail.com> DTS based on dropped support in 0ebdf0c. Tested-by: Lech Perczak <lech.perczak@gmail.com> Reviewed-by: Lech Perczak <lech.perczak@gmail.com> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [NSA310s -> NSA310S in DEVICE_MODEL] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kirkwood: support for button in Pogoplug V4Sungbo Eo2020-07-031-1/+2
| | | | | | | Pogoplug V4 has a reset button on a GPIO pin. To use it, kmod-gpio-button-hotplug package needs to be installed. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* Revert "kirkwood: disable image for Linksys EA3500 (Audi)"Pawel Dembicki2020-06-141-1/+0
| | | | | | | | | | This reverts commit d9ff49967145600ff4bbc0f4eecef11fd96f6b16. At this moment kernel can be fitted in EA3500 image. Tested by onefreeman (OpenWrt forum user) Tested-by: Jacks <jack338c@gmail.com> (Github user @jack338c) Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kirkwood: move ext4 support to modulesPawel Dembicki2020-06-141-9/+9
| | | | | | | | | | | | Ext4 support is built in kirkwood kernel. This patch moves ext4 support to modules and enables it for devices with SATA interface. Reviewed-by: Sungbo Eo <mans0n@gorani.run> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [rebase] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: move mmc/sd features to modulesPawel Dembicki2020-06-141-1/+2
| | | | | | | | | | All devices are using nand images. Built-in MMC/SD modules are not needed anymore. Run tested: pogo v4 Reviewed-by: Sungbo Eo <mans0n@gorani.run> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kirkwood: move sata features to modulesPawel Dembicki2020-06-141-4/+10
| | | | | | | | | | All devices are using nand images. Built-in SATA modules are not needed anymore. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [only move CONFIG_SATA_MV] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Pawel Dembicki <paweldembicki@gmail.com> [pogo v4]
* treewide: drop DEVICE_TYPE when used as device variableAdrian Schmutzler2020-06-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | DEVICE_TYPE is a target/subtarget variable, and it does not have any effect when set in a device definition. It can only be set in a target's or subtarget's Makefile. Consequently, having it set anyway is misleading, so this drops all cases. This effectively reverts the following commits: 7a1497fd601d ("apm821xx: MBL: set DEVICE_TYPE to NAS") 5b4765c93a1b ("gemini: Classify Raidsonic NAS IB-4220-B as a NAS") cdc6de460bb4 ("gemini: D-Link DNS-313 is a NAS") For the following commit, the variable was set when adding device support: 27b2f0fc0fc5 ("kirkwood: add support for Iomega Storcenter ix2-200") Cc: Christian Lamparter <chunkeey@gmail.com> Cc: Sungbo Eo <mans0n@gorani.run> Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: disable image for Linksys EA3500 (Audi)Adrian Schmutzler2020-04-291-0/+1
| | | | | | | | | | | Due to the switch to DSA, the kernel image has become too big (2641k) for the kernel partition (2624k) on this device: WARNING: Image file [...]/linux-kirkwood/linksys_audi-uImage is too big Disable the device until this is fixed, so buildbots can continue their work. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: switch from swconfig to dsaPawel Dembicki2020-04-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | This patch removes support for swconfig and switches to dsa driver. swconfig and switch drivers are removed. DSA driver is enabled and configuration is adjusted. In kirkwood only two devices have switches: Linksys EA3500 and EA4500. WAN MAC configuration in 02_network is required because otherwise WAN would have the same MAC address as lan interfaces. In swconfig solution the WAN address was assigned in u-Boot to eth1. Now, as eth1 is disabled and wan is part of the switch, we have to set it manually. Compile tested: EA3500, EA4500 Run tested: EA4500 Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [minor commit title/message adjustments, remove swconfig package for devices] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: omit IMAGE_SIZE argument from check-sizeSungbo Eo2020-03-211-1/+1
| | | | | | | | | Now that check-size uses IMAGE_SIZE by default, we can skip the argument from image recipes to reduce redundancy. Signed-off-by: Sungbo Eo <mans0n@gorani.run> [do not touch ar71xx] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: make kmod-hwmon-core selected by dependent modulesSungbo Eo2020-03-131-3/+2
| | | | | | | | | | | | | | | | | | Currently kmod-hwmon-* will not get into images unless kmod-hwmon-core is added to DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to "select", we do not have the issue anymore. Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES and similar variables, as it is now pulled by dependent modules such as: - kmod-hwmon-gpiofan - kmod-hwmon-lm63 - kmod-hwmon-lm75 - kmod-hwmon-lm85 - kmod-hwmon-lm90 Signed-off-by: Sungbo Eo <mans0n@gorani.run> [do not touch ar71xx, adjust line wrapping] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: remove kmod-i2c-mv64xxx from DEVICE_PACKAGESSungbo Eo2020-02-241-3/+1
| | | | | | | | | | Commit 9a1f441ac81c ("kirkwood: enable SoC drivers in the kernel config") enabled I2C_MV64XXX in the kernel config, and the subsequent commit 0d5ba94088ef ("orion: enable SoC drivers in the kernel config") removed kmod-i2c-mv64xxx package entirely. As the feature is now kernel built-in and the package does not exist anymore, we can safely remove kmod-i2c-mv64xxx from DEVICE_PACKAGES. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kirkwood: add kmod-hwmon-core to DEVICE_PACKAGESSungbo Eo2020-02-231-2/+4
| | | | | | | | | kmod-hwmon-lm* will not get into images unless kmod-hwmon-core is added to DEVICE_PACKAGES as well. Signed-off-by: Sungbo Eo <mans0n@gorani.run> [only address kmod-hwmon-core in this commit] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: tidy up image MakefileSungbo Eo2020-02-231-4/+5
| | | | | | | - use k in SIZE variables - break long lines Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kirkwood: fix device node name of Iomega ix2-200Sungbo Eo2020-02-231-2/+2
| | | | | | | | | | | | | | | The current device node name of ix2-200 is "iom_ix2_200", which results in a SUPPORTED_DEVICES string "iom,ix2,200" that does not match the compatible in DTS and the board name used in board.d. Fix this by replacing the second underscore with a dash, following vendor_model scheme. Fixes: 27b2f0fc0fc5 ("kirkwood: add support for Iomega Storcenter ix2-200") Signed-off-by: Sungbo Eo <mans0n@gorani.run> [commit title/message rephrase] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: exploit BOARD_NAME to set DEVICE_DTS and SUPPORTED_DEVICESAdrian Schmutzler2020-01-231-20/+2
| | | | | | | | | | | | | | | Due to the history of the target, all devices added before a certain point have the same device string in BOARD_NAME, DEVICE_DTS and added to SUPPORTED_DEVICES. Thus, we can set this one automatically for all devices where BOARD_NAME is specified, removing the explicit DEVICE_DTS and SUPPORTED_DEVICES addition there. For new devices, nothing has changed, and just DEVICE_DTS has to be set manually. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: Fix FS#505 - Can't install LEDE on Linksys EA3500Eubert Bao2019-10-121-0/+3
| | | | | | | | The default sizes render Device/linksys_audi mage un-flashable. Restore the pagesize, subpagesize, and blocksize for linksys_audi from https://github.com/openwrt/archive. Signed-off-by: Eubert Bao <bunnier@gmail.com>
* kirkwood: split up DEVICE_TITLEMoritz Warning2019-07-101-13/+27
| | | | | | DEVICE_TITLE is split up into DEVICE_VENDOR, DEVICE_MODEL and DEVICE_VARIANT Signed-off-by: Moritz Warning <moritzwarning@web.de>
* kirkwood: image: fix unwanted 2nd inclusion of kernelPetr Štetiar2019-06-091-5/+5
| | | | | | | | | | | | | | | | | | | In commit d2e18dae2892 ("kirkwood: cleanup image build code") the image build code was refactored, setting KERNEL_IN_UBI=0 which doesn't work as the KERNEL_IN_UBI needs to be unset in order to make it working as intended, which leads to factory images with two kernels in them: binwalk --keep-going openwrt-kirkwood-cisco_on100-squashfs-factory.bin MD5 Checksum: c33e3d1eb0cb632bf0a4dc287592eb70 DECIMAL HEX DESCRIPTION ------------------------------------------------------------------------------- 0 0x0 uImage header [...] "ARM OpenWrt Linux-4.14.123" 5769216 0x580800 uImage header [...] "ARM OpenWrt Linux-4.14.123" Cc: Mathias Kresin <dev@kresin.me> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=2285 Fixes: d2e18dae2892 ("kirkwood: cleanup image build code") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* treewide: use wpad-basic for not small flash targetsMathias Kresin2018-10-161-2/+2
| | | | | | | | | | | | Add out of the box support for 802.11r and 802.11w to all targets not suffering from small flash. Signed-off-by: Mathias Kresin <dev@kresin.me> Mathias did all the heavy lifting on this, but I'm the one who should get shouted at for committing. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kirkwood: add support for Iomega Storcenter ix2-200Ademar Arvati Filho2018-07-301-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Iomega Storcenter ix2-200 is a dual SATA NAS powered by a Marvell Kirkwood SoC clocked at 1GHz. It has 256MB of RAM and 32MB of flash memory, 3x USB 2.0 and 1x 1Gbit/s NIC Specification: - SoC: Marvell Kirkwood 88F6281 - CPU/Speed: 1000Mhz - Flash-Chip: Hynix NAND - Flash size: 32 MiB,erase size:16 KiB,page size:512,OOB size:16 - RAM: 256MB - LAN: 1x 1000 Mbps Ethernet - WiFi: none - 3x USB 2.0 - UART: for serial console Installation instructions - easy steps: 1. download factory.bin and copy into tftp server 2. access uboot environment with serial cable and run ``` setenv mainlineLinux yes setenv arcNumber 1682 setenv console 'console=ttyS0,115200n8' setenv mtdparts 'mtdparts=orion_nand:0x100000@0x000000(u-boot)ro,0x20000@0xA0000(u-boot environment)ro,0x300000@0x100000(kernel),0x1C00000@0x400000(ubi)' setenv bootargs_root 'root=' setenv bootcmd 'setenv bootargs ${console} ${mtdparts} ${bootargs_root}; nand read.e 0x800000 0x100000 0x300000; bootm 0x00800000' saveenv setenv serverip 192.168.1.1 setenv ipaddr 192.168.1.13 tftpboot 0x00800000 factory.bin nand erase 0x100000 $(filesize) nand write 0x00800000 0x100000 $(filesize) run bootcmd ``` 3. access openwrt by dhcp ip address assigned by your router (p.ex: 192.168.1.13) Installation steps nand bad blocks proof: 1. download initramfs-uImage and copy into usb ext2 partition ``` mkfs.ext2 -L ext2 /dev/sdh1 mount -t ext2 /dev/sdh1 /mnt cp initramfs-uImage /mnt/initramfs.bin umount /mnt ``` 2. access uboot environment with serial cable and run ``` setenv mainlineLinux yes setenv arcNumber 1682 setenv console 'console=ttyS0,115200n8' setenv mtdparts 'mtdparts=orion_nand:0x100000@0x000000(u-boot)ro,0x20000@0xA0000(u-boot environment)ro,0x300000@0x100000(kernel),0x1C00000@0x400000(ubi)' setenv bootargs_root 'root=' setenv bootcmd 'setenv bootargs ${console} ${mtdparts} ${bootargs_root}; nand read.e 0x800000 0x100000 0x300000; bootm 0x00800000' saveenv usb reset; ext2load usb 0:1 0x00800000 /initramfs.bin; bootm 0x00800000 ``` 3. log into openwrt and sysupgrade to install into flash ``` sysupgrade -n /tmp/sysupgrade.bin ``` 4. access openwrt by dhcp ip address assigned by your router (p.ex: 192.168.1.13) Signed-off-by: Ademar Arvati Filho <arvati@hotmail.com>
* kirkwood: support for buttons in Audi and ViperAlberto Bursi2018-05-151-2/+2
| | | | | | | | | | | | 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>
* kirkwood: sort occurrences of boardame alphabeticallyMathias Kresin2018-01-091-59/+59
| | | | | | | This restores the alphabetical sort that was present before the renaming of boardname. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kirkwood: add pogoplug v4Alberto Bursi2018-01-091-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* kirkwood: sync image filename with boardnameMathias Kresin2018-01-091-34/+42
| | | | | | | | | | 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>
* kirkwood: use the generic board detectMathias Kresin2018-01-091-0/+11
| | | | | | | Drop the target specific detection function in favour of the generic one provided by base-files. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kirkwood: use image metadataMathias Kresin2018-01-091-1/+2
| | | | | | | 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>
* kirkwood: cleanup image build codeMathias Kresin2018-01-091-26/+8
| | | | | | | | | | | | | | 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>
* treewide: add only one device when appending to TARGET_DEVICESLuis Araneda2017-12-121-1/+11
| | | | | | | | | 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>
* kirkwood: add support for Cisco ON100Makoto Takeuchi2017-06-121-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* kirkwood: add ZyXEL NSA325 deviceAlberto Bursi2017-02-111-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
* kirkwood: add ZyXEL NSA310bAlberto Bursi2017-01-241-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* kirkwood: only add UBI EOF markers for devices that need itFelix Fietkau2017-01-111-1/+2
| | | | | | Fixes issues where the second-stage u-boot already uses UBI. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kirkwood: clean up profiles, move to image makefileFelix Fietkau2016-12-241-8/+11
| | | | | | Adds support for per-device rootfs Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kirkwood: remove legacy image build codeFelix Fietkau2016-12-241-96/+0
| | | | | | This has been mostly non-functional for a while now Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kirkwood: convert iconnect, ib62x0 and pogoplug_e02 to the new image build codeFelix Fietkau2016-12-241-4/+19
| | | | | | | 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>
* kirkwood: fix uimage creation for some kirkwood devicesbobafetthotmail2016-09-191-1/+0
| | | | | | | | | 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>
* image: remove padding parameter from append-kernel/append-rootfsMathias Kresin2016-09-131-2/+2
| | | | | | | | | | | 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>
* image: add KERNEL_SIZE to the default device varsMathias Kresin2016-09-131-1/+0
| | | | | This reverts commit ec37a565878fd79d4127cbb843c17ce3b8dc97c0 and fixes the underlying issue.
* build: drop UBI EOF marker from images by defaultFelix Fietkau2016-09-121-0/+1
| | | | | | | | 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>