2021-02-10 13:52:34 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2013-07-12 13:46:27 +00:00
|
|
|
#
|
|
|
|
# Copyright (C) 2013 OpenWrt.org
|
2021-02-10 13:52:34 +00:00
|
|
|
|
2013-07-12 13:46:27 +00:00
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
|
|
|
|
define Image/Prepare
|
|
|
|
rm -f $(KDIR)/fs_mark
|
|
|
|
echo -ne '\xde\xad\xc0\xde' > $(KDIR)/fs_mark
|
|
|
|
$(call prepare_generic_squashfs,$(KDIR)/fs_mark)
|
2014-10-16 20:48:56 +00:00
|
|
|
|
2015-04-21 08:20:00 +00:00
|
|
|
# For UBI we want only one extra block
|
|
|
|
rm -f $(KDIR)/ubi_mark
|
|
|
|
echo -ne '\xde\xad\xc0\xde' > $(KDIR)/ubi_mark
|
2013-07-12 13:46:27 +00:00
|
|
|
endef
|
|
|
|
|
2015-03-25 17:57:44 +00:00
|
|
|
define Build/lzma-d16
|
|
|
|
$(STAGING_DIR_HOST)/bin/lzma e $@ -d16 $(1) $@.new
|
2016-07-14 09:31:26 +00:00
|
|
|
mv $@.new $@
|
2014-10-16 21:33:34 +00:00
|
|
|
endef
|
|
|
|
|
2016-11-19 06:58:26 +00:00
|
|
|
# Similar to Build/tplink-safeloader but uses TRX instead of clean kernel
|
|
|
|
define Build/bcm53xx-tplink-safeloader
|
|
|
|
$(STAGING_DIR_HOST)/bin/trx \
|
|
|
|
-o $@.trx \
|
|
|
|
-m 33554432 \
|
|
|
|
-f $(IMAGE_KERNEL) -a 1024
|
|
|
|
$(STAGING_DIR_HOST)/bin/tplink-safeloader \
|
|
|
|
-B $(TPLINK_BOARD) \
|
|
|
|
-k $@.trx \
|
|
|
|
-r $@ \
|
|
|
|
-j \
|
|
|
|
-o $@.new
|
|
|
|
mv $@.new $@
|
|
|
|
rm $@.trx
|
|
|
|
endef
|
|
|
|
|
2017-01-28 16:05:55 +00:00
|
|
|
define Build/buffalo-wzr-header
|
|
|
|
$(eval product=$(word 1,$(1)))
|
|
|
|
$(eval region=$(word 2,$(1)))
|
|
|
|
( \
|
|
|
|
echo $(product)_$(BUFFALO_TAG_VERSION)_$(BUFFALO_TAG_MINOR)_$(region)_$(BUFFALO_TAG_PLATFORM); \
|
|
|
|
echo filelen=$$(stat -c%s $@); \
|
|
|
|
cat $@ \
|
|
|
|
) > $@.new
|
|
|
|
mv $@.new $@
|
|
|
|
endef
|
|
|
|
|
2017-03-24 17:25:23 +00:00
|
|
|
# TRX with only one (kernel) partition
|
|
|
|
define Build/trx
|
|
|
|
$(STAGING_DIR_HOST)/bin/trx \
|
|
|
|
-o $@.new \
|
|
|
|
-m 33554432 \
|
|
|
|
-f $@
|
|
|
|
mv $@.new $@
|
|
|
|
endef
|
|
|
|
|
2015-04-21 08:42:41 +00:00
|
|
|
define Build/trx-serial
|
2017-11-17 10:43:33 +00:00
|
|
|
$(STAGING_DIR_HOST)/bin/otrx create $@.new \
|
2016-07-30 12:19:11 +00:00
|
|
|
-f $(IMAGE_KERNEL) -a 1024 \
|
2016-07-08 12:22:29 +00:00
|
|
|
-f $@ -a 0x10000 -A $(KDIR)/fs_mark
|
|
|
|
mv $@.new $@
|
2015-04-21 08:42:41 +00:00
|
|
|
endef
|
|
|
|
|
2015-03-25 17:57:44 +00:00
|
|
|
define Build/trx-nand
|
2015-04-21 08:19:53 +00:00
|
|
|
# kernel: always use 4 MiB (-28 B or TRX header) to allow upgrades even
|
|
|
|
# if it grows up between releases
|
2015-04-21 08:20:00 +00:00
|
|
|
# root: UBI with one extra block containing UBI mark to trigger erasing
|
|
|
|
# rest of partition
|
2017-11-17 10:43:33 +00:00
|
|
|
$(STAGING_DIR_HOST)/bin/otrx create $@.new \
|
2016-07-30 12:19:11 +00:00
|
|
|
-f $(IMAGE_KERNEL) -a 0x20000 -b 0x400000 \
|
2016-07-08 12:22:29 +00:00
|
|
|
-f $@ \
|
2015-04-21 08:20:00 +00:00
|
|
|
-A $(KDIR)/ubi_mark -a 0x20000
|
2016-07-08 12:22:29 +00:00
|
|
|
mv $@.new $@
|
2013-07-12 13:46:27 +00:00
|
|
|
endef
|
|
|
|
|
2015-05-27 16:20:06 +00:00
|
|
|
define Build/asus-trx
|
|
|
|
$(STAGING_DIR_HOST)/bin/asustrx \
|
2020-03-02 21:03:09 +00:00
|
|
|
-p $(ASUS_PRODUCTID) -i $@ -o $@.new
|
2015-05-27 16:20:06 +00:00
|
|
|
mv $@.new $@
|
|
|
|
endef
|
|
|
|
|
2020-02-05 17:37:44 +00:00
|
|
|
define Build/luxul-lxl
|
|
|
|
$(STAGING_DIR_HOST)/bin/lxlfw create $@.new \
|
|
|
|
-i $@ \
|
|
|
|
-b $(LUXUL_BOARD)
|
|
|
|
mv $@.new $@
|
|
|
|
endef
|
|
|
|
|
2016-02-01 12:43:04 +00:00
|
|
|
define Build/seama-nand
|
|
|
|
# Seama entity
|
|
|
|
$(STAGING_DIR_HOST)/bin/oseama \
|
|
|
|
entity $@.entity \
|
|
|
|
-m "dev=/dev/mtdblock/7" \
|
|
|
|
-m "type=firmware" \
|
2016-07-30 12:19:11 +00:00
|
|
|
-f $(IMAGE_KERNEL) \
|
2016-02-01 12:43:04 +00:00
|
|
|
-b 0x400000 \
|
2016-07-08 12:22:29 +00:00
|
|
|
-f $@ \
|
2016-02-01 12:43:04 +00:00
|
|
|
-f $(KDIR)/ubi_mark
|
|
|
|
# Seama container
|
|
|
|
$(STAGING_DIR_HOST)/bin/seama \
|
|
|
|
-s $@ \
|
|
|
|
-m "signature=$(SIGNATURE)" \
|
|
|
|
-i $@.entity
|
|
|
|
endef
|
|
|
|
|
2020-03-02 21:03:09 +00:00
|
|
|
DEVICE_VARS += ASUS_PRODUCTID
|
2017-01-28 16:05:55 +00:00
|
|
|
DEVICE_VARS += BUFFALO_TAG_PLATFORM BUFFALO_TAG_VERSION BUFFALO_TAG_MINOR
|
2020-03-02 21:03:09 +00:00
|
|
|
DEVICE_VARS += SIGNATURE
|
|
|
|
DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION TPLINK_BOARD
|
2020-02-05 17:37:44 +00:00
|
|
|
DEVICE_VARS += LUXUL_BOARD
|
2014-10-09 16:36:51 +00:00
|
|
|
|
2020-07-27 10:30:41 +00:00
|
|
|
IEEE8021X := wpad-basic-wolfssl
|
2017-05-22 10:50:53 +00:00
|
|
|
B43 := $(IEEE8021X) kmod-b43
|
|
|
|
BRCMFMAC_43602A1 := $(IEEE8021X) kmod-brcmfmac brcmfmac-firmware-43602a1-pcie
|
|
|
|
BRCMFMAC_4366B1 := $(IEEE8021X) kmod-brcmfmac brcmfmac-firmware-4366b1-pcie
|
2018-12-17 11:50:25 +00:00
|
|
|
BRCMFMAC_4366C0 := $(IEEE8021X) kmod-brcmfmac brcmfmac-firmware-4366c0-pcie
|
2016-10-01 14:22:43 +00:00
|
|
|
USB2_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-phy-bcm-ns-usb2
|
2016-10-19 10:28:52 +00:00
|
|
|
USB2_PACKAGES += kmod-usb-ledtrig-usbport
|
2016-10-01 22:19:58 +00:00
|
|
|
USB3_PACKAGES := $(USB2_PACKAGES) kmod-usb3 kmod-phy-bcm-ns-usb3
|
2016-08-11 09:59:28 +00:00
|
|
|
|
2015-03-25 17:57:44 +00:00
|
|
|
define Device/Default
|
|
|
|
# .dtb files are prefixed by SoC type, e.g. bcm4708- which is not included in device/image names
|
|
|
|
# extract the full dtb name based on the device info
|
2020-08-04 14:02:56 +00:00
|
|
|
DEVICE_DTS := $(patsubst %.dtb,%,$(notdir $(wildcard $(if $(IB),$(KDIR),$(DTS_DIR))/*-$(subst _,-,$(1)).dtb)))
|
2015-03-25 17:57:44 +00:00
|
|
|
KERNEL := kernel-bin | append-dtb | lzma-d16
|
2016-06-17 14:00:17 +00:00
|
|
|
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
|
2017-03-24 17:25:23 +00:00
|
|
|
KERNEL_INITRAMFS_SUFFIX := .trx
|
|
|
|
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma-d16 | trx
|
2015-03-25 17:57:44 +00:00
|
|
|
FILESYSTEMS := squashfs
|
2015-03-26 10:42:36 +00:00
|
|
|
KERNEL_NAME := zImage
|
2021-02-22 14:55:43 +00:00
|
|
|
DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2)
|
2015-03-25 17:57:44 +00:00
|
|
|
IMAGES := trx
|
2016-09-04 06:56:05 +00:00
|
|
|
BLOCKSIZE := 128k
|
2016-07-08 12:22:29 +00:00
|
|
|
PAGESIZE := 2048
|
|
|
|
IMAGE/trx := append-ubi | trx-nand
|
2014-10-09 16:36:05 +00:00
|
|
|
endef
|
|
|
|
|
2015-05-27 16:20:06 +00:00
|
|
|
define Device/asus
|
2020-03-02 21:03:09 +00:00
|
|
|
DEVICE_VENDOR := ASUS
|
2015-05-27 16:20:06 +00:00
|
|
|
IMAGES := trx
|
2016-07-08 12:22:29 +00:00
|
|
|
IMAGE/trx := append-ubi | trx-nand | asus-trx
|
2015-05-27 16:20:06 +00:00
|
|
|
endef
|
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/asus_rt-ac56u
|
2020-03-02 21:03:09 +00:00
|
|
|
$(call Device/asus)
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := RT-AC56U
|
2017-05-22 10:50:53 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES)
|
2020-03-02 21:03:09 +00:00
|
|
|
ASUS_PRODUCTID := RT-AC56U
|
2015-05-27 16:20:06 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += asus_rt-ac56u
|
2015-05-27 16:20:06 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/asus_rt-ac68u
|
2020-03-02 21:03:09 +00:00
|
|
|
$(call Device/asus)
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := RT-AC68U
|
2016-08-11 09:59:28 +00:00
|
|
|
DEVICE_PACKAGES := $(USB3_PACKAGES)
|
2020-03-02 21:03:09 +00:00
|
|
|
ASUS_PRODUCTID := RT-AC68U
|
2015-09-26 22:57:33 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += asus_rt-ac68u
|
2016-08-11 06:59:54 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/asus_rt-ac87u
|
2020-03-02 21:03:09 +00:00
|
|
|
$(call Device/asus)
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := RT-AC87U
|
2016-08-11 09:59:28 +00:00
|
|
|
DEVICE_PACKAGES := $(USB3_PACKAGES)
|
2020-03-02 21:03:09 +00:00
|
|
|
ASUS_PRODUCTID := RT-AC87U
|
2016-08-11 06:59:54 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += asus_rt-ac87u
|
2016-08-11 06:59:54 +00:00
|
|
|
|
2021-11-12 10:56:15 +00:00
|
|
|
define Device/asus_rt-ac88u
|
|
|
|
$(call Device/asus)
|
|
|
|
DEVICE_MODEL := RT-AC88U
|
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_4366C0) $(USB3_PACKAGES)
|
|
|
|
ASUS_PRODUCTID := RT-AC88U
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += asus_rt-ac88u
|
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/asus_rt-n18u
|
2020-03-02 21:03:09 +00:00
|
|
|
$(call Device/asus)
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := RT-N18U
|
2016-08-11 09:59:28 +00:00
|
|
|
DEVICE_PACKAGES := $(USB3_PACKAGES)
|
2020-03-02 21:03:09 +00:00
|
|
|
ASUS_PRODUCTID := RT-N18U
|
2016-08-11 06:59:54 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += asus_rt-n18u
|
2015-09-26 22:57:33 +00:00
|
|
|
|
2017-03-24 17:25:23 +00:00
|
|
|
# Buffalo devices have TFTP recovery mode which can work nicely with initramfs
|
|
|
|
# kernels.
|
|
|
|
# We should have two initramfs images for Buffalo: plain initramfs kernel and
|
|
|
|
# TRX with initramfs kernel. It's not possible right now so let's just build
|
|
|
|
# plain initramfs kernel as it may be more useful.
|
|
|
|
define Device/buffalo/Default
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := Buffalo
|
2017-03-24 17:25:23 +00:00
|
|
|
KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
|
|
|
|
KERNEL_INITRAMFS = $$(KERNEL)
|
|
|
|
endef
|
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/buffalo_wxr-1900dhp
|
2017-03-24 17:25:23 +00:00
|
|
|
$(call Device/buffalo/Default)
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := WXR-1900DHP
|
2016-08-11 10:17:06 +00:00
|
|
|
DEVICE_PACKAGES := $(USB3_PACKAGES)
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += buffalo_wxr-1900dhp
|
2016-08-11 10:17:06 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/buffalo_wzr-600dhp2
|
2017-03-24 17:25:23 +00:00
|
|
|
$(call Device/buffalo/Default)
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := WZR-600DHP2
|
2017-05-22 10:50:53 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB2_PACKAGES)
|
2016-08-11 10:17:06 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += buffalo_wzr-600dhp2
|
2016-08-11 10:17:06 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/buffalo_wzr-900dhp
|
2017-03-24 17:25:23 +00:00
|
|
|
$(call Device/buffalo/Default)
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := WZR-900DHP
|
2017-05-22 10:50:53 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES)
|
2017-01-28 16:05:55 +00:00
|
|
|
BUFFALO_TAG_PLATFORM := bcm
|
|
|
|
BUFFALO_TAG_VERSION := 9.99
|
|
|
|
BUFFALO_TAG_MINOR := 9.99
|
|
|
|
IMAGES += factory-DHP-EU.bin factory-DHP2-JP.bin
|
|
|
|
IMAGE/factory-DHP-EU.bin := \
|
|
|
|
append-ubi | trx-nand | buffalo-wzr-header WZR-900DHP EU | \
|
|
|
|
buffalo-enc WZR-900DHP $$(BUFFALO_TAG_VERSION) | \
|
|
|
|
buffalo-tag-dhp WZR-900DHP EU mlang20 | buffalo-enc-tag | \
|
|
|
|
buffalo-dhp-image
|
|
|
|
IMAGE/factory-DHP2-JP.bin := \
|
|
|
|
append-ubi | trx-nand | buffalo-wzr-header WZR-900DHP2 JP | \
|
|
|
|
buffalo-enc WZR-900DHP2 $$(BUFFALO_TAG_VERSION) | \
|
|
|
|
buffalo-tag-dhp WZR-900DHP2 JP jp | buffalo-enc-tag | \
|
|
|
|
buffalo-dhp-image
|
2016-08-11 10:17:06 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += buffalo_wzr-900dhp
|
2016-08-11 10:17:06 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/buffalo_wzr-1750dhp
|
2017-03-24 17:25:23 +00:00
|
|
|
$(call Device/buffalo/Default)
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := WZR-1750DHP
|
2017-05-22 10:50:53 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES)
|
2016-08-11 10:17:06 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += buffalo_wzr-1750dhp
|
2016-08-11 10:17:06 +00:00
|
|
|
|
2016-02-01 12:43:04 +00:00
|
|
|
define Device/dlink
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := D-Link
|
2016-02-01 12:43:04 +00:00
|
|
|
IMAGES := bin
|
2016-07-08 12:22:29 +00:00
|
|
|
IMAGE/bin := append-ubi | seama-nand
|
2016-02-01 12:43:04 +00:00
|
|
|
endef
|
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/dlink_dir-885l
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := DIR-885L
|
2016-09-13 09:03:02 +00:00
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_4366B1) $(USB3_PACKAGES)
|
2016-08-10 17:23:35 +00:00
|
|
|
$(Device/dlink)
|
|
|
|
SIGNATURE := wrgac42_dlink.2015_dir885l
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += dlink_dir-885l
|
2016-08-10 17:23:35 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/linksys_ea6300-v1
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := EA6300
|
|
|
|
DEVICE_VARIANT := v1
|
2017-05-22 10:50:53 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES)
|
2016-08-11 06:59:54 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += linksys_ea6300-v1
|
2016-08-11 06:59:54 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/linksys_ea6500-v2
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := EA6500
|
|
|
|
DEVICE_VARIANT := v2
|
2017-10-22 00:19:03 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES)
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += linksys_ea6500-v2
|
2017-10-22 00:19:03 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/linksys_ea9200
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := EA9200
|
|
|
|
DEVICE_VARIANT := v1
|
2017-03-12 15:24:13 +00:00
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_43602A1) $(USB3_PACKAGES)
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += linksys_ea9200
|
2017-03-12 15:24:13 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/linksys_ea9500
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := EA9500
|
2017-03-12 15:24:13 +00:00
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_4366C0) $(USB3_PACKAGES)
|
|
|
|
DEVICE_DTS := bcm47094-linksys-panamera
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += linksys_ea9500
|
2017-03-12 15:24:13 +00:00
|
|
|
|
2020-02-05 17:37:44 +00:00
|
|
|
define Device/luxul
|
|
|
|
DEVICE_VENDOR := Luxul
|
|
|
|
IMAGES := lxl
|
|
|
|
IMAGE/lxl := append-ubi | trx-nand | luxul-lxl
|
|
|
|
endef
|
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/luxul_abr-4500
|
2020-02-05 17:37:44 +00:00
|
|
|
$(Device/luxul)
|
|
|
|
DEVICE_MODEL := ABR-4500
|
|
|
|
DEVICE_PACKAGES := $(USB3_PACKAGES)
|
|
|
|
LUXUL_BOARD := ABR-4500
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += luxul_abr-4500
|
2020-02-05 17:37:44 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/luxul_xap-1610
|
2020-04-06 23:14:39 +00:00
|
|
|
$(Device/luxul)
|
|
|
|
DEVICE_MODEL := XAP-1610
|
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_4366C0)
|
|
|
|
IMAGE/lxl := append-rootfs | trx-serial | luxul-lxl
|
|
|
|
LUXUL_BOARD := XAP-1610
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += luxul_xap-1610
|
2020-04-06 23:14:39 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/luxul_xbr-4500
|
2020-02-05 17:37:44 +00:00
|
|
|
$(Device/luxul)
|
|
|
|
DEVICE_MODEL := XBR-4500
|
|
|
|
DEVICE_PACKAGES := $(USB3_PACKAGES)
|
|
|
|
LUXUL_BOARD := XBR-4500
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += luxul_xbr-4500
|
2020-02-05 17:37:44 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/luxul_xwr-3150
|
2020-04-06 23:14:39 +00:00
|
|
|
$(Device/luxul)
|
|
|
|
DEVICE_MODEL := XWR-3150
|
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_4366C0) $(USB3_PACKAGES)
|
|
|
|
DEVICE_DTS := bcm47094-luxul-xwr-3150-v1
|
|
|
|
LUXUL_BOARD := XWR-3150
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += luxul_xwr-3150
|
2020-04-06 23:14:39 +00:00
|
|
|
|
bcm53xx: add support for Meraki MR26
Meraki MR26 is an EOL wireless access point featuring a
PoE ethernet port and two dual-band 3x3 MIMO 802.11n
radios and 1x1 dual-band WIFI dedicated to scanning.
Thank you Amir for the unit and PSU.
Hardware info:
SOC : Broadcom BCM53015A1KFEBG (dual-core Cortex-A9 CPU at 800 MHz)
RAM : SK hynix Inc. H5TQ1G63EFR, 1 Gbit DDR3 SDRAM = 128 MiB
NAND : Spansion S34ML01G100TF100, 1 Gbit SLC NAND Flash = 128 MiB
ETH : 1 GBit Ethernet Port - PoE
WIFI1 : Broadcom BCM43431KMLG, BCM43431 802.11 abgn
WIFI1 : Broadcom BCM43431KMLG, BCM43431 802.11 abgn
WIFI3 : Broadcom BCM43428 abgn (1x1:1 - id: 43428)
BUTTON: one reset button
LEDS : RGB-LED
MISC : Atmel AT24C64 8KiB EEPROM (i2c - seems empty)
: Ti INA219 26V, 12-bit, i2c output current/voltage/power monitor
: TPS23754, High Power/High Efficiency PoE Interface+DC/DC Controller
SERIAL:
WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
The Serial setting is 115200-8-N-1. The board has a populated
right angle 1x4 0.1" pinheader.
The pinout is: VCC (next to J3, has little white arrow), RX, TX, GND.
This flashing procedure for the MR26 was tested with firmware:
"22-143410M-gf25cbf5a-asa".
U-Boot 2012.10-00063-g83f9fe4 (Jun 04 2014 - 21:22:39)
A guide how to open up the device is available on the wiki:
<https://openwrt.org/toh/meraki/mr26>
Notes:
- The WIFI do work to a degree. Limited to 802.11bg in the 2.4GHz band.
- the WIFI macs are made up.
0. Create a separate Ethernet LAN which can't have access to the internet.
Ideally use 192.168.1.2 for your PC. The new OpenWrt firmware will setup
the network via DHCP Discovery, so make sure your PC is running
a DHCP-Server (i.e.: dnsmasq)
'# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50
Download the openwrt-meraki-mr26 initramfs file from openwrt.org and
rename it to something simple like mr26.bin. Then put it into the tftp's
server directory.
1. Disassemble the MR26 device by removing all screws (4 screws are located
under the 4 rubber feets!) and prying open the plastic covers without
breaking the plastic retention clips. Once inside, remove the plastic
back casing. Be careful, there some "hidden" retention clips on both
sides of the LAN port, you need a light to see those. Next, you want to
remove all the screws on the outer metal shielding to get to the PCB.
It's not necessary to remove the antennas!
2. Connect the serial cable to the serial header and Ethernet patch cable
to the device.
4. Before connecting the power, get ready flood the serial console program
with the magic: xyzzy . This is necessary in order to get into the
u-boot prompt. Once Ready: connect power cable.
5. If you don't get the "u-boot>" prompt within the first few seconds,
you have to disconnect and reconnect the power cable and try again.
6. In the u-boot prompt enter:
setenv ipaddr 192.168.1.4
setenv serverip 192.168.1.2
tftpboot ${meraki_loadaddr} mr26.bin; bootm
this will boot a in-ram-only OpenWrt image.
7. Once it booted use sysupgrade to permanently install OpenWrt.
To do this: Download the latest sysupgrade.bin file and move
it to the device. Then use sysupgrade *sysupgrade.bin to install it.
WARNING: DO NOT DELETE the "storage" ubi volume!
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-06-10 20:22:39 +00:00
|
|
|
define Device/meraki_mr26
|
|
|
|
DEVICE_VENDOR := Meraki
|
|
|
|
DEVICE_MODEL := MR26
|
|
|
|
DEVICE_PACKAGES := $(B43) kmod-i2c-bcm-iproc kmod-eeprom-at24 \
|
|
|
|
kmod-hwmon-ina2xx nu801
|
|
|
|
DEVICE_DTS := bcm53015-meraki-mr26
|
|
|
|
# resize the initramfs to fit the size of the existing part.safe.
|
|
|
|
KERNEL_LOADADDR := 0x00008000
|
|
|
|
KERNEL_INITRAMFS_SUFFIX := .bin
|
|
|
|
KERNEL_INITRAMFS := kernel-bin | append-dtb | gzip | uImage gzip | pad-to 9310208
|
|
|
|
# LZMA is not supported by the uboot
|
|
|
|
KERNEL := kernel-bin | append-dtb | gzip | uImage gzip
|
|
|
|
IMAGES += sysupgrade.bin
|
|
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += meraki_mr26
|
|
|
|
|
bcm53xx: add Cisco Meraki MR32
This patch adds support for Cisco Meraki MR32.
The unit was donated by Chris Blake. Thank you!
WARNING:
Only the 1x1:1 abgn Air Marshal WIPS wifi is currently supported by b43:
b43-phy2: Found PHY: Analog 9, Type 4 (N), Revision 16
b43-phy2: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
b43-phy2: Loading firmware version 784.2 (2012-08-15 21:35:19)
and only as 802.11ABG!
while WIFI1 and WIFI2 (both BCM4352) are not:
b43-phy0: Broadcom 4352 WLAN found (core revision 42)
b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 12, Type 11 (AC), Revision 1)
Hardware Highlights:
SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
RAM: 128 MiB
NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
ETH: 1GBit Ethernet Port - PoE
WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
BLE: Broadcom BCM20732 (ttyS1)
LEDS: 1 x Programmable RGB Status LED (driven by a PWM)
1 x White LED (GPIO)
1 x Orange LED Fault Indicator (GPIO)
2 x LAN Activity / Speed LEDs (On the RJ45 Port)
BUTTON: one Reset button
MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC + Serial#!)
ina219 hardware monitor (i2c)
Kensington Lock
SERIAL:
WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
The Serial setting is 115200-8-N-1. The board has a populated
right angle 1x4 0.1" pinheader.
The pinout is: VCC, RX, TX, GND. (Use a multimeter)
Flashing needs a serial adaptor (due to the lack of a working dropbear on
the original firmware).
This flashing procedure for the MR32 was tested with firmware:
"r23-149867:150252-aacharya".
0. Create a seperate Ethernet LAN which does not have access to the internet.
Ideally use 192.168.1.2 for your PC. Make sure to reserve 192.168.1.1 it
will be used later on by the OpenWrt firmware. The original Meraki firmware
will likely try to setup the network via DHCP Discovery, so make sure your
PC is running a DHCP-Server (i.e.: dnsmasq)
'# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50
Furthermore, the PC needs a supported ssh/http/ftp server in order to
retrieve the initramfs + dtb file
1. Disassemble the MR32 device by removing all screws (4 screws are located
under the 4 rubber feets!) and prying open the plastic covers without
breaking the plastic retention clips. Once inside, remove all the screws
on the outer metal shielding to get to the PCB. It's not necessary to
remove the antennas!
2. Connect the serial cable to the serial header.
3. Partially reassemble the outer metal shielding to ensure that the SoC
has a proper heat sink.
4. Connect the Ethernet patch cable to the device and the power cable.
5. Wait for the device to boot and enter the root shell.
(rooting is not discussed in detail here please refer to
Chris Blake - "pwning the meraki mr18" blog post:
<https://servernetworktech.com/2016/02/pwning-the-meraki-mr18/>
(The same method works with the MR32's r23-149867:150252-aacharya)
Wait for the MR32 to enter the "<Meraki>" prompt and enter:
<Meraki> odm serial_num read
(Verify that it matches what's on the S/N Sticker on the back!)
<Meraki> odm serial_num write Q2XX-XXXX-XXXV
<Meraki> odm serial_num read
(Verify that the S/N has changed - and the LED start to flash)
now to flash the firmware:
<Meraki> odm firmware part.safe "http://192.168.1.2/mr32-initramfs.bin"
Once OpenWrt booted use sysupgrade to permanently install
OpenWrt. To do this: Download the latest sysupgrade.bin file
for the MR32 to the device and use sysupgrade *sysupgrade.bin
to install it.
WARNING: DO NOT DELETE the "storage" ubi volume!
To flash later MR32 Firmwares like r25-201804051805-G885d6d78-dhow-rel
requires in-circut-i2c tools to access the I2C EEPROM AT24C64 next to
the SoC. The idea is pretty much the same as from Step 5 from above:
Change the serial number to Q2XXXXXXXXXV (should be around 0x7c), then
attach a serial cable, ethernet (but make sure the device can't reach
the internet!) hit "s" (the small s!) during boot to enter the root-shell
and add the following commands to the /storage/config there:
serial_allow_odm true
serial_access_enabled true
serial_access_check false
valid_config true
and then hit exit to let it finish booting.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-08-29 21:48:00 +00:00
|
|
|
define Device/meraki_mr32
|
2020-12-13 15:14:35 +00:00
|
|
|
DEVICE_VENDOR := Meraki
|
bcm53xx: add Cisco Meraki MR32
This patch adds support for Cisco Meraki MR32.
The unit was donated by Chris Blake. Thank you!
WARNING:
Only the 1x1:1 abgn Air Marshal WIPS wifi is currently supported by b43:
b43-phy2: Found PHY: Analog 9, Type 4 (N), Revision 16
b43-phy2: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
b43-phy2: Loading firmware version 784.2 (2012-08-15 21:35:19)
and only as 802.11ABG!
while WIFI1 and WIFI2 (both BCM4352) are not:
b43-phy0: Broadcom 4352 WLAN found (core revision 42)
b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 12, Type 11 (AC), Revision 1)
Hardware Highlights:
SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
RAM: 128 MiB
NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
ETH: 1GBit Ethernet Port - PoE
WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
BLE: Broadcom BCM20732 (ttyS1)
LEDS: 1 x Programmable RGB Status LED (driven by a PWM)
1 x White LED (GPIO)
1 x Orange LED Fault Indicator (GPIO)
2 x LAN Activity / Speed LEDs (On the RJ45 Port)
BUTTON: one Reset button
MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC + Serial#!)
ina219 hardware monitor (i2c)
Kensington Lock
SERIAL:
WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
The Serial setting is 115200-8-N-1. The board has a populated
right angle 1x4 0.1" pinheader.
The pinout is: VCC, RX, TX, GND. (Use a multimeter)
Flashing needs a serial adaptor (due to the lack of a working dropbear on
the original firmware).
This flashing procedure for the MR32 was tested with firmware:
"r23-149867:150252-aacharya".
0. Create a seperate Ethernet LAN which does not have access to the internet.
Ideally use 192.168.1.2 for your PC. Make sure to reserve 192.168.1.1 it
will be used later on by the OpenWrt firmware. The original Meraki firmware
will likely try to setup the network via DHCP Discovery, so make sure your
PC is running a DHCP-Server (i.e.: dnsmasq)
'# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50
Furthermore, the PC needs a supported ssh/http/ftp server in order to
retrieve the initramfs + dtb file
1. Disassemble the MR32 device by removing all screws (4 screws are located
under the 4 rubber feets!) and prying open the plastic covers without
breaking the plastic retention clips. Once inside, remove all the screws
on the outer metal shielding to get to the PCB. It's not necessary to
remove the antennas!
2. Connect the serial cable to the serial header.
3. Partially reassemble the outer metal shielding to ensure that the SoC
has a proper heat sink.
4. Connect the Ethernet patch cable to the device and the power cable.
5. Wait for the device to boot and enter the root shell.
(rooting is not discussed in detail here please refer to
Chris Blake - "pwning the meraki mr18" blog post:
<https://servernetworktech.com/2016/02/pwning-the-meraki-mr18/>
(The same method works with the MR32's r23-149867:150252-aacharya)
Wait for the MR32 to enter the "<Meraki>" prompt and enter:
<Meraki> odm serial_num read
(Verify that it matches what's on the S/N Sticker on the back!)
<Meraki> odm serial_num write Q2XX-XXXX-XXXV
<Meraki> odm serial_num read
(Verify that the S/N has changed - and the LED start to flash)
now to flash the firmware:
<Meraki> odm firmware part.safe "http://192.168.1.2/mr32-initramfs.bin"
Once OpenWrt booted use sysupgrade to permanently install
OpenWrt. To do this: Download the latest sysupgrade.bin file
for the MR32 to the device and use sysupgrade *sysupgrade.bin
to install it.
WARNING: DO NOT DELETE the "storage" ubi volume!
To flash later MR32 Firmwares like r25-201804051805-G885d6d78-dhow-rel
requires in-circut-i2c tools to access the I2C EEPROM AT24C64 next to
the SoC. The idea is pretty much the same as from Step 5 from above:
Change the serial number to Q2XXXXXXXXXV (should be around 0x7c), then
attach a serial cable, ethernet (but make sure the device can't reach
the internet!) hit "s" (the small s!) during boot to enter the root-shell
and add the following commands to the /storage/config there:
serial_allow_odm true
serial_access_enabled true
serial_access_check false
valid_config true
and then hit exit to let it finish booting.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-08-29 21:48:00 +00:00
|
|
|
DEVICE_MODEL := MR32
|
2020-09-12 20:28:38 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) kmod-i2c-bcm-iproc kmod-eeprom-at24 \
|
bcm53xx: add Cisco Meraki MR32
This patch adds support for Cisco Meraki MR32.
The unit was donated by Chris Blake. Thank you!
WARNING:
Only the 1x1:1 abgn Air Marshal WIPS wifi is currently supported by b43:
b43-phy2: Found PHY: Analog 9, Type 4 (N), Revision 16
b43-phy2: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
b43-phy2: Loading firmware version 784.2 (2012-08-15 21:35:19)
and only as 802.11ABG!
while WIFI1 and WIFI2 (both BCM4352) are not:
b43-phy0: Broadcom 4352 WLAN found (core revision 42)
b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 12, Type 11 (AC), Revision 1)
Hardware Highlights:
SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
RAM: 128 MiB
NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
ETH: 1GBit Ethernet Port - PoE
WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
BLE: Broadcom BCM20732 (ttyS1)
LEDS: 1 x Programmable RGB Status LED (driven by a PWM)
1 x White LED (GPIO)
1 x Orange LED Fault Indicator (GPIO)
2 x LAN Activity / Speed LEDs (On the RJ45 Port)
BUTTON: one Reset button
MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC + Serial#!)
ina219 hardware monitor (i2c)
Kensington Lock
SERIAL:
WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
The Serial setting is 115200-8-N-1. The board has a populated
right angle 1x4 0.1" pinheader.
The pinout is: VCC, RX, TX, GND. (Use a multimeter)
Flashing needs a serial adaptor (due to the lack of a working dropbear on
the original firmware).
This flashing procedure for the MR32 was tested with firmware:
"r23-149867:150252-aacharya".
0. Create a seperate Ethernet LAN which does not have access to the internet.
Ideally use 192.168.1.2 for your PC. Make sure to reserve 192.168.1.1 it
will be used later on by the OpenWrt firmware. The original Meraki firmware
will likely try to setup the network via DHCP Discovery, so make sure your
PC is running a DHCP-Server (i.e.: dnsmasq)
'# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50
Furthermore, the PC needs a supported ssh/http/ftp server in order to
retrieve the initramfs + dtb file
1. Disassemble the MR32 device by removing all screws (4 screws are located
under the 4 rubber feets!) and prying open the plastic covers without
breaking the plastic retention clips. Once inside, remove all the screws
on the outer metal shielding to get to the PCB. It's not necessary to
remove the antennas!
2. Connect the serial cable to the serial header.
3. Partially reassemble the outer metal shielding to ensure that the SoC
has a proper heat sink.
4. Connect the Ethernet patch cable to the device and the power cable.
5. Wait for the device to boot and enter the root shell.
(rooting is not discussed in detail here please refer to
Chris Blake - "pwning the meraki mr18" blog post:
<https://servernetworktech.com/2016/02/pwning-the-meraki-mr18/>
(The same method works with the MR32's r23-149867:150252-aacharya)
Wait for the MR32 to enter the "<Meraki>" prompt and enter:
<Meraki> odm serial_num read
(Verify that it matches what's on the S/N Sticker on the back!)
<Meraki> odm serial_num write Q2XX-XXXX-XXXV
<Meraki> odm serial_num read
(Verify that the S/N has changed - and the LED start to flash)
now to flash the firmware:
<Meraki> odm firmware part.safe "http://192.168.1.2/mr32-initramfs.bin"
Once OpenWrt booted use sysupgrade to permanently install
OpenWrt. To do this: Download the latest sysupgrade.bin file
for the MR32 to the device and use sysupgrade *sysupgrade.bin
to install it.
WARNING: DO NOT DELETE the "storage" ubi volume!
To flash later MR32 Firmwares like r25-201804051805-G885d6d78-dhow-rel
requires in-circut-i2c tools to access the I2C EEPROM AT24C64 next to
the SoC. The idea is pretty much the same as from Step 5 from above:
Change the serial number to Q2XXXXXXXXXV (should be around 0x7c), then
attach a serial cable, ethernet (but make sure the device can't reach
the internet!) hit "s" (the small s!) during boot to enter the root-shell
and add the following commands to the /storage/config there:
serial_allow_odm true
serial_access_enabled true
serial_access_check false
valid_config true
and then hit exit to let it finish booting.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-08-29 21:48:00 +00:00
|
|
|
kmod-leds-pwm kmod-hwmon-ina2xx kmod-bluetooth
|
|
|
|
DEVICE_DTS := bcm53016-meraki-mr32
|
|
|
|
# Meraki FW r23 tries to resize the part.safe partition before it will
|
|
|
|
# flash the image. This is a bit of a problem, since resizing will fail
|
|
|
|
# if the partition is smaller than the old one.
|
|
|
|
KERNEL_LOADADDR := 0x00008000
|
|
|
|
KERNEL_INITRAMFS_SUFFIX := .bin
|
2021-07-19 04:21:44 +00:00
|
|
|
DEVICE_DTS_DELIMITER := @
|
|
|
|
DEVICE_DTS_CONFIG := config@1
|
bcm53xx: add Cisco Meraki MR32
This patch adds support for Cisco Meraki MR32.
The unit was donated by Chris Blake. Thank you!
WARNING:
Only the 1x1:1 abgn Air Marshal WIPS wifi is currently supported by b43:
b43-phy2: Found PHY: Analog 9, Type 4 (N), Revision 16
b43-phy2: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
b43-phy2: Loading firmware version 784.2 (2012-08-15 21:35:19)
and only as 802.11ABG!
while WIFI1 and WIFI2 (both BCM4352) are not:
b43-phy0: Broadcom 4352 WLAN found (core revision 42)
b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 12, Type 11 (AC), Revision 1)
Hardware Highlights:
SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
RAM: 128 MiB
NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
ETH: 1GBit Ethernet Port - PoE
WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
BLE: Broadcom BCM20732 (ttyS1)
LEDS: 1 x Programmable RGB Status LED (driven by a PWM)
1 x White LED (GPIO)
1 x Orange LED Fault Indicator (GPIO)
2 x LAN Activity / Speed LEDs (On the RJ45 Port)
BUTTON: one Reset button
MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC + Serial#!)
ina219 hardware monitor (i2c)
Kensington Lock
SERIAL:
WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
The Serial setting is 115200-8-N-1. The board has a populated
right angle 1x4 0.1" pinheader.
The pinout is: VCC, RX, TX, GND. (Use a multimeter)
Flashing needs a serial adaptor (due to the lack of a working dropbear on
the original firmware).
This flashing procedure for the MR32 was tested with firmware:
"r23-149867:150252-aacharya".
0. Create a seperate Ethernet LAN which does not have access to the internet.
Ideally use 192.168.1.2 for your PC. Make sure to reserve 192.168.1.1 it
will be used later on by the OpenWrt firmware. The original Meraki firmware
will likely try to setup the network via DHCP Discovery, so make sure your
PC is running a DHCP-Server (i.e.: dnsmasq)
'# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50
Furthermore, the PC needs a supported ssh/http/ftp server in order to
retrieve the initramfs + dtb file
1. Disassemble the MR32 device by removing all screws (4 screws are located
under the 4 rubber feets!) and prying open the plastic covers without
breaking the plastic retention clips. Once inside, remove all the screws
on the outer metal shielding to get to the PCB. It's not necessary to
remove the antennas!
2. Connect the serial cable to the serial header.
3. Partially reassemble the outer metal shielding to ensure that the SoC
has a proper heat sink.
4. Connect the Ethernet patch cable to the device and the power cable.
5. Wait for the device to boot and enter the root shell.
(rooting is not discussed in detail here please refer to
Chris Blake - "pwning the meraki mr18" blog post:
<https://servernetworktech.com/2016/02/pwning-the-meraki-mr18/>
(The same method works with the MR32's r23-149867:150252-aacharya)
Wait for the MR32 to enter the "<Meraki>" prompt and enter:
<Meraki> odm serial_num read
(Verify that it matches what's on the S/N Sticker on the back!)
<Meraki> odm serial_num write Q2XX-XXXX-XXXV
<Meraki> odm serial_num read
(Verify that the S/N has changed - and the LED start to flash)
now to flash the firmware:
<Meraki> odm firmware part.safe "http://192.168.1.2/mr32-initramfs.bin"
Once OpenWrt booted use sysupgrade to permanently install
OpenWrt. To do this: Download the latest sysupgrade.bin file
for the MR32 to the device and use sysupgrade *sysupgrade.bin
to install it.
WARNING: DO NOT DELETE the "storage" ubi volume!
To flash later MR32 Firmwares like r25-201804051805-G885d6d78-dhow-rel
requires in-circut-i2c tools to access the I2C EEPROM AT24C64 next to
the SoC. The idea is pretty much the same as from Step 5 from above:
Change the serial number to Q2XXXXXXXXXV (should be around 0x7c), then
attach a serial cable, ethernet (but make sure the device can't reach
the internet!) hit "s" (the small s!) during boot to enter the root-shell
and add the following commands to the /storage/config there:
serial_allow_odm true
serial_access_enabled true
serial_access_check false
valid_config true
and then hit exit to let it finish booting.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-08-29 21:48:00 +00:00
|
|
|
KERNEL_INITRAMFS := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb | \
|
|
|
|
pad-to 10362880
|
|
|
|
KERNEL := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb
|
2021-07-19 04:21:44 +00:00
|
|
|
IMAGES += sysupgrade.bin
|
2021-01-23 21:03:51 +00:00
|
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
bcm53xx: add Cisco Meraki MR32
This patch adds support for Cisco Meraki MR32.
The unit was donated by Chris Blake. Thank you!
WARNING:
Only the 1x1:1 abgn Air Marshal WIPS wifi is currently supported by b43:
b43-phy2: Found PHY: Analog 9, Type 4 (N), Revision 16
b43-phy2: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
b43-phy2: Loading firmware version 784.2 (2012-08-15 21:35:19)
and only as 802.11ABG!
while WIFI1 and WIFI2 (both BCM4352) are not:
b43-phy0: Broadcom 4352 WLAN found (core revision 42)
b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 12, Type 11 (AC), Revision 1)
Hardware Highlights:
SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
RAM: 128 MiB
NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
ETH: 1GBit Ethernet Port - PoE
WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
BLE: Broadcom BCM20732 (ttyS1)
LEDS: 1 x Programmable RGB Status LED (driven by a PWM)
1 x White LED (GPIO)
1 x Orange LED Fault Indicator (GPIO)
2 x LAN Activity / Speed LEDs (On the RJ45 Port)
BUTTON: one Reset button
MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC + Serial#!)
ina219 hardware monitor (i2c)
Kensington Lock
SERIAL:
WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
The Serial setting is 115200-8-N-1. The board has a populated
right angle 1x4 0.1" pinheader.
The pinout is: VCC, RX, TX, GND. (Use a multimeter)
Flashing needs a serial adaptor (due to the lack of a working dropbear on
the original firmware).
This flashing procedure for the MR32 was tested with firmware:
"r23-149867:150252-aacharya".
0. Create a seperate Ethernet LAN which does not have access to the internet.
Ideally use 192.168.1.2 for your PC. Make sure to reserve 192.168.1.1 it
will be used later on by the OpenWrt firmware. The original Meraki firmware
will likely try to setup the network via DHCP Discovery, so make sure your
PC is running a DHCP-Server (i.e.: dnsmasq)
'# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50
Furthermore, the PC needs a supported ssh/http/ftp server in order to
retrieve the initramfs + dtb file
1. Disassemble the MR32 device by removing all screws (4 screws are located
under the 4 rubber feets!) and prying open the plastic covers without
breaking the plastic retention clips. Once inside, remove all the screws
on the outer metal shielding to get to the PCB. It's not necessary to
remove the antennas!
2. Connect the serial cable to the serial header.
3. Partially reassemble the outer metal shielding to ensure that the SoC
has a proper heat sink.
4. Connect the Ethernet patch cable to the device and the power cable.
5. Wait for the device to boot and enter the root shell.
(rooting is not discussed in detail here please refer to
Chris Blake - "pwning the meraki mr18" blog post:
<https://servernetworktech.com/2016/02/pwning-the-meraki-mr18/>
(The same method works with the MR32's r23-149867:150252-aacharya)
Wait for the MR32 to enter the "<Meraki>" prompt and enter:
<Meraki> odm serial_num read
(Verify that it matches what's on the S/N Sticker on the back!)
<Meraki> odm serial_num write Q2XX-XXXX-XXXV
<Meraki> odm serial_num read
(Verify that the S/N has changed - and the LED start to flash)
now to flash the firmware:
<Meraki> odm firmware part.safe "http://192.168.1.2/mr32-initramfs.bin"
Once OpenWrt booted use sysupgrade to permanently install
OpenWrt. To do this: Download the latest sysupgrade.bin file
for the MR32 to the device and use sysupgrade *sysupgrade.bin
to install it.
WARNING: DO NOT DELETE the "storage" ubi volume!
To flash later MR32 Firmwares like r25-201804051805-G885d6d78-dhow-rel
requires in-circut-i2c tools to access the I2C EEPROM AT24C64 next to
the SoC. The idea is pretty much the same as from Step 5 from above:
Change the serial number to Q2XXXXXXXXXV (should be around 0x7c), then
attach a serial cable, ethernet (but make sure the device can't reach
the internet!) hit "s" (the small s!) during boot to enter the root-shell
and add the following commands to the /storage/config there:
serial_allow_odm true
serial_access_enabled true
serial_access_check false
valid_config true
and then hit exit to let it finish booting.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-08-29 21:48:00 +00:00
|
|
|
|
|
|
|
# The loader is specifically looking for fdt@2:
|
|
|
|
# [ 3.190000] find_itb_subimage: error finding fdt@2: FDT_ERR_NOTFOUND
|
|
|
|
# The image won't boot, if it isn't found. :(
|
|
|
|
DEVICE_FDT_NUM := 2
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += meraki_mr32
|
|
|
|
|
2015-03-25 17:57:44 +00:00
|
|
|
define Device/netgear
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := NETGEAR
|
2015-03-25 17:57:44 +00:00
|
|
|
IMAGES := chk
|
2016-07-08 12:22:29 +00:00
|
|
|
IMAGE/chk := append-ubi | trx-nand | netgear-chk
|
2015-08-14 13:03:36 +00:00
|
|
|
NETGEAR_REGION := 1
|
2014-09-22 08:04:26 +00:00
|
|
|
endef
|
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/netgear_r6250
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := R6250
|
2017-05-22 10:50:53 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES)
|
2015-03-25 17:57:44 +00:00
|
|
|
$(Device/netgear)
|
2015-08-14 13:03:36 +00:00
|
|
|
NETGEAR_BOARD_ID := U12H245T00_NETGEAR
|
2015-03-25 17:57:44 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += netgear_r6250
|
2014-10-16 20:48:56 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/netgear_r6300-v2
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := R6300
|
|
|
|
DEVICE_VARIANT := v2
|
2017-05-22 10:50:53 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES)
|
2015-03-25 17:57:44 +00:00
|
|
|
$(Device/netgear)
|
2015-08-14 13:03:36 +00:00
|
|
|
NETGEAR_BOARD_ID := U12H240T00_NETGEAR
|
2013-07-12 13:46:27 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += netgear_r6300-v2
|
2013-07-12 13:46:27 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/netgear_r7000
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := R7000
|
2016-08-11 09:59:28 +00:00
|
|
|
DEVICE_PACKAGES := $(USB3_PACKAGES)
|
2016-08-11 06:59:54 +00:00
|
|
|
$(Device/netgear)
|
|
|
|
NETGEAR_BOARD_ID := U12H270T00_NETGEAR
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += netgear_r7000
|
2016-08-11 06:59:54 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/netgear_r7900
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := R7900
|
2016-09-13 09:03:02 +00:00
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_43602A1) $(USB3_PACKAGES)
|
2016-08-11 05:45:19 +00:00
|
|
|
$(Device/netgear)
|
|
|
|
NETGEAR_BOARD_ID := U12H315T30_NETGEAR
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += netgear_r7900
|
2016-08-11 05:45:19 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/netgear_r8000
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := R8000
|
2016-09-13 09:03:02 +00:00
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_43602A1) $(USB3_PACKAGES)
|
2015-03-25 17:57:44 +00:00
|
|
|
$(Device/netgear)
|
2015-08-14 13:03:36 +00:00
|
|
|
NETGEAR_BOARD_ID := U12H315T00_NETGEAR
|
2014-09-22 08:04:26 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += netgear_r8000
|
2013-07-12 13:46:27 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/netgear_r8500
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := R8500
|
2016-09-13 09:03:02 +00:00
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_4366B1) $(USB3_PACKAGES)
|
2016-08-11 06:27:57 +00:00
|
|
|
$(Device/netgear)
|
|
|
|
NETGEAR_BOARD_ID := U12H334T00_NETGEAR
|
2020-07-28 18:47:33 +00:00
|
|
|
DEFAULT := n
|
2016-08-11 06:27:57 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += netgear_r8500
|
2016-08-11 06:27:57 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/smartrg_sr400ac
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := SmartRG
|
|
|
|
DEVICE_MODEL := SR400ac
|
2016-09-13 09:03:02 +00:00
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_43602A1) $(USB3_PACKAGES)
|
2015-05-13 20:01:15 +00:00
|
|
|
IMAGES := trx
|
2016-07-08 12:22:29 +00:00
|
|
|
IMAGE/trx := append-rootfs | trx-serial
|
2017-10-10 03:50:27 +00:00
|
|
|
KERNEL_INITRAMFS_SUFFIX := .bin
|
|
|
|
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma-d16
|
2015-05-13 20:01:15 +00:00
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += smartrg_sr400ac
|
2015-05-13 20:01:15 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/phicomm_k3
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := PHICOMM
|
|
|
|
DEVICE_MODEL := K3
|
2019-01-19 17:39:19 +00:00
|
|
|
DEVICE_PACKAGES := $(BRCMFMAC_4366C0) $(USB3_PACKAGES)
|
|
|
|
IMAGES := trx
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += phicomm_k3
|
2019-01-19 17:39:19 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/tenda_ac9
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_VENDOR := Tenda
|
|
|
|
DEVICE_MODEL := AC9
|
2017-05-22 10:50:53 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB2_PACKAGES)
|
2016-08-15 07:28:54 +00:00
|
|
|
IMAGES := trx
|
|
|
|
IMAGE/trx := append-rootfs | trx-serial
|
|
|
|
endef
|
2020-08-04 14:02:56 +00:00
|
|
|
TARGET_DEVICES += tenda_ac9
|
2016-08-15 07:28:54 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/tplink_archer-c5-v2
|
2020-12-19 16:43:52 +00:00
|
|
|
DEVICE_VENDOR := TP-Link
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := Archer C5
|
|
|
|
DEVICE_VARIANT := v2
|
2017-05-22 10:50:53 +00:00
|
|
|
DEVICE_PACKAGES := $(B43) $(USB2_PACKAGES)
|
2017-03-11 11:33:53 +00:00
|
|
|
IMAGES := bin
|
|
|
|
IMAGE/bin := append-rootfs | bcm53xx-tplink-safeloader
|
|
|
|
TPLINK_BOARD := ARCHER-C5-V2
|
treewide: mark devices as BROKEN instead of commenting out
This adds the newly introduced BROKEN flag to a bunch of devices
that previously just had TARGET_DEVICES commented out. By this, we
can select them in make menuconfig when BROKEN developer config option
is selected, instead of having to edit the code.
In contrast to DEFAULT := n, this is meant to cover devices that
don't boot or don't compile at all.
ath25: np25g, wpe53g
both disabled during kernel bump 3.18->4.4 without reason given
f89a20a89aeb ("ath25: update kernel from 3.18 to 4.4")
bcm53xx: linksys-ea6300-v1, linksys-ea9200, linksys-ea9500
broken due to insufficient/broken TRX support
55ff15cfd509 ("bcm53xx: disable building Linksys EA6300 V1 image")
cd0f9900a4cd ("bcm53xx: parepare for building more Linksys images")
bcm63xx: tplink-archer-c5-v2, tplink-archer-c9-v1
disabled when kernel 5.4 support was added, probably broken
50c6938b95a0 ("bcm53xx: add v5.4 support")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[limit to subset of devices, use BROKEN, adjust commit message/title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-07-28 18:47:35 +00:00
|
|
|
BROKEN := y
|
2017-03-11 11:33:53 +00:00
|
|
|
endef
|
2021-07-19 04:21:44 +00:00
|
|
|
#TARGET_DEVICES += tplink_archer-c5-v2
|
2017-03-11 11:33:53 +00:00
|
|
|
|
2020-08-04 14:02:56 +00:00
|
|
|
define Device/tplink_archer-c9-v1
|
2020-12-19 16:43:52 +00:00
|
|
|
DEVICE_VENDOR := TP-Link
|
2019-07-10 22:01:32 +00:00
|
|
|
DEVICE_MODEL := Archer C9
|
|
|
|
DEVICE_VARIANT := v1
|
2016-11-19 06:58:26 +00:00
|
|
|
DEVICE_PACKAGES := $(USB3_PACKAGES)
|
|
|
|
IMAGES := bin
|
|
|
|
IMAGE/bin := append-rootfs | bcm53xx-tplink-safeloader
|
|
|
|
TPLINK_BOARD := ARCHERC9
|
treewide: mark devices as BROKEN instead of commenting out
This adds the newly introduced BROKEN flag to a bunch of devices
that previously just had TARGET_DEVICES commented out. By this, we
can select them in make menuconfig when BROKEN developer config option
is selected, instead of having to edit the code.
In contrast to DEFAULT := n, this is meant to cover devices that
don't boot or don't compile at all.
ath25: np25g, wpe53g
both disabled during kernel bump 3.18->4.4 without reason given
f89a20a89aeb ("ath25: update kernel from 3.18 to 4.4")
bcm53xx: linksys-ea6300-v1, linksys-ea9200, linksys-ea9500
broken due to insufficient/broken TRX support
55ff15cfd509 ("bcm53xx: disable building Linksys EA6300 V1 image")
cd0f9900a4cd ("bcm53xx: parepare for building more Linksys images")
bcm63xx: tplink-archer-c5-v2, tplink-archer-c9-v1
disabled when kernel 5.4 support was added, probably broken
50c6938b95a0 ("bcm53xx: add v5.4 support")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[limit to subset of devices, use BROKEN, adjust commit message/title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-07-28 18:47:35 +00:00
|
|
|
BROKEN := y
|
2016-11-19 06:58:26 +00:00
|
|
|
endef
|
2021-07-19 04:21:44 +00:00
|
|
|
#TARGET_DEVICES += tplink_archer-c9-v1
|
2016-11-19 06:58:26 +00:00
|
|
|
|
2013-07-12 13:46:27 +00:00
|
|
|
$(eval $(call BuildImage))
|