Commit graph

16574 commits

Author SHA1 Message Date
Chris Blake
28dd52b079 ar71xx: add mac partition to the MR12/MR16
On the stock Meraki Firmare for the MR12/MR16, a chunk of SPI space
after u-boot-env is used to store the boards Mac address. Sadly as this
was removed on any device already on OpenWRT/LEDE, moving forward a new,
64k partition named "mac" will be used to store the mac address for the
device (which is the minimum size). This allows users to properly set
the correct MAC, without editing the ART partition (which holds the same
MAC for all devices).

The reason the space is taken from kernel instead of rootfs is currently
kernels are only 1.3MB, so that way we can leave the current rootfs
space alone for users who fully utilize the available storage space.

Once this partition is added to a device, you can set your MAC doing the
following:

mtd erase mac
echo -n -e '\x00\x18\x0a\x33\x44\x55' > /dev/mtd5
sync && reboot

Where 00:18:0a:33:44:55 is your MAC address.

This was tested, and confirmed working on both the MR12 and MR16.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2016-10-26 12:37:45 +02:00
Chris Blake
d8662ac3c6 ar71xx: Move MR12 & MR16 from legacy to generic
This moves the Meraki MR12 and Meraki MR16 to the new generic target.
Tested and verified working on both devices.

Note that kernel/rootfs images are still generated. This is because they
are used for the inital flashing process due to the fun pace at which
UBoot erases/writes to SPI.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2016-10-26 12:37:44 +02:00
Petr Štetiar
5481ce9a11 imx6: Add ds1307 RTC to kernel for working hctosys
Otherwise if we use ds1307 as kernel module, hctosys fails as ds1307 is
being initialized later then hctosys:

 [    2.427349] hctosys: unable to open rtc device (rtc0)
 [    3.714263] snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc1
 [    8.990061] rtc-ds1307 3-006f: rtc core: registered mcp7941x as rtc0

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2016-10-26 09:41:29 +02:00
Paul Wassi
5528573039 kirkwood: Add RTC driver to kernel for working hctosys
Build the RTC driver into the kernel, (and remove the optional module), in order
to make hctosys working. (Currently the module is loaded after hctosys has failed previously)

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
2016-10-26 09:41:28 +02:00
Jing Lin
7ba9a3a504 ar71xx: Add support to DomyWifi DW33D
Signed-off-by: Jing Lin <mumuqz@163.com>
2016-10-25 17:51:08 +02:00
Rafał Miłecki
93f9a9c71c kernel: backport MIPS's ioremap_cache from 4.5
It's needed by (updated) bcm47xxsflash driver.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-24 22:52:44 +02:00
Rafał Miłecki
13e6f7a75d brcm47xx: reorder older entries in image Makefile
Keep all entries sorted and replace tabs with spaces while at it.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-24 20:35:24 +02:00
Stijn Tintel
839b657a61 kernel: add fix for CVE-2016-5195
Add fix for CVE-2016-5195 to kernel 3.18 and 4.1.
Kernel 4.4 is already fixed since version 4.4.26 which was committed in
32c28a78f7.

Patches taken from Sasha Levin's linux-stable git tree:
http://git.kernel.org/cgit/linux/kernel/git/sashal/linux-stable.git/

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-10-24 20:25:14 +03:00
Stijn Tintel
75e63c2494 kernel: update kernel 3.18 to version 3.18.43
Refresh patches for all targets supporting 3.18 and not marked broken.
Compile-tested on all targets using 3.18 and not marked broken.

Changes to generic/610-netfilter_match_bypass_default_checks.patch based
on 84d489f64f.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-10-24 20:25:14 +03:00
Stijn Tintel
2fc3680dd0 kernel: update kernel 4.1 to version 4.1.34
Refresh patches for all targets supporting 4.1 and not marked broken.
Compile-tested on all targets using 4.1 and not marked broken.

Changes to generic/610-netfilter_match_bypass_default_checks.patch based
on 84d489f64f.
Changes to generic/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch based
on a90ee92337.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-10-24 20:25:14 +03:00
Rafał Miłecki
06405df7a8 brcm47xx: bump kernel to 4.4
Kernel 4.4 was ready for brcm47xx for almost a year now but I kept
postponing the bump due to problems with Linksys WRT300N v1.0. OpenWrt
and LEDE with 4.4 were hanging at the booting with the:
> Starting program at 0x80001000
(the last CFE message).

This was a permanent state, "make distclean" wasn't helping, I spent
hours debugging this and I was reliably reproducing the issue every
time. I also reported it on linux-mips ML in the thread:
> BCM4704 stopped booting with 4.4 (due to vmlinux size?)

After ~month I started working on WRT300N again. I got hangs as expected
every time I switched from 4.1 to 4.4. I started experimenting with:
1) TRX content (I tried dropping rootfs partition)
2) BZ_TEXT_START of lzma-loader
3) Flashing other variants of image: lzma compressed kernel (without a
   loader), gzip compressed one, uncompressed one.

At some point I got rootfs-less image booting and after that I couldn't
reproduce problem anymore, even with a complete firmware. It seems like
hardware was in some locked/unstable state that got magically fixed.

I have LEDE working now, tested it even with "make distclean", it seems
we can bump kernel now. I'll keep testing it on WRT300N for some time.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-24 17:22:23 +02:00
Rafał Miłecki
6e64a38b00 brcm47xx: build also TRX image for Linksys WRT300N V1
Linksys WRT300N V1 has pretty bugged CFE bootloader (it crashes in a lot
of situations) that doesn't accept .bin image.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-24 10:34:59 +02:00
Rafał Miłecki
337f219130 brcm47xx: open code Makefile entries for all devices
If we want to use some of new features like per device rootfs we will
need this to specify them there.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-24 10:33:33 +02:00
Imre Kaloz
3764caa934 mvebu: add support for the Linksys WRT3200ACM (Rango)
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-10-24 08:45:06 +02:00
Imre Kaloz
2beab73fad mvebu: add missing status LEDs for Linksys WRT1200AC and WRT1900ACv2
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
2016-10-24 08:45:06 +02:00
Álvaro Fernández Rojas
920f922652 kernel: update kernel 4.4 to version 4.4.27
Refresh patches for all targets that support kernel 4.4.
compile/run-tested on brcm2708/bcm2710 only.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-10-23 14:56:09 +02:00
Rafał Miłecki
3b26a5bb15 bcm53xx: include b43 in Tenda AC9 image
There is some (poor?) support for BCM43217 in b43.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-20 08:46:26 +02:00
Mathias Kresin
3c5a8a2cbc lantiq: enable cpu temp driver for all vr9 boards
Only present on v1.2 vr9 SoCs but the driver takes care to not load on
boards having a v1.1 SoC.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:55:06 +02:00
Mathias Kresin
23e3314cad lantiq: fix thermal sensors driver
Read the temperature including the decimale place from the CGU_GPHY1_CR
register.

Decrement the temperature read from the register by 38.0 degree celsius.
The temperature range of the sensor is -38.0 to +154 °C and the register
value 0 is equal to -38.0 °C. This fixes the report of unrealistic
temperatures as seen on all tested boards.

Give the SoC a few milliseconds to get the first temperature value. On
some rare occasions there is no temperature value in the register when
read the first time after activation. This leads to a reported
temperature of -38.0 °C on boot.

Only version 1.2 of the vr9 SoC has a temperature sensor. Add a check
to make sure the driver doesn't load on v1.1 vr9 SoCs.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:55:06 +02:00
Andreas Eberlein
eba84bee4c lantiq: Sanitize device tree files
The device tree file of ARV752DPW uses numbers/hex values for gpio states and input event codes.

This cleans it up and uses the available macros from header files. This way the functions are easier to read and comprehend.

Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
[sanitize all device tree files]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:55:04 +02:00
Andreas Eberlein
72d12672de lantiq: Fix buttons for ARV752DPW
The GPIO for reset switch is wrong in definition. Further the key codes for the two additional buttons are ineffective.

Both is fixed here.

Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
2016-10-19 19:06:15 +02:00
Mathias Kresin
fa14124616 lantiq: use new build code for DGN3500
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:06:15 +02:00
Mathias Kresin
1f7a03a706 lantiq: drop lzma-loader
It isn't used any more.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:06:15 +02:00
Mathias Kresin
17094e9e64 lantiq: rework VG3503J image
Use the new image build code and remove the lzma loader. The lzma
loader was used to cheat the signature validation of the bootloader and
I found another way to do this.

To migrate boards already using LEDE/OpenWrt to the new image the
following steps need to be done once:

  VR9 # run reset_uboot_config
  VR9 # reset
  VR9 # setenv ethaddr AA:BB:CC:DD:EE:FF
  VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000
  VR9 # saveenv
  VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin
  VR9 # erase 0xb0020000 $(filesize)
  VR9 # cp.b 0x81000000 0xb0020000 $(filesize)

The mac address is printed on the label at the bottom of the case.

The following steps are need to be done during first install:

  VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000
  VR9 # saveenv
  VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin
  VR9 # erase 0xb0020000 $(filesize)
  VR9 # cp.b 0x81000000 0xb0020000 $(filesize)

The image uses the uImage firmware splitter now instead of hardcoded
kernel and rootfs partitions. The firmware partition size was extended
to use flash space that was reserved for partitions required only by
the ECI firmware.

Due to the changes an upgrade to a later LEDE revision from a running
LEDE is supported now.

A default switch config was added and the device uses the same MAC
addresses as the ECI firmware now instead of the same for all VG3503J.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-19 19:06:15 +02:00
Rafał Miłecki
ea7462ae07 bcm53xx: include usbport trigger for devices with USB
We don't have any code for enabling it automatically yet but it allows
adding entries manually to the /etc/config/system.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-19 12:28:52 +02:00
Rafał Miłecki
d0b50c2770 kernel: drop usbdev LED trigger
It was LEDE's trigger that was replaced by upstream usbport one.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-19 12:09:45 +02:00
Rafał Miłecki
0658527e1e switch to the new usbport LED trigger
This makes init.d script handle existing UCI entries using the new
trigger. It also switches all targets to use its package.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-19 12:09:45 +02:00
Felix Fietkau
a92f57599c ipq806x: add back end-of-UBI marker for a few factory images (FS#228)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-10-18 09:30:57 +02:00
Henryk Heisig
f5aa459043 ar71xx: Add support to TP-Link EAP120
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2016-10-18 09:18:55 +02:00
Matthias Schiffer
83f7ec31f8
ar71xx: set EU region code for TP-Link TL-WA901ND v4
There is no US firmware for the TL-WA901ND v4 yet, so we'll just
unconditionally set the EU region for now.

This makes LEDE flashable on these devices again. The format of the region
string is slightly different from the one used on the Archer C7 that is
generated by mktplinkfw (the second half of the region string is missing),
but it's similar enough to make it work.

Tested-by: Jannis Pinter <jannis@pinterjann.is>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-10-15 19:09:56 +02:00
YuheiOKAWA
4050cfebda ramips: add support for Planex VR500.
SOC:	MT7621A
RAM:	256MiB
NOR:	MX25L51245G

Non Wireless Router.

Issue: soft reboot problem. SPI Flash do not exit 4byte address mode.

Signed-off-by: Yuhei Okawa <tochiro.srchack@gmail.com>
2016-10-15 11:36:51 +02:00
Petr Štetiar
5a922e5c41 imx6: inittab: Use login.sh wrapper so we can configure console password
In dc92917 there was introduced login.sh wrapper which allows
configuration of console passwords via UCI system ttylogin config
option.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2016-10-15 11:36:51 +02:00
Christian Lamparter
098f7156cc ar71xx: add support for the Airtight C-60
This patch adds support for the Airtight C-60.

SOC:	Atheros AR9344 rev 2 (CPU:560.000MHz)
RAM:	128 MiB
NOR:	MX25L3205D 4MiB
NAND:	ST Micro NAND 32MiB 3,3V 8-bit
SW-NET:	AR8327N (2 Ports)
WLAN1:	Dual-Band AR9340 Rev:2 (built-in SoC)
WLAN2:	Dual-Band AR9300 Rev:4 PCIe Chip

The switch is setup for an accesspoint:
	LAN1: (gigabit) is the wan-port.
	LAN2: (fast ethernet) is bridged with the br-lan.

Flashing Guide (via initramfs):
  1. Connect a PC to the serial port of the C-60.
     power up the C-60.

     Enter u-boot command prompt:
     #> nand erase
     #> setenv bootcmd "bootm 0x9f060000"
     #> saveenv
     #> setenv ipaddr 192.168.1.1
     #> setenv netmask 255.255.255.0
     #> setenv serverip 192.168.1.100
     #> setenv bootfile lede-ar71xx-nand-c-60-initramfs-kernel.bin
     #> tftpboot
     #> bootm

  2. Wait for the C-60 to boot LEDE.
     On the root prompt. Enter:
     # ubiformat /dev/mtd4
     # ubiattach -p /dev/mtd4

  3. After that copy the sysupgrade.tar onto the router and run:
     # sysupgrade sysupgrade.tar

     to flash the image.

Special thanks to Chris Blake <chrisrblake93@gmail.com>. He provided
a C-60 unit and he helped with debugging the switch, LEDs and platfrom
support.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-10-15 11:36:50 +02:00
Christian Lamparter
e9455c561d generic: ar8216: improve ar8xxx_is_possible check
The commit "generic: ar8216: add sanity check to ar8216_probe"
(774da6c7a4) stated that PHY IDs
should be checked at address 0-4. However, the PHY 4 was
never check by the loop. This patch extends the check to be
similar to the Atheors SDK. It tries all 4 ports and skips
unconnected PHYs if necessary. If it cannot find any familiar
PHYs, it will prevent the phy driver from initializing.

This patch is necessary for the C-60. It doesn't have a
PHY at port 3, so this caused the check in ar8xxx_is_possible
to fail. As a result, the ethernet ports on the C-60 didn't
work.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-10-15 11:36:50 +02:00
Henryk Heisig
bcfb535730 ipq806x: C2600: change leds colour name
Signed-off-by: Henryk Heisig hyniu@o2.pl
2016-10-15 11:36:50 +02:00
Henryk Heisig
4bdf615878 ipq806x: add support for indicating the boot and upgrade state using four leds
Signed-off-by: Henryk Heisig hyniu@o2.pl
2016-10-15 11:36:50 +02:00
Mathias Kresin
36afaae847 lantiq: use wpad-mini for WBMR boards
The WBMR boards are the only ones in the whole tree selecting the wpad
and hostapd-utils package by default.

Remove the wps uci-default script as well, there is no obvious reason
why the wps config need to be set only for this board.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
335ccddc10 lantiq: fix ARV452CQW keys
Fix the typo in the gpio-keys-polled compatible string.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
bcfbeae79f ramips: use rfkill for wps button on wlan only boards
All of the touched boards don't have an ethernet port. Allow to use the
wps button on these boards to enable the wireless radio after boot.

The force enabled wireless for the DCH-M225 is removed. It is reckless
to bring up an unencrypted wireless network by default these days.

Using the wps button to bring up the radio seam to me the better
approach.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
0a219c8dfb ramips: use rootfs splitter and new image build code for BR-6475ND
Use the edimax uImage splitter instead of the fixed size rootfs
partition.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
e7ec5df33b ramips: move edimax images to the new build code
Images installed via TFTP recovery or the Edimax webinterface of the
3g-6200n(l) are writting with the edimax header to flash.

Use only one image type for these boards. The migration to the
factory only images need to be done via TFTP recovery.

Use the same start address for the 3g-6200n(l) factory images as the
stock firmware images.

Thanks to Jan Dostrasil for reporting all the issues of the 3g-6200nl
and the patient testing of all changes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
634d690d74 kernel: mtdsplit_uimage: fix Edimax parser
According to the author the code was added to in preparation for adding
support for a new board. The patch for the board was never send and the
code never really tested.

The edimax header starting with the edimax magic is put in front of the
uImage header. There is no special uImage header used. Means, default
magic and the type field is set to kernel as usual.

Signed-off-by: Mathias Kresin <dev@kresin.me>

edimax parser fix
2016-10-15 09:01:45 +02:00
Mathias Kresin
35073d47bb kernel: mtdsplit_uimage: fix rootfs offset
The return value of the find_header function need to be added to the
uimage_size, otherwise mtd_find_rootfs_from() might search for a rootfs
within a custom header and fails.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
6391af2f1f ramips: improve edimax 6200n/nl support
Assign the reset functionality to the wps/reset buttons. Use the wlan
switch of the 6200n to enable/disable wlan.

Add the internet led of the 6200nl and use the led for boot status
indication

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
51bca43f39 ramips: fix edimax 6200nl switch config
With 3a9752bbd2 and later changes to
ramips_set_preinit_iface() the default vlan config applied during
preinit was changed. These changes were made without updating the
default network config to ensure that vlan interfaces used for lan/wan
are still configured.

Fix the issue by using the default all LAN portmap and disabling not
connected switch ports using portdisable device tree parameter.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
bbdf2ac305 ramips: tag the CPU switch port
With de51026515 the explicit tagging of
the CPU port was removed. This leads to a not working default network
config, with vlans enabled but disabled CPU tagging, for boards where
all switch ports are having the same role.

In case the ports are having different roles set, tagging is is set
implicit for the CPU port by ucidef_add_switch().

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Mathias Kresin
b35dd9584e ramips: remove fixed lan/wan interface for switch configs
Don't set the lan/wan interface when using ucidef_add_switch. This
results into a wan interface albeit all ports a annotated as lan ports.

ucidef_add_switch takes care of setting the correct lan/wan interface
according to the annotation of the ports.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-10-15 09:01:45 +02:00
Álvaro Fernández Rojas
611399f1f8 brcm2708: fix image generation with imagebuilder
COPYING is not present in $(LINUX_DIR) on imagebuilder and prevents a
successful image creation.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-10-13 19:01:41 +02:00
Karl Palsson
5d04dcedb4 ar71xx: move dragino2 from legacy to generic
Tested on real hardware with r1804.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-10-13 17:04:38 +02:00
Christian Lamparter
4fc48a8cf2 apm821xx: replace recovery image for the MBL with initramfs
The patch "images: bump default rootfs size to 256 MB"
a1f83bad60 caused a crash
during boot for the recovery images. This is because
both variants of the MyBook Live only have 256MB of RAM
and for the recovery option, the ext4 rootfs was simply
stored in the RAMDISK.

This patch replaces recovery image for the MBL with an
initramfs kernel.

In order to boot the initramfs (for recovery or development):

0. copy the initramfs and device tree into tftp's server directory
   # cp *-initramfs-kernel.bin to /tftp-server/mbl.bin
   # cp *-ext4-kernel.dtb to /tftp-server/fdt.bin

1. Connect the MyBook Live (Duo) serial port.
   (Warning! Use a 3.3v level shifter).

2. Hit Enter during u-boot and insert these three lines:
   # setenv serverip 192.168.1.254; setenv ipaddr 192.168.1.1;
   # tftp ${kernel_addr_r} mbl.bin; tftp ${fdt_addr_r} fdt.bin
   # run addtty addmisc; bootm ${kernel_addr_r} - ${fdt_addr_r}

   Where 192.168.1.254 is your TFTP server.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-10-13 17:04:33 +02:00