mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
12d33d388c
P&W R619AC is a IPQ4019 Dual-Band AC1200 router. It is made by P&W (p2w-tech.com) known as P&W R619AC but marketed and sold more popularly as G-DOCK 2.0. Specification: * SOC: Qualcomm Atheros IPQ4019 (717 MHz) * RAM: 512 MiB * Flash: 16 MiB (NOR) + 128 MiB (NAND) * Ethernet: 5 x 10/100/1000 (4 x LAN, 1 x WAN) * Wireless: - 2.4 GHz b/g/n Qualcomm Atheros IPQ4019 - 5 GHz a/n/ac Qualcomm Atheros IPQ4019 * USB: 1 x USB 3.0 * LED: 4 x LAN, 1 x WAN, 2 x WiFi, 1 x Power (All Blue LED) * Input: 1 x reset * 1 x MicroSD card slot * Serial console: 115200bps, pinheader J2 on PCB * Power: DC 12V 2A * 1 x Unpopulated mPCIe Slot (see below how to connect it) * 1 x Unpopulated Sim Card Slot Installation: 1. Access to tty console via UART serial 2. Enter failsafe mode and mount rootfs <https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset> 3. Edit inittab to enable shell on tty console `sed -i 's/#ttyM/ttyM/' /etc/inittab` 4. Reboot and upload `-nand-factory.bin` to the router (using wget) 5. Use `sysupgrade` command to install Another installation method is to hijack the upgrade server domain of stock firmware, because it's using insecure http. This commit is based on @LGA1150(at GitHub)'s work <a4932c8d5a
> With some changes: 1. Added `qpic_bam` node in dts. I don't know much about this, but I observed other dtses have this node. 2. Removed `ldo` node under `sd_0_pinmux`, because `ldo` cause SD card not working. This fix is from <51143b4c75
> 3. Removed the 32MB NOR variant. 4. Removed `cd-gpios` in `sdhci` node, because it's reported that it makes wlan2g led light up. 5. Added ethphy led config in dts. 6. Changed nand partition label from `rootfs` to `ubi`. About the 128MiB variant: The stock bootloader sets size of nand to 64MiB. But most of this devices have 128MiB nand. If you want to use all 128MiB, you need to modify the `MIBIB` data of bootloader. More details can be found on github: <https://github.com/openwrt/openwrt/pull/3691#issuecomment-818770060> For instructions on how to flash the MIBIB partition from u-boot console: <https://github.com/openwrt/openwrt/pull/3691#issuecomment-819138232> About the Mini PCIe slot: (from "ygleg") "The REFCLK signals on the Mini PCIe slot is not connected on this board out of the box. If you want to use the Mini PCIe slot on the board, you need to (preferably) solder two 0402 resistors: R436 (REFCLK+) and R444 (REFCLK-)..." This and much more information is provoided in the github comment: <https://github.com/openwrt/openwrt/pull/3691#issuecomment-968054670> Signed-off-by: Richard Yu <yurichard3839@gmail.com> Signed-off-by: DENG Qingfang <dqfext@gmail.com> [Added comment about MIBIB+128 MiB variant. Added commit message section about pcie slot. Renamed gpio-leds' subnodes and added color, function+enum properties.] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
142 lines
5.2 KiB
Makefile
142 lines
5.2 KiB
Makefile
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/version.mk
|
|
|
|
PKG_NAME:=ipq-wifi
|
|
PKG_RELEASE:=1
|
|
PKG_FLAGS:=nonshared
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Build/Prepare
|
|
mkdir -p $(PKG_BUILD_DIR)
|
|
endef
|
|
|
|
define Build/Compile
|
|
endef
|
|
|
|
# Use ath10k-bdencoder from https://github.com/qca/qca-swiss-army-knife.git
|
|
# to generate the board-* files here.
|
|
#
|
|
# This is intended to be used on an interim basis until device-specific
|
|
# board data for new devices is available through the upstream compilation
|
|
#
|
|
# Please send a mail with your device-specific board files upstream.
|
|
# You can find instructions and examples on the linux-wireless wiki:
|
|
# <https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles>
|
|
|
|
ALLWIFIBOARDS:= \
|
|
8dev_habanero-dvk \
|
|
aruba_ap-303 \
|
|
avm_fritzrepeater-1200 \
|
|
buffalo_wtr-m2133hp \
|
|
cellc_rtl30vw \
|
|
devolo_magic-2-wifi-next \
|
|
dlink_dap2610 \
|
|
edgecore_ecw5410 \
|
|
edgecore_oap100 \
|
|
engenius_eap2200 \
|
|
engenius_emd1 \
|
|
engenius_emr3500 \
|
|
ezviz_cs-w3-wd1200g-eup \
|
|
glinet_gl-ap1300 \
|
|
glinet_gl-s1300 \
|
|
linksys_ea8300 \
|
|
linksys_mr8300-v0 \
|
|
luma_wrtq-329acn \
|
|
mikrotik_hap-ac2 \
|
|
mikrotik_sxtsq-5-ac \
|
|
mobipromo_cm520-79f \
|
|
nec_wg2600hp3 \
|
|
p2w_r619ac \
|
|
plasmacloud_pa1200 \
|
|
plasmacloud_pa2200 \
|
|
qxwlan_e2600ac
|
|
|
|
ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD))
|
|
|
|
define Package/ipq-wifi-default
|
|
SUBMENU:=ath10k Board-Specific Overrides
|
|
SECTION:=firmware
|
|
CATEGORY:=Firmware
|
|
DEPENDS:=@(TARGET_ipq40xx||TARGET_ipq806x)
|
|
TITLE:=Custom Board
|
|
endef
|
|
|
|
define ipq-wifi-install-one-to
|
|
$(INSTALL_DIR) $(2)/lib/firmware/ath10k/$(3)/
|
|
$(INSTALL_DATA) $(1) $(2)/lib/firmware/ath10k/$(3)/board-2.bin
|
|
endef
|
|
|
|
define ipq-wifi-install-one
|
|
$(if $(filter $(suffix $(1)),.QCA4019 .qca4019),\
|
|
$(call ipq-wifi-install-one-to,$(1),$(2),QCA4019/hw1.0),\
|
|
$(if $(filter $(suffix $(1)),.QCA9888 .qca9888),\
|
|
$(call ipq-wifi-install-one-to,$(1),$(2),QCA9888/hw2.0),\
|
|
$(if $(filter $(suffix $(1)),.QCA9984 .qca9984),\
|
|
$(call ipq-wifi-install-one-to,$(1),$(2),QCA9984/hw1.0),\
|
|
$(error Unrecognized board-file suffix '$(suffix $(1))' for '$(1)')\
|
|
)))
|
|
|
|
endef
|
|
# Blank line required at end of above define due to foreach context
|
|
|
|
define generate-ipq-wifi-package
|
|
define Package/ipq-wifi-$(1)
|
|
$(call Package/ipq-wifi-default)
|
|
TITLE:=board-2.bin Overrides for $(2)
|
|
CONFLICTS:=$(PREV_BOARD)
|
|
endef
|
|
|
|
define Package/ipq-wifi-$(1)/description
|
|
The $(2) requires board-specific, reference ("cal") data
|
|
that is not yet present in the upstream wireless firmware distribution.
|
|
|
|
This package supplies board-2.bin file(s) that, in the interim,
|
|
overwrite those supplied by the ath10k-firmware-* packages.
|
|
|
|
This is package is only necessary for the $(2).
|
|
|
|
Do not install it for any other device!
|
|
endef
|
|
|
|
define Package/ipq-wifi-$(1)/install-overlay
|
|
$$$$(foreach IPQ_WIFI_BOARD_FILE,$$$$(wildcard board-$(1).*),\
|
|
$$$$(call ipq-wifi-install-one,$$$$(IPQ_WIFI_BOARD_FILE),$$(1)))
|
|
endef
|
|
|
|
PREV_BOARD+=ipq-wifi-$(1)
|
|
endef
|
|
|
|
# Add board name to ALLWIFIBOARDS
|
|
# Place files in this directory as board-<devicename>.<qca4019|qca9888|qca9984>
|
|
# Add $(eval $(call generate-ipq-wifi-package,<devicename>,<display name>))
|
|
|
|
$(eval $(call generate-ipq-wifi-package,8dev_habanero-dvk,8devices Habanero DVK))
|
|
$(eval $(call generate-ipq-wifi-package,aruba_ap-303,Aruba AP-303))
|
|
$(eval $(call generate-ipq-wifi-package,avm_fritzrepeater-1200,AVM FRITZRepeater 1200))
|
|
$(eval $(call generate-ipq-wifi-package,buffalo_wtr-m2133hp,Buffalo WTR-M2133HP))
|
|
$(eval $(call generate-ipq-wifi-package,cellc_rtl30vw, Cell C RTL30VW))
|
|
$(eval $(call generate-ipq-wifi-package,devolo_magic-2-wifi-next,devolo Magic 2 WiFi next))
|
|
$(eval $(call generate-ipq-wifi-package,dlink_dap2610,D-Link DAP-2610))
|
|
$(eval $(call generate-ipq-wifi-package,edgecore_ecw5410,Edgecore ECW5410))
|
|
$(eval $(call generate-ipq-wifi-package,edgecore_oap100,Edgecore OAP100))
|
|
$(eval $(call generate-ipq-wifi-package,engenius_eap2200,EnGenius EAP2200))
|
|
$(eval $(call generate-ipq-wifi-package,engenius_emd1,EnGenius EMD1))
|
|
$(eval $(call generate-ipq-wifi-package,engenius_emr3500,EnGenius EMR3500))
|
|
$(eval $(call generate-ipq-wifi-package,ezviz_cs-w3-wd1200g-eup,EZVIZ CS-W3-WD1200G EUP))
|
|
$(eval $(call generate-ipq-wifi-package,glinet_gl-ap1300,GL.iNet GL-AP1300))
|
|
$(eval $(call generate-ipq-wifi-package,glinet_gl-s1300,GL.iNet GL-S1300))
|
|
$(eval $(call generate-ipq-wifi-package,linksys_ea8300,Linksys EA8300))
|
|
$(eval $(call generate-ipq-wifi-package,linksys_mr8300-v0,Linksys MR8300))
|
|
$(eval $(call generate-ipq-wifi-package,luma_wrtq-329acn,Luma WRTQ-329ACN))
|
|
$(eval $(call generate-ipq-wifi-package,mikrotik_hap-ac2,Mikrotik hAP ac2))
|
|
$(eval $(call generate-ipq-wifi-package,mikrotik_sxtsq-5-ac,MikroTik SXTsq 5 ac))
|
|
$(eval $(call generate-ipq-wifi-package,mobipromo_cm520-79f,MobiPromo CM520-79F))
|
|
$(eval $(call generate-ipq-wifi-package,nec_wg2600hp3,NEC Platforms WG2600HP3))
|
|
$(eval $(call generate-ipq-wifi-package,p2w_r619ac,P&W R619AC))
|
|
$(eval $(call generate-ipq-wifi-package,plasmacloud_pa1200,Plasma Cloud PA1200))
|
|
$(eval $(call generate-ipq-wifi-package,plasmacloud_pa2200,Plasma Cloud PA2200))
|
|
$(eval $(call generate-ipq-wifi-package,qxwlan_e2600ac,Qxwlan E2600AC))
|
|
|
|
$(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE))))
|