aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/kirkwood/base-files
Commit message (Collapse)AuthorAgeFilesLines
* kirkwood: add support for two clones from EndianPawel Dembicki2021-12-292-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are Endian 4i Edge 200 and his clone Endian UTM Mini. Hardware: - SoC: Marvell 88F6281-A1 ARMv5TE Processor 1.2GHz - Ram: 512MB (4x Nanya NT5TU128M8GE-AC) - NAND Flash: 512MB (Micron 29F4G08AAC) - Lan 1-4: 4x GBE (Marvell 88E6171R-TFJ2) - Lan 5: 1x GBE (Marvell 88E1116R-NNC1) - Storage: MicroSD Slot - WLAN: MiniPCIe Slot present, and fitted with SparkLan WPEA-110N/E (Atheros AR9280 chipset) (ONLY Endian UTM Mini WLAN) - USB: 1x USB 2.0 port - Console: RJ-45 port - LEDs: 3x GPIO controlled Notes: - WLAN led (Endian UTM Mini) is drived by MPCIE card Installation by TFTP + serial: - Setup TFTP server and copy initramfs image - Connect serial console - Stop booting in u-boot - Do: setenv bootargs 'console=ttyS0,115200n8 earlyprintk' saveenv setenv serverip 192.168.1.1 setenv ipaddr 192.168.1.2 tftpboot 0x1200000 openwrt-kirkwood-endian_4i-edge-200-initramfs-uImage bootm 0x1200000 - copy sysupgrade image via ssh. - run sysupgrade Installation by USB + serial: - Copy initramfs image to fat32 usb drive - Connect pendrive to USB 2.0 front socket - Connect serial console - Stop booting in u-boot - Do: setenv bootargs 'console=ttyS0,115200n8 earlyprintk' saveenv usb reset fatload usb 0:1 0x1200000 openwrt-kirkwood-endian_4i-edge-200-initramfs-uImage bootm 0x1200000 - copy sysupgrade image via ssh. - run sysupgrade Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kirkwood: add support for NETGEAR ReadyNAS Duo v2Pawel Dembicki2021-12-293-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NETGEAR ReadyNAS Duo v2 is a NAS based on Marvell kirkwood SoC. Specification: - Processor Marvell 88F6282 (1.6 GHz) - 256MB RAM - 128MB NAND - 1x GBE LAN port (PHY: Marvell 88E1318) - 1x USB 2.0 - 2x USB 3.0 - 2x SATA - 3x button - 5x leds - serial on J5 connector accessible from rear panel (115200 8N1) (VCC,TX,RX,GND) (3V3 LOGIC!) Installation by USB + serial: - Copy initramfs image to fat32 usb drive - Connect pendrive to USB 2.0 front socket - Connect serial console - Stop booting in u-boot - Do: usb reset setenv bootargs 'console=ttyS0,115200n8 earlyprintk' setenv bootcmd 'nand read.e 0x1200000 0x200000 0x600000;bootm 0x1200000' saveenv fatload usb 0:1 0x1200000 openwrt-kirkwood-netgear_readynas-duo-v2-initramfs-uImage bootm 0x1200000 - copy sysupgrade image via ssh. - run sysupgrade Installation by TFTP + serial: - Setup TFTP server and copy initramfs image - Connect serial console - Stop booting in u-boot - Do: setenv bootargs 'console=ttyS0,115200n8 earlyprintk' setenv bootcmd 'nand read.e 0x1200000 0x200000 0x600000;bootm 0x1200000' saveenv setenv serverip 192.168.1.1 setenv ipaddr 192.168.1.2 tftpboot 0x1200000 openwrt-kirkwood-netgear_readynas-duo-v2-initramfs-uImage bootm 0x1200000 - copy sysupgrade image via ssh. - run sysupgrade Known issues: - Power button and PHY INTn pin are connected to the same GPIO. It causes that every network restart button is pressed in system. As workaround, button is used as regular BTN_1. For more info please look at file: RND_5.3.13_WW.src/u-boot/board/mv_feroceon/mv_hal/usibootup/usibootup.c from Netgear GPL sources. Tested-by: Raylynn Knight <rayknight@me.com> Tested-by: Lech Perczak <lech.perczak@gmail.com> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kirkwood: add support for Ctera C200 V1 NASPawel Dembicki2021-12-044-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2-Bay NAS - maximum two 3.5" Harddisks Hardware: - SoC: Marvell 88F6281-A1 ARMv5TE Processor 1.2GHz - Ram: 512MB (4x Nanya NT5TU128M8GE-AC) - NAND Flash: 256MB (Samsung 216 K9F2G08U0C) - Lan: 1x GBE (Marvell 88E1116R-NNC1) - Storage: 2x SATA HDD 3.5" Slot - USB: 2x USB 2.0 port - Console: Internal J3 connector (1: Vcc, 2: Rx, 3: Tx, 4: GND) - LEDs: 13x GPIO controlled - Buttons: 2x GPIO controlled Known issues: - Buzzer is unused due lack of proper driver Installation: - Apply factory initramfs image via stock web-gui. - Do sysupgrade to make installation complete. Back to stock: - OpenWrt rootfs partition use unused space after stock firmware. - Full revert is possible. - Login via ssh and run: ctera_c200-v1_back_to_factory Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> Reviewed-by: Sungbo Eo <mans0n@gorani.run> [apply sorting to device recipe] Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kirkwood: sysupgrade: drop unnecessary UBI to UBI logicBjørn Mork2021-12-031-18/+1
| | | | | | | | | | | | | The purpose of this code seems to be to avoid issues caused by partially overwriting an existing UBI partition, where some of the erase counters would be reset but not the unmodified ones. This problem has been solved in a more generic way by the UBI EOF marker. This ensures that any old PEBs after the marker are properly initialized. It is therefore unnecessary to erase the whole partition before flashing a new OpenWrt factory image. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* kirkwood: increase kernel size of LinksysesPawel Dembicki2021-09-131-1/+1
| | | | | | | | | | | | | | Linksyses Audi EA3500 and Viper E4200/E4500 have too small kernel partition size when kernel 5.10 is used. This patch change kernel partition to maximum size allowed by u-boot. Kernel size is overlapping rootfs now, like mvebu Linksyses and stock partition table. It fix back to stock via sysupgrade, which was broken since 18.06. Fixes: 9808b9ae02 ("kirkwood: switch to kernel 4.9") Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* treewide: do not quote compatible in shell scriptsAdrian Schmutzler2021-06-061-18/+18
| | | | | | | The compatible is a literal string without any problematic characters, so there is no reason to quote it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: Add support for SheevaplugBERENYI Balazs2021-06-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Globalscale SheevaPlug: * Marvell Kirkwood 88F6281 * 512 MB SDRAM * 512 MB Flash * Gigabit Network * USB 2.0 * SD slot * Serial console The device is supported in mainline uboot/linux the commit adds only some openwrt config for building an image. Installation: 1 - Update uboot: setenv ipaddr '192.168.0.111' setenv serverip '192.168.0.1' tftpboot u-boot.kwb nand erase 0x0 0x100000 nand write 0x800000 0x0 0x100000 reset 2 - Install OpenWRT: setenv ethaddr 00:50:43:01:xx:xx saveenv setenv ipaddr '192.168.0.111' setenv serverip '192.168.0.1' tftpboot openwrt-kirkwood-globalscale_sheevaplug-squashfs-factory.bin nand erase.part ubi nand write 0x800000 ubi 0x600000 reset Signed-off-by: BERENYI Balazs <balazs@wee.hu> Reviewed-by: Pawel Dembicki <paweldembicki@gmail.com> [add vendor name for uboot-kirkwood, merge patches, copy to 5.10, add AUTORELEASE for uboot-kirkwood, refresh patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-064-4/+0
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: use 3 temperature sensors for Zyxel NSA310BThomas Beckler2021-02-051-4/+16
| | | | | | | | | | | | | | | | | | | | Instead of taking the input of one temperature sensor (temp1), the script takes into account three temperature sensors to control the PWM of the cooling fan. temp1 -> placed on main board temp2 -> placed on main board temp3 -> placed on or close to chipset All three temperatures give valid input for the PWM of the fan on NSA310 and are actually changing. Tested on two NSA310. Signed-off-by: Thomas Beckler <thomas.beckler@hotmail.com> Reviewed-by: Alberto Bursi <bobafetthotmail@gmail.com> [commit title/message facelift, code cleanup] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: add support for Seagate BlackArmor NAS220Kip Porterfield2020-12-222-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* treewide: revert sysupgrade adjustments for early DSA-adoptersAdrian Schmutzler2020-09-081-16/+0
| | | | | | | | | | | | | | | | | The uci-default mechanism to update the compat-version was only meant for early DSA-adopters, which should have updated by now. Remove this workaround again in order to prevent the intended experiences for all the other people. This reverts: a9703db72030 ("mvebu: fix sysupgrade experience for early DSA-adopters") 86c89bf5e8f5 ("kirkwood: fix sysupgrade experience for early DSA-adopters") Partially reverted: 1eac573b5304 ("ramips: mt7621: implement compatibility version for DSA migration") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: fix sysupgrade experience for early DSA-adoptersAdrian Schmutzler2020-08-081-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conceptually, the compat-version during sysupgrade is meant to describe the config. Therefore, if somebody starts with a device on 19.07 and swconfig, and that person does a forceful upgrade into a DSA-based firmware without wiping his/her config, then the local compat-version should stay at 1.0 according to the config present (and not get updated). However, this poses a problem for those people that early-adopted DSA in master, as they already have adjusted their config for DSA, but it still is "1.0" as far as sysupgrade is concerned. This can be healed by a simple uci set system.@system[0].compat_version="1.1" uci commit system But this needs to be applied _after_ the upgrade (as the "old" fwtool on the old installation does not know about compat_version) and it requires access via SSH (i.e. no pure GUI solution is available for this group of people, apart from wiping their config _again_ for no technical reason). Despite, the situation will not become obvious to those just upgrading via GUI, they will just have the experience of a "broken upgrade". This is a conflict which cannot be resolved by achieving both goals, we have to decide to either keep the strict concept or improve the situation for early adopters. In this patch, we address the issue by providing a uci-defaults script that will raise the compat_version for _all_ people upgrading into a 1.1 image, no matter whether they have reset config or not. The idea is to implement this as a _temporary_ solution, so early adopters can upgrade into the new mechanism without issues, and after a few weeks/months we could remove the uci-defaults script again. If we e.g. remove the script just before 20.xx.0-rc1, early adopters should have moved on by then, and existing stable users would still get the intended experience. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: use real model names for Linksys devicesAdrian Schmutzler2020-07-315-10/+15
| | | | | | | | | | | | 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/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-113-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: move led triggers to dtsPawel Dembicki2020-06-141-10/+0
| | | | | | | | | This patch moves led trigger settings from 01_leds file to dts. Now "linux,default-trigger" property is used. Tested-by: Alberto Bursi <bobafetthotmail@gmail.com> [nsa310,nsa325] Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* 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>
* kirkwood: tidy up hwmon_fancontrolSungbo Eo2020-02-241-17/+16
| | | | | | | | Add indent and sort board_name alphabetically. Sourcing /lib/functions.sh is already handled by /etc/rc.common. Drop the line. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kirkwood: do not expose status LED to user config by defaultAdrian Schmutzler2020-02-221-23/+0
| | | | | | | | | | | | So far, the state of status LEDs is set up in 01_leds for many devices in kirkwood target. As those LEDs are also controlled by diag.sh, exposing them to the user via uci config by default seems not helpful and might even have confusing results for the user. Thus, remove the ucidef_set_led_default setup for power/status LED, but do not touch the rest where user control is actually a feature. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: use generic diag.shPawel Dembicki2020-02-221-55/+0
| | | | | | | | | | | | | | | | | | This commit removes the target-specific diag.sh script. This way, the generic one is used for the target, which uses DT-aliases to specify the LEDs used. Generic diag.sh allow to use different LEDs to indicate different states. Non-red status LEDs for indicating boot and a running system. Where possible, the red or orange LEDs are used to indicate failsafe mode and a running upgrade. Compile-tested: all target devices. Run-tested: CheckPoint L-50 Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [remove unrelated cosmetic changes, rename some labels, add pogo_e02] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: fix HDD LED labels for Zyxel NSA325 in 01_ledsStephan Knauss2020-01-181-2/+2
| | | | | | | | | Change the LED labels for hdd1/hdd2 in 01_leds to match their counterpart in DTS. Signed-off-by: Stephan Knauss <openwrt@stephans-server.de> [improve commit title and message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: sync bootcount scripts across targetsChuanhong Guo2019-08-171-3/+1
| | | | | | | | | | | | | | | This commit made the following changes to sync all bootcount scripts: 1. use boot() instead of start() This script only needs to be executed once when boot is complete. use boot() to make this explicit. 2. drop sourcing of /lib/functions.sh This is aready done in /etc/rc.common. 3. ramips: replace board name checking with a case Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* treewide: sysupgrade: don't use $ARGV in platform_do_upgrade()Rafał Miłecki2019-07-171-2/+2
| | | | | | | stage2 passes image path to platform_do_upgrade() as an argument so it can be simply accessed using $1 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mtd: base-files: Unify dual-firmware devices (Linksys)Jeff Kletsky2019-05-183-34/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consistently handle boot-count reset and upgrade across ipq40xx, ipq806x, kirkwood, mvebu Dual-firmware devices often utilize a specific MTD partition to record the number of times the boot loader has initiated boot. Most of these devices are NAND, typically with a 2k erase size. When this code was ported to the ipq40xx platform, the device in hand used NOR for this partition, with a 16-byte "record" size. As the implementation of `mtd resetbc` is by-platform, the hard-coded nature of this change prevented proper operation of a NAND-based device. * Unified the "NOR" variant with the rest of the Linksys variants * Added logging to indicate success and failure * Provided a meaningful return value for scripting * "Protected" the use of `mtd resetbc` in start-up scripts so that failure does not end the boot sequence * Moved Linksys-specific actions into common `/etc/init.d/bootcount` For upgrade, these devices need to determine which partition to flash, as well as set certain U-Boot envirnment variables to change the next boot to the newly flashed version. * Moved upgrade-related environment changes out of bootcount * Combined multiple flashes of environment into single one * Current-partition detection now handles absence of `boot_part` Runtime-tested: Linksys EA8300 Signed-off-by: Jeff Kletsky <git-commits@allycomm.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [checkpatch.pl fixes, traded split strings for 80+ chars per line]
* kirkwood: add support for Iomega Storcenter ix2-200Ademar Arvati Filho2018-07-304-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: fix sysupgrade尤晓杰2018-01-181-1/+1
| | | | | | | | | | | | The platform_check_image() stub need to return 0 for success, otherwise the sysupgrade will fail with: Image check 'platform_check_image' failed. Fixes: aa6f5f1787a6 ("kirkwood: use image metadata") Signed-off-by: 尤晓杰 <yxj790222@163.com> [reworded commit message} Signed-off-by: Mathias Kresin <dev@kresin.me>
* kirkwood: sort occurrences of boardame alphabeticallyMathias Kresin2018-01-093-29/+28
| | | | | | | 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-092-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: use the generic board detectMathias Kresin2018-01-098-112/+31
| | | | | | | 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-20/+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: fix compatible string in ib62x0 dtsMathias Kresin2018-01-091-0/+0
| | | | | | | | 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>
* kirkwood: drop support for orphaned boardsMathias Kresin2018-01-093-30/+1
| | | | | | | 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>
* treewide: drop target board_name functionsMathias Kresin2017-07-151-9/+0
| | | | | | They are not used any longer. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: use the generic board_name functionMathias Kresin2017-07-156-14/+8
| | | | | | Use the generic function instead ot the target specific ones. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: do board detection during preinitMathias Kresin2017-07-152-1/+9
| | | | | | Do the board detection during preinit to unify it across all targets. Signed-off-by: Mathias Kresin <dev@kresin.me>
* base-files: automatically handle paths and symlinks for RAMFS_COPY_BINMatthias Schiffer2017-07-111-1/+1
| | | | | | | | | | | | 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>
* kirkwood: upgrade: fix RAMFS_COPY_*Matthias Schiffer2017-07-112-21/+4
| | | | | | | | RAMFS_COPY_* are moved to platform.sh toplevel. The nand_do_upgrade call is moved to platform_do_upgrade. Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade" Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* kirkwood: switch to kernel 4.9Paul Wassi2017-07-041-2/+2
| | | | | | | | | | | | | | | 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>
* kirkwood: add support for Cisco ON100Makoto Takeuchi2017-06-123-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: set sata/usb led trigger for NSA3xxAlberto Bursi2017-05-141-0/+6
| | | | | | | | | | | | | 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>
* kirkwood: fix include in etc/board.d/02_networkAlberto Bursi2017-02-281-0/+1
| | | | | | 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>
* kirkwood: add ZyXEL NSA325 deviceAlberto Bursi2017-02-113-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: cleanup nsa310b mac address extractionAlberto Bursi2017-02-111-1/+1
| | | | | | | | | 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>
* kirkwood: add ZyXEL NSA310bAlberto Bursi2017-01-245-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: fix sysupgrade for non-dockstar NAND devicesFelix Fietkau2016-12-301-2/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kirkwood: fix pogo_e02 LED namePaul Wassi2016-10-261-2/+4
| | | | | | | 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>
* kirkwood: remove redundant code in etc/board.d/02_networkPaul Wassi2016-10-261-10/+5
| | | | | | | | 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>
* cleanup ucidef_set_interface* usageMathias Kresin2016-09-101-1/+1
| | | | | | | | - 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>
* kirkwood/dockstar: use ubi(kernel, squashfs, ubifs) imagesLuka Perkov2016-03-141-0/+14
| | | | | | | | | | | | | | | | | | | 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