diff --git a/openwisp_firmware_upgrader/hardware.py b/openwisp_firmware_upgrader/hardware.py index 41b9e93..f72c668 100644 --- a/openwisp_firmware_upgrader/hardware.py +++ b/openwisp_firmware_upgrader/hardware.py @@ -5,6 +5,8 @@ systems in the future. """ from collections import OrderedDict +from pydoc import importfile +from os import listdir, path from . import settings as app_settings @@ -13,533 +15,23 @@ else: # pragma: no cover OPENWRT_FIRMWARE_IMAGE_MAP = OrderedDict() -OPENWRT_FIRMWARE_IMAGE_MAP.update( - OrderedDict( - ( - ( - 'ar71xx-generic-cf-e320n-v2-squashfs-sysupgrade.bin', - { - 'label': 'COMFAST CF-E320N v2 (OpenWrt 19.07 and earlier)', - 'boards': ('COMFAST CF-E320N v2',), - }, - ), - ( - 'ath79-generic-comfast_cf-e375ac-squashfs-sysupgrade.bin', - { - 'label': 'COMFAST CF-E375AC', - 'boards': ('COMFAST CF-E375AC',), - }, - ), - ( - 'dongwon_dw02-412h-128m-squashfs-sysupgrade.bin', - { - 'label': 'Dongwon T&I DW02-412H (128M) / KT GiGA WiFi home (128M)', - 'boards': ('DW02-412H-128M-NAND',), - }, - ), - ( - 'ipq807x-generic-edgecore_eap102-squashfs-sysupgrade.bin', - { - 'label': 'Edgecore EAP102', - 'boards': ('Edgecore EAP102',), - }, - ), - ( - 'ipq40xx-generic-engenius_eap1300-squashfs-sysupgrade.bin', - { - 'label': 'EnGenius EAP1300', - 'boards': ('EnGenius EAP1300',), - }, - ), - ( - 'ath79-nand-glinet_gl-ar300m-nand-squashfs-sysupgrade.bin', - { - 'label': 'GL.iNet GL-AR300M (NAND)', - 'boards': ('GL.iNet GL-AR300M (NAND)',), - }, - ), - ( - 'ramips-mt76x8-gl-mt300n-v2-squashfs-sysupgrade.bin', - {'label': 'GL.iNet GL-MT300N-V2', 'boards': ('GL-MT300N-V2',)}, - ), - ( - 'mvebu-cortexa9-linksys_wrt1900acs-squashfs-sysupgrade.img', - {'label': 'Linksys WRT1900ACS', 'boards': ('Linksys WRT1900ACS',)}, - ), - ( - 'mvebu-cortexa9-linksys_wrt3200acm-squashfs-sysupgrade.img', - {'label': 'Linksys WRT3200ACM', 'boards': ('Linksys WRT3200ACM',)}, - ), - ( - 'ipq40xx-mikrotik-mikrotik_wap-ac-squashfs-sysupgrade.bin', - {'label': 'MikroTik wAP ac', 'boards': ('MikroTik wAP ac',)}, - ), - ( - 'brcm2708-bcm2709-rpi-2-ext4-sysupgrade.img.gz', - { - 'label': 'Raspberry Pi 2 Model B', - 'boards': ( - 'Raspberry Pi 2 Model B Rev 1.0', - 'Raspberry Pi 2 Model B Rev 1.1', - 'Raspberry Pi 2 Model B Rev 1.2', - ), - }, - ), - ( - 'brcm2708-bcm2710-rpi-3-ext4-sysupgrade.img.gz', - { - 'label': 'Raspberry Pi 3 Model B', - 'boards': ('Raspberry Pi 3 Model B Rev 1.2',), - }, - ), - ( - 'ar71xx-generic-archer-c7-v1-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link Archer C7 v1 (OpenWrt 19.07 and earlier)', - 'boards': ('tplink,archer-c7-v1',), - }, - ), - ( - 'ath79-generic-tplink_archer-c7-v1-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link Archer C7 v1 (OpenWrt 19.07 and later)', - 'boards': ('tplink,archer-c7-v1',), - }, - ), - ( - 'ar71xx-generic-archer-c7-v2-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link Archer C7 v2 (OpenWrt 19.07 and earlier)', - 'boards': ('TP-Link Archer C7 v2', 'TP-Link Archer C7 v3'), - }, - ), - ( - 'ath79-generic-tplink_archer-c7-v2-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link Archer C7 v2 (OpenWrt 19.07 and later)', - 'boards': ('TP-Link Archer C7 v2', 'TP-Link Archer C7 v3'), - }, - ), - ( - 'ar71xx-generic-archer-c7-v4-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link Archer C7 v4 (OpenWrt 19.07 and earlier)', - 'boards': ('TP-Link Archer C7 v4',), - }, - ), - ( - 'ath79-generic-tplink_archer-c7-v4-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link Archer C7 v4 (OpenWrt 19.07 and later)', - 'boards': ('TP-Link Archer C7 v4',), - }, - ), - ( - 'ar71xx-generic-archer-c7-v5-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link Archer C7 v5 (OpenWrt 19.07 and earlier)', - 'boards': ('TP-Link Archer C7 v5',), - }, - ), - ( - 'ath79-generic-tplink_archer-c7-v5-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link Archer C7 v5 (OpenWrt 19.07 and later)', - 'boards': ('TP-Link Archer C7 v5',), - }, - ), - ( - 'ramips-mt76x8-tplink_archer-c50-v4-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link Archer C50 v4', - 'boards': ('TP-Link Archer C50 v4',), - }, - ), - ( - 'ar71xx-generic-cpe210-220-v1-squashfs-sysupgrade.bin', - { - 'label': 'TP-LINK CPE210 v3 (OpenWrt 19.07 and earlier)', - 'boards': ('TP-LINK CPE210 v1', 'TP-LINK CPE220 v1'), - }, - ), - ( - 'ath79-generic-tplink_cpe210-v2-squashfs-sysupgrade.bin', - { - 'label': 'TP-LINK CPE210 v2 (OpenWrt 19.07 and later)', - 'boards': ('TP-LINK CPE210 v2',), - }, - ), - ( - 'ath79-generic-tplink_cpe210-v3-squashfs-sysupgrade.bin', - { - 'label': 'TP-LINK CPE210 v3 (OpenWrt 19.07 and later)', - 'boards': ('TP-LINK CPE210 v3',), - }, - ), - ( - 'ath79-generic-tplink_cpe510-v3-squashfs-sysupgrade.bin', - { - 'label': 'TP-LINK CPE510 v3 (OpenWrt 19.07 and later)', - 'boards': ('TP-LINK CPE510 v3',), - }, - ), - ( - 'ath79-generic-tplink_eap225-outdoor-v3-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link EAP225-Outdoor v3', - 'boards': ('TP-Link EAP225-Outdoor v3',), - }, - ), - ( - 'ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link WDR3600 v1 (OpenWrt 19.07 and earlier)', - 'boards': ('TP-Link TL-WDR3600 v1',), - }, - ), - ( - 'ath79-generic-tplink_tl-wdr3600-v1-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link WDR3600 v1 (OpenWrt 19.07 and later)', - 'boards': ('TP-Link TL-WDR3600 v1',), - }, - ), - ( - 'ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link WDR4300 v1 (OpenWrt 19.07 and earlier)', - 'boards': ('TP-Link TL-WDR4300 v1',), - }, - ), - ( - 'ath79-generic-tplink_tl-wdr4300-v1-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link WDR4300 v1 (OpenWrt 19.07 and later)', - 'boards': ('TP-Link TL-WDR4300 v1',), - }, - ), - ( - 'ar71xx-generic-tl-wdr4300-v1-il-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link WDR4300 v1 Israel Version (OpenWrt 19.07 and earlier)', - 'boards': ('TP-LINK TL-WDR4300 v1 (IL)',), - }, - ), - ( - 'ath79-generic-tplink_tl-wdr4300-v1-il-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link WDR4300 v1 Israel Version (OpenWrt 19.07 and later)', - 'boards': ('TP-LINK TL-WDR4300 v1 (IL)',), - }, - ), - ( - 'ar71xx-generic-tl-wr2543-v1-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link WR2543N/ND (OpenWrt 19.07 and earlier)', - 'boards': ('TP-Link TL-WR2543N/ND',), - }, - ), - ( - 'ath79-generic-tplink_tl-wr2543-v1-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link WR2543N/ND (OpenWrt 19.07 and later)', - 'boards': ('TP-Link TL-WR2543N/ND',), - }, - ), - ( - 'ramips-mt76x8-tplink_tl-wr902ac-v3-squashfs-sysupgrade.bin', - { - 'label': 'TP-Link TL-WR902AC v3', - 'boards': ('TP-Link TL-WR902AC v3',), - }, - ), - ( - 'ar71xx-generic-ubnt-airrouter-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti AirRouter (OpenWrt 19.07 and earlier)', - 'boards': ('Ubiquiti AirRouter',), - }, - ), - ( - 'ath79-generic-ubnt_airrouter-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti AirRouter (OpenWrt 19.07 and later)', - 'boards': ('Ubiquiti AirRouter',), - }, - ), - ( - 'octeon-erlite-squashfs-sysupgrade.tar', - { - 'label': 'Ubiquiti EdgeRouter Lite', - 'boards': ('Ubiquiti EdgeRouter Lite',), - }, - ), - # Nanostation Loco M XW AR71XX - ( - 'ar71xx-generic-ubnt-loco-m-xw-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Nanostation Loco M2 - XW (OpenWrt 19.07 and earlier)', - 'boards': ('Ubiquiti Loco XW',), - }, - ), - # Nanostation Loco M XM ATH79 - ( - 'ath79-generic-ubnt_nanostation-loco-m-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Nanostation Loco M (OpenWrt 19.07 and later)', - 'boards': ('Ubiquiti Nanostation Loco M',), - }, - ), - # Nanostation Loco M XW ATH79 - ( - 'ath79-generic-ubnt_nanostation-loco-m-xw-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Nanostation Loco M - XW (OpenWrt 19.07 and later)', - 'boards': ('Ubiquiti Nanostation Loco M (XW)',), - }, - ), - # Nanostation M XW AR71XX - ( - 'ar71xx-generic-ubnt-nano-m-xw-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Nanostation M - XW (OpenWrt 19.07 and earlier)', - 'boards': ('Ubiquiti Nano M XW',), - }, - ), - # Nanostation M XM AR71XX - ( - 'ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Nanostation M (OpenWrt 19.07 and earlier)', - 'boards': ( - 'Ubiquiti Nano-M', - 'Ubiquiti NanoStation M2', - 'Ubiquiti NanoStation M5', - 'Ubiquiti NanoStation loco M2', - 'Ubiquiti NanoStation loco M5', - ), - }, - ), - # Nanostation M XW ATH79 - ( - 'ath79-generic-ubnt_nanostation-m-xw-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Nanostation M - XW (OpenWrt 19.07 and later)', - 'boards': ( - 'Ubiquiti Nanostation M (XW)', - 'Ubiquiti Nanostation M XW', - ), - }, - ), - # Nanostation M XM ATH79 - ( - 'ath79-generic-ubnt_nanostation-m-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Nanostation M (OpenWrt 19.07 and later)', - 'boards': ('Ubiquiti Nanostation M',), - }, - ), - # Bullet XW AR71XX - ( - 'ar71xx-generic-ubnt-bullet-m-xw-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Picostation Bullet XW (OpenWrt 19.07 and earlier)', - 'boards': ('Ubiquiti Bullet-M XW',), - }, - ), - # Picostation M2HP & Bullet AR71XX - ( - 'ar71xx-generic-ubnt-bullet-m-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Picostation M2HP & Bullet (OpenWrt 19.07 and earlier)', - 'boards': ( - 'Ubiquiti Bullet-M', - 'Ubiquiti PicoStation M2', - 'Ubiquiti PicoStation M2HP', - ), - }, - ), - # Picostation M ATH79 - ( - 'ath79-generic-ubnt_picostation-m-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Picostation M (OpenWrt 19.07 and later)', - 'boards': ('Ubiquiti Picostation M',), - }, - ), - # Ubiquiti Unifi - ( - 'ath79-generic-ubnt_unifi-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti UniFi (OpenWRT 19.07 and later)', - 'boards': ('Ubiquiti UniFi', 'Ubiquiti UniFi AP'), - }, - ), - # Ubiquiti UniFi AC LR ATH79 - ( - 'ath79-generic-ubnt_unifiac-lr-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti UniFi AC LR (OpenWrt 19.07 and later)', - 'boards': ('Ubiquiti UniFi AC LR',), - }, - ), - # Unifi AC Mesh AR71XX - ( - 'ar71xx-generic-ubnt-unifiac-mesh-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Unifi AC Mesh (OpenWrt 19.07 and earlier)', - 'boards': ( - 'Ubiquiti UniFi AC-Mesh', - 'Ubiquiti UniFi-AC-MESH', - 'Ubiquiti UniFi-AC-LITE/MESH', - ), - }, - ), - # Unifi AC Mesh ATH79 - ( - 'ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Unifi AC Mesh (OpenWrt 19.07 and later)', - 'boards': ( - 'Ubiquiti UniFi AC Mesh', - 'Ubiquiti UniFi AC-Mesh', - 'Ubiquiti UniFi-AC-MESH', - 'Ubiquiti UniFi-AC-LITE/MESH', - ), - }, - ), - # Unifi AC Mesh Pro AR71XX - ( - 'ar71xx-generic-ubnt-unifiac-mesh-pro-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Unifi AC Mesh-Pro (OpenWrt 19.07 and earlier)', - 'boards': ('Ubiquiti UniFi AC-Mesh-Pro',), - }, - ), - # Unifi AC Mesh Pro ATH79 - ( - 'ath79-generic-ubnt_unifiac-mesh-pro-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti Unifi AC Mesh-Pro (OpenWrt 19.07 and later)', - 'boards': ('Ubiquiti UniFi AC-Mesh Pro',), - }, - ), - # Unifi AC Pro ATH79 - ( - 'ath79-generic-ubnt_unifiac-pro-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti UniFi AC Pro (OpenWrt 19.07 and later)', - 'boards': ('Ubiquiti UniFi AC Pro', 'Ubiquiti UniFi-AC-PRO'), - }, - ), - # Unifi AP Pro ATH79 - ( - 'ath79-generic-ubnt_unifi-ap-pro-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti UniFi AP Pro (OpenWrt 19.07 and later)', - 'boards': ('Ubiquiti UniFi AP Pro',), - }, - ), - # Unifi AP Pro AR71XX - ( - 'ar71xx-generic-ubnt-uap-pro-squashfs-sysupgrade.bin', - { - 'label': 'Ubiquiti UniFi AP Pro (OpenWrt 19.07 and earlier)', - 'boards': ('Ubiquiti UAP Pro',), - }, - ), - ( - 'ramips-mt7621-yuncore_ax820-squashfs-sysupgrade.bin', - { - 'label': 'YunCore AX820', - 'boards': ('YunCore AX820',), - }, - ), - ( - 'ramips-mt7621-yuncore_g720-squashfs-sysupgrade.bin', - { - 'label': 'YunCore G720', - 'boards': ('YunCore G720',), - }, - ), - ( - 'ar71xx-generic-xd3200-squashfs-sysupgrade.bin', - { - 'label': 'YunCore XD3200 (OpenWrt 19.07 and earlier)', - 'boards': ('YunCore XD3200',), - }, - ), - ( - 'ramips-mt7620-zbtlink_zbt-we1026-5g-16m-squashfs-sysupgrade.bin', - { - 'label': 'Zbtlink ZBT-WE1026-5G (16M)', - 'boards': ('Zbtlink ZBT-WE1026-5G (16M)',), - }, - ), - ( - 'ramips-mt7620-zbtlink_zbt-we826-16m-squashfs-sysupgrade.bin', - { - 'label': 'Zbtlink ZBT-WE826 (16M)', - 'boards': ('Zbtlink ZBT-WE826 (16M)',), - }, - ), - ( - 'ramips-mt7620-zbtlink_zbt-we826-32m-squashfs-sysupgrade.bin', - { - 'label': 'Zbtlink ZBT-WE826 (32M)', - 'boards': ('Zbtlink ZBT-WE826 (32M)',), - }, - ), - ( - 'ramips-mt7621-zbt-wg3526-16M-squashfs-sysupgrade.bin', - { - 'label': 'Zbtlink ZBT-WG3526 (16M)', - 'boards': ('ZBT-WG3526 (16M)', 'Zbtlink ZBT-WG3526 (16M)'), - }, - ), - ( - 'ramips-mt7621-zbt-wg3526-32M-squashfs-sysupgrade.bin', - { - 'label': 'Zbtlink ZBT-WG3526 (32M)', - 'boards': ('ZBT-WG3526 (32M)', 'Zbtlink ZBT-WG3526 (32M)'), - }, - ), - ( - 'x86-64-generic-squashfs-combined.img.gz', - { - 'label': 'Generic x86/64 (QEMU/KVM)', - 'boards': ( - 'x86_64', - 'PC Engines APU2', - 'PC Engines apu2', - 'PC Engines apu6', - ), - }, - ), - ( - 'x86-64-combined-squashfs.img.gz', - { - 'label': 'VMware, Inc. VMware Virtual Platform', - 'boards': ('VMware, Inc. VMware Virtual Platform',), - }, - ), - ( - 'x86-generic-combined-squashfs.img.gz', - { - 'label': 'Generic x86/32 bit', - 'boards': ('x86',), - }, - ), - ( - 'x86-geode-combined-squashfs.img.gz', - { - 'label': 'x86 Geode(TM) Integrated Processor by AMD', - 'boards': ('Geode(TM) Integrated Processor by AMD PCS', 'Alix 2D2'), - }, - ), - ) - ) -) +#load devices from target + +#get array composed of platforms and than iterate down +TARGETSDIR="openwisp_firmware_upgrader/hardware/openwrt" +systems = listdir(TARGETSDIR) +for platform in systems: + name = TARGETSDIR+"/"+platform + if (path.isfile(name) and name[len(name)-3:len(name)] == ".py"): + print(name) + try: + moduleFromFile = importfile(name) + devobj = moduleFromFile.returnData() + print(devobj) + OPENWRT_FIRMWARE_IMAGE_MAP.update(devobj) + except: + print("failed to load "+name) + # OpenWrt only for now, in the future we'll merge # different dictionaries representing different firmwares diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v1.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v1.py new file mode 100644 index 0000000..3996b2a --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v1.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-archer-c7-v1-squashfs-sysupgrade.bin': {'label': 'TP-Link Archer C7 v1 (OpenWrt 19.07 and earlier)', 'boards': ('tplink,archer-c7-v1',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v2.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v2.py new file mode 100644 index 0000000..fd6cf7d --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v2.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-archer-c7-v2-squashfs-sysupgrade.bin': {'label': 'TP-Link Archer C7 v2 (OpenWrt 19.07 and earlier)', 'boards': ('TP-Link Archer C7 v2', 'TP-Link Archer C7 v3')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v4.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v4.py new file mode 100644 index 0000000..103cd79 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v4.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-archer-c7-v4-squashfs-sysupgrade.bin': {'label': 'TP-Link Archer C7 v4 (OpenWrt 19.07 and earlier)', 'boards': ('TP-Link Archer C7 v4',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v5.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v5.py new file mode 100644 index 0000000..21299ad --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-archer-c7-v5.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-archer-c7-v5-squashfs-sysupgrade.bin': {'label': 'TP-Link Archer C7 v5 (OpenWrt 19.07 and earlier)', 'boards': ('TP-Link Archer C7 v5',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-cf-e320n-v2.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-cf-e320n-v2.py new file mode 100644 index 0000000..3d25cc2 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-cf-e320n-v2.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-cf-e320n-v2-squashfs-sysupgrade.bin': {'label': 'COMFAST CF-E320N v2 (OpenWrt 19.07 and earlier)', 'boards': ('COMFAST CF-E320N v2',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-cpe210-220-v1.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-cpe210-220-v1.py new file mode 100644 index 0000000..23240cc --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-cpe210-220-v1.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-cpe210-220-v1-squashfs-sysupgrade.bin': {'label': 'TP-LINK CPE210 v3 (OpenWrt 19.07 and earlier)', 'boards': ('TP-LINK CPE210 v1', 'TP-LINK CPE220 v1')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wdr3600-v1.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wdr3600-v1.py new file mode 100644 index 0000000..287a1b9 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wdr3600-v1.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin': {'label': 'TP-Link WDR3600 v1 (OpenWrt 19.07 and earlier)', 'boards': ('TP-Link TL-WDR3600 v1',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wdr4300-v1-il.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wdr4300-v1-il.py new file mode 100644 index 0000000..b6c88a4 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wdr4300-v1-il.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-tl-wdr4300-v1-il-squashfs-sysupgrade.bin': {'label': 'TP-Link WDR4300 v1 Israel Version (OpenWrt 19.07 and earlier)', 'boards': ('TP-LINK TL-WDR4300 v1 (IL)',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wdr4300-v1.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wdr4300-v1.py new file mode 100644 index 0000000..6b9f89f --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wdr4300-v1.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin': {'label': 'TP-Link WDR4300 v1 (OpenWrt 19.07 and earlier)', 'boards': ('TP-Link TL-WDR4300 v1',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wr2543-v1.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wr2543-v1.py new file mode 100644 index 0000000..404c0c8 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-tl-wr2543-v1.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-tl-wr2543-v1-squashfs-sysupgrade.bin': {'label': 'TP-Link WR2543N/ND (OpenWrt 19.07 and earlier)', 'boards': ('TP-Link TL-WR2543N/ND',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-airrouter.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-airrouter.py new file mode 100644 index 0000000..b023111 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-airrouter.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-ubnt-airrouter-squashfs-sysupgrade.bin': {'label': 'Ubiquiti AirRouter (OpenWrt 19.07 and earlier)', 'boards': ('Ubiquiti AirRouter',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-bullet-m-xw.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-bullet-m-xw.py new file mode 100644 index 0000000..d0df691 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-bullet-m-xw.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-ubnt-bullet-m-xw-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Picostation Bullet XW (OpenWrt 19.07 and earlier)', 'boards': ('Ubiquiti Bullet-M XW',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-bullet-m.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-bullet-m.py new file mode 100644 index 0000000..d9d4ee3 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-bullet-m.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-ubnt-bullet-m-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Picostation M2HP & Bullet (OpenWrt 19.07 and earlier)', 'boards': ('Ubiquiti Bullet-M', 'Ubiquiti PicoStation M2', 'Ubiquiti PicoStation M2HP')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-loco-m-xw.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-loco-m-xw.py new file mode 100644 index 0000000..685d839 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-loco-m-xw.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-ubnt-loco-m-xw-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Nanostation Loco M2 - XW (OpenWrt 19.07 and earlier)', 'boards': ('Ubiquiti Loco XW',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-nano-m-xw.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-nano-m-xw.py new file mode 100644 index 0000000..1e491d4 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-nano-m-xw.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-ubnt-nano-m-xw-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Nanostation M - XW (OpenWrt 19.07 and earlier)', 'boards': ('Ubiquiti Nano M XW',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-nano-m.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-nano-m.py new file mode 100644 index 0000000..a6c34c3 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-nano-m.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Nanostation M (OpenWrt 19.07 and earlier)', 'boards': ('Ubiquiti Nano-M', 'Ubiquiti NanoStation M2', 'Ubiquiti NanoStation M5', 'Ubiquiti NanoStation loco M2', 'Ubiquiti NanoStation loco M5')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-uap-pro.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-uap-pro.py new file mode 100644 index 0000000..83ce77e --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-uap-pro.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-ubnt-uap-pro-squashfs-sysupgrade.bin': {'label': 'Ubiquiti UniFi AP Pro (OpenWrt 19.07 and earlier)', 'boards': ('Ubiquiti UAP Pro',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-unifiac-mesh-pro.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-unifiac-mesh-pro.py new file mode 100644 index 0000000..df7fba1 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-unifiac-mesh-pro.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-ubnt-unifiac-mesh-pro-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Unifi AC Mesh-Pro (OpenWrt 19.07 and earlier)', 'boards': ('Ubiquiti UniFi AC-Mesh-Pro',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-unifiac-mesh.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-unifiac-mesh.py new file mode 100644 index 0000000..9d8180c --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-ubnt-unifiac-mesh.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-ubnt-unifiac-mesh-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Unifi AC Mesh (OpenWrt 19.07 and earlier)', 'boards': ('Ubiquiti UniFi AC-Mesh', 'Ubiquiti UniFi-AC-MESH', 'Ubiquiti UniFi-AC-LITE/MESH')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-xd3200.py b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-xd3200.py new file mode 100644 index 0000000..1715609 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ar71xx-generic-xd3200.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ar71xx-generic-xd3200-squashfs-sysupgrade.bin': {'label': 'YunCore XD3200 (OpenWrt 19.07 and earlier)', 'boards': ('YunCore XD3200',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-comfast_cf-e375ac.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-comfast_cf-e375ac.py new file mode 100644 index 0000000..91e9f0d --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-comfast_cf-e375ac.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-comfast_cf-e375ac-squashfs-sysupgrade.bin': {'label': 'COMFAST CF-E375AC', 'boards': ('COMFAST CF-E375AC',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v1.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v1.py new file mode 100644 index 0000000..a6ece5d --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v1.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_archer-c7-v1-squashfs-sysupgrade.bin': {'label': 'TP-Link Archer C7 v1 (OpenWrt 19.07 and later)', 'boards': ('tplink,archer-c7-v1',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v2.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v2.py new file mode 100644 index 0000000..4dc1673 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v2.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_archer-c7-v2-squashfs-sysupgrade.bin': {'label': 'TP-Link Archer C7 v2 (OpenWrt 19.07 and later)', 'boards': ('TP-Link Archer C7 v2', 'TP-Link Archer C7 v3')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v4.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v4.py new file mode 100644 index 0000000..fe3d69a --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v4.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_archer-c7-v4-squashfs-sysupgrade.bin': {'label': 'TP-Link Archer C7 v4 (OpenWrt 19.07 and later)', 'boards': ('TP-Link Archer C7 v4',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v5.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v5.py new file mode 100644 index 0000000..bbcd70d --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_archer-c7-v5.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_archer-c7-v5-squashfs-sysupgrade.bin': {'label': 'TP-Link Archer C7 v5 (OpenWrt 19.07 and later)', 'boards': ('TP-Link Archer C7 v5',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_cpe210-v2.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_cpe210-v2.py new file mode 100644 index 0000000..fbf4dce --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_cpe210-v2.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_cpe210-v2-squashfs-sysupgrade.bin': {'label': 'TP-LINK CPE210 v2 (OpenWrt 19.07 and later)', 'boards': ('TP-LINK CPE210 v2',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_cpe210-v3.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_cpe210-v3.py new file mode 100644 index 0000000..988d35a --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_cpe210-v3.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_cpe210-v3-squashfs-sysupgrade.bin': {'label': 'TP-LINK CPE210 v3 (OpenWrt 19.07 and later)', 'boards': ('TP-LINK CPE210 v3',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_cpe510-v3.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_cpe510-v3.py new file mode 100644 index 0000000..830f4d1 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_cpe510-v3.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_cpe510-v3-squashfs-sysupgrade.bin': {'label': 'TP-LINK CPE510 v3 (OpenWrt 19.07 and later)', 'boards': ('TP-LINK CPE510 v3',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_eap225-outdoor-v3.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_eap225-outdoor-v3.py new file mode 100644 index 0000000..86b9aff --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_eap225-outdoor-v3.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_eap225-outdoor-v3-squashfs-sysupgrade.bin': {'label': 'TP-Link EAP225-Outdoor v3', 'boards': ('TP-Link EAP225-Outdoor v3',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wdr3600-v1.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wdr3600-v1.py new file mode 100644 index 0000000..b55efe6 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wdr3600-v1.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_tl-wdr3600-v1-squashfs-sysupgrade.bin': {'label': 'TP-Link WDR3600 v1 (OpenWrt 19.07 and later)', 'boards': ('TP-Link TL-WDR3600 v1',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wdr4300-v1-il.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wdr4300-v1-il.py new file mode 100644 index 0000000..ff0c1d8 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wdr4300-v1-il.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_tl-wdr4300-v1-il-squashfs-sysupgrade.bin': {'label': 'TP-Link WDR4300 v1 Israel Version (OpenWrt 19.07 and later)', 'boards': ('TP-LINK TL-WDR4300 v1 (IL)',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wdr4300-v1.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wdr4300-v1.py new file mode 100644 index 0000000..d213850 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wdr4300-v1.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_tl-wdr4300-v1-squashfs-sysupgrade.bin': {'label': 'TP-Link WDR4300 v1 (OpenWrt 19.07 and later)', 'boards': ('TP-Link TL-WDR4300 v1',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wr2543-v1.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wr2543-v1.py new file mode 100644 index 0000000..9485349 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-tplink_tl-wr2543-v1.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-tplink_tl-wr2543-v1-squashfs-sysupgrade.bin': {'label': 'TP-Link WR2543N/ND (OpenWrt 19.07 and later)', 'boards': ('TP-Link TL-WR2543N/ND',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_airrouter.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_airrouter.py new file mode 100644 index 0000000..210aed8 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_airrouter.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_airrouter-squashfs-sysupgrade.bin': {'label': 'Ubiquiti AirRouter (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti AirRouter',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-loco-m-xw.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-loco-m-xw.py new file mode 100644 index 0000000..700b6b1 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-loco-m-xw.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_nanostation-loco-m-xw-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Nanostation Loco M - XW (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti Nanostation Loco M (XW)',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-loco-m.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-loco-m.py new file mode 100644 index 0000000..2b7dcf2 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-loco-m.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_nanostation-loco-m-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Nanostation Loco M (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti Nanostation Loco M',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-m-xw.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-m-xw.py new file mode 100644 index 0000000..a257da9 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-m-xw.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_nanostation-m-xw-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Nanostation M - XW (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti Nanostation M (XW)', 'Ubiquiti Nanostation M XW')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-m.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-m.py new file mode 100644 index 0000000..5534509 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_nanostation-m.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_nanostation-m-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Nanostation M (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti Nanostation M',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_picostation-m.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_picostation-m.py new file mode 100644 index 0000000..4c8bfcb --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_picostation-m.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_picostation-m-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Picostation M (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti Picostation M',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifi-ap-pro.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifi-ap-pro.py new file mode 100644 index 0000000..425aa30 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifi-ap-pro.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_unifi-ap-pro-squashfs-sysupgrade.bin': {'label': 'Ubiquiti UniFi AP Pro (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti UniFi AP Pro',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifi.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifi.py new file mode 100644 index 0000000..850bcd8 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifi.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_unifi-squashfs-sysupgrade.bin': {'label': 'Ubiquiti UniFi (OpenWRT 19.07 and later)', 'boards': ('Ubiquiti UniFi', 'Ubiquiti UniFi AP')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-lr.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-lr.py new file mode 100644 index 0000000..5aa0294 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-lr.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_unifiac-lr-squashfs-sysupgrade.bin': {'label': 'Ubiquiti UniFi AC LR (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti UniFi AC LR',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-mesh-pro.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-mesh-pro.py new file mode 100644 index 0000000..3a56825 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-mesh-pro.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_unifiac-mesh-pro-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Unifi AC Mesh-Pro (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti UniFi AC-Mesh Pro',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-mesh.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-mesh.py new file mode 100644 index 0000000..ba685e0 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-mesh.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin': {'label': 'Ubiquiti Unifi AC Mesh (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti UniFi AC Mesh', 'Ubiquiti UniFi AC-Mesh', 'Ubiquiti UniFi-AC-MESH', 'Ubiquiti UniFi-AC-LITE/MESH')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-pro.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-pro.py new file mode 100644 index 0000000..f2d7f9b --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-generic-ubnt_unifiac-pro.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-generic-ubnt_unifiac-pro-squashfs-sysupgrade.bin': {'label': 'Ubiquiti UniFi AC Pro (OpenWrt 19.07 and later)', 'boards': ('Ubiquiti UniFi AC Pro', 'Ubiquiti UniFi-AC-PRO')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ath79-nand-glinet_gl-ar300m-nand.py b/openwisp_firmware_upgrader/hardware/openwrt/ath79-nand-glinet_gl-ar300m-nand.py new file mode 100644 index 0000000..485176d --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ath79-nand-glinet_gl-ar300m-nand.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ath79-nand-glinet_gl-ar300m-nand-squashfs-sysupgrade.bin': {'label': 'GL.iNet GL-AR300M (NAND)', 'boards': ('GL.iNet GL-AR300M (NAND)',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/brcm2708-bcm2709-rpi-2.py b/openwisp_firmware_upgrader/hardware/openwrt/brcm2708-bcm2709-rpi-2.py new file mode 100644 index 0000000..8d9bcf9 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/brcm2708-bcm2709-rpi-2.py @@ -0,0 +1,2 @@ +def returnData(): + return {'brcm2708-bcm2709-rpi-2-ext4-sysupgrade.img.gz': {'label': 'Raspberry Pi 2 Model B', 'boards': ('Raspberry Pi 2 Model B Rev 1.0', 'Raspberry Pi 2 Model B Rev 1.1', 'Raspberry Pi 2 Model B Rev 1.2')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/brcm2708-bcm2710-rpi-3.py b/openwisp_firmware_upgrader/hardware/openwrt/brcm2708-bcm2710-rpi-3.py new file mode 100644 index 0000000..17b0b40 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/brcm2708-bcm2710-rpi-3.py @@ -0,0 +1,2 @@ +def returnData(): + return {'brcm2708-bcm2710-rpi-3-ext4-sysupgrade.img.gz': {'label': 'Raspberry Pi 3 Model B', 'boards': ('Raspberry Pi 3 Model B Rev 1.2',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/dongwon_dw02-412h-128m.py b/openwisp_firmware_upgrader/hardware/openwrt/dongwon_dw02-412h-128m.py new file mode 100644 index 0000000..77197d1 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/dongwon_dw02-412h-128m.py @@ -0,0 +1,2 @@ +def returnData(): + return {'dongwon_dw02-412h-128m-squashfs-sysupgrade.bin': {'label': 'Dongwon T&I DW02-412H (128M) / KT GiGA WiFi home (128M)', 'boards': ('DW02-412H-128M-NAND',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ipq40xx-generic-engenius_eap1300.py b/openwisp_firmware_upgrader/hardware/openwrt/ipq40xx-generic-engenius_eap1300.py new file mode 100644 index 0000000..9b4bccf --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ipq40xx-generic-engenius_eap1300.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ipq40xx-generic-engenius_eap1300-squashfs-sysupgrade.bin': {'label': 'EnGenius EAP1300', 'boards': ('EnGenius EAP1300',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ipq40xx-mikrotik-mikrotik_wap-ac.py b/openwisp_firmware_upgrader/hardware/openwrt/ipq40xx-mikrotik-mikrotik_wap-ac.py new file mode 100644 index 0000000..eac73d2 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ipq40xx-mikrotik-mikrotik_wap-ac.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ipq40xx-mikrotik-mikrotik_wap-ac-squashfs-sysupgrade.bin': {'label': 'MikroTik wAP ac', 'boards': ('MikroTik wAP ac',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ipq807x-generic-edgecore_eap102.py b/openwisp_firmware_upgrader/hardware/openwrt/ipq807x-generic-edgecore_eap102.py new file mode 100644 index 0000000..9bb227a --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ipq807x-generic-edgecore_eap102.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ipq807x-generic-edgecore_eap102-squashfs-sysupgrade.bin': {'label': 'Edgecore EAP102', 'boards': ('Edgecore EAP102',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/mvebu-cortexa9-linksys_wrt1900acs.py b/openwisp_firmware_upgrader/hardware/openwrt/mvebu-cortexa9-linksys_wrt1900acs.py new file mode 100644 index 0000000..7c30d6d --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/mvebu-cortexa9-linksys_wrt1900acs.py @@ -0,0 +1,2 @@ +def returnData(): + return {'mvebu-cortexa9-linksys_wrt1900acs-squashfs-sysupgrade.img': {'label': 'Linksys WRT1900ACS', 'boards': ('Linksys WRT1900ACS',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/mvebu-cortexa9-linksys_wrt3200acm.py b/openwisp_firmware_upgrader/hardware/openwrt/mvebu-cortexa9-linksys_wrt3200acm.py new file mode 100644 index 0000000..86296c5 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/mvebu-cortexa9-linksys_wrt3200acm.py @@ -0,0 +1,2 @@ +def returnData(): + return {'mvebu-cortexa9-linksys_wrt3200acm-squashfs-sysupgrade.img': {'label': 'Linksys WRT3200ACM', 'boards': ('Linksys WRT3200ACM',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/octeon-erlite.py b/openwisp_firmware_upgrader/hardware/openwrt/octeon-erlite.py new file mode 100644 index 0000000..ceb2bb1 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/octeon-erlite.py @@ -0,0 +1,2 @@ +def returnData(): + return {'octeon-erlite-squashfs-sysupgrade.tar': {'label': 'Ubiquiti EdgeRouter Lite', 'boards': ('Ubiquiti EdgeRouter Lite',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7620-zbtlink_zbt-we1026-5g-16m.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7620-zbtlink_zbt-we1026-5g-16m.py new file mode 100644 index 0000000..3d4dae4 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7620-zbtlink_zbt-we1026-5g-16m.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt7620-zbtlink_zbt-we1026-5g-16m-squashfs-sysupgrade.bin': {'label': 'Zbtlink ZBT-WE1026-5G (16M)', 'boards': ('Zbtlink ZBT-WE1026-5G (16M)',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7620-zbtlink_zbt-we826-16m.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7620-zbtlink_zbt-we826-16m.py new file mode 100644 index 0000000..4a472d2 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7620-zbtlink_zbt-we826-16m.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt7620-zbtlink_zbt-we826-16m-squashfs-sysupgrade.bin': {'label': 'Zbtlink ZBT-WE826 (16M)', 'boards': ('Zbtlink ZBT-WE826 (16M)',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7620-zbtlink_zbt-we826-32m.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7620-zbtlink_zbt-we826-32m.py new file mode 100644 index 0000000..d08a1bb --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7620-zbtlink_zbt-we826-32m.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt7620-zbtlink_zbt-we826-32m-squashfs-sysupgrade.bin': {'label': 'Zbtlink ZBT-WE826 (32M)', 'boards': ('Zbtlink ZBT-WE826 (32M)',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-yuncore_ax820.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-yuncore_ax820.py new file mode 100644 index 0000000..d3cca06 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-yuncore_ax820.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt7621-yuncore_ax820-squashfs-sysupgrade.bin': {'label': 'YunCore AX820', 'boards': ('YunCore AX820',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-yuncore_g720.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-yuncore_g720.py new file mode 100644 index 0000000..5bd559b --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-yuncore_g720.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt7621-yuncore_g720-squashfs-sysupgrade.bin': {'label': 'YunCore G720', 'boards': ('YunCore G720',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-zbt-wg3526-16M.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-zbt-wg3526-16M.py new file mode 100644 index 0000000..4c062e9 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-zbt-wg3526-16M.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt7621-zbt-wg3526-16M-squashfs-sysupgrade.bin': {'label': 'Zbtlink ZBT-WG3526 (16M)', 'boards': ('ZBT-WG3526 (16M)', 'Zbtlink ZBT-WG3526 (16M)')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-zbt-wg3526-32M.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-zbt-wg3526-32M.py new file mode 100644 index 0000000..342852b --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt7621-zbt-wg3526-32M.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt7621-zbt-wg3526-32M-squashfs-sysupgrade.bin': {'label': 'Zbtlink ZBT-WG3526 (32M)', 'boards': ('ZBT-WG3526 (32M)', 'Zbtlink ZBT-WG3526 (32M)')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-gl-mt300n-v2.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-gl-mt300n-v2.py new file mode 100644 index 0000000..4b86d38 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-gl-mt300n-v2.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt76x8-gl-mt300n-v2-squashfs-sysupgrade.bin': {'label': 'GL.iNet GL-MT300N-V2', 'boards': ('GL-MT300N-V2',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-tplink_archer-c50-v4.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-tplink_archer-c50-v4.py new file mode 100644 index 0000000..f5c1956 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-tplink_archer-c50-v4.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt76x8-tplink_archer-c50-v4-squashfs-sysupgrade.bin': {'label': 'TP-Link Archer C50 v4', 'boards': ('TP-Link Archer C50 v4',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-tplink_tl-wr902ac-v3.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-tplink_tl-wr902ac-v3.py new file mode 100644 index 0000000..7039e0b --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-tplink_tl-wr902ac-v3.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt76x8-tplink_tl-wr902ac-v3-squashfs-sysupgrade.bin': {'label': 'TP-Link TL-WR902AC v3', 'boards': ('TP-Link TL-WR902AC v3',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-yuncore_cpe200.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-yuncore_cpe200.py new file mode 100644 index 0000000..488125f --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-yuncore_cpe200.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt76x8-yuncore_cpe200-squashfs-sysupgrade.bin': {'label': 'YunCore CPE200', 'boards': ('Yuncore CPE200',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-yuncore_m300.py b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-yuncore_m300.py new file mode 100644 index 0000000..9d353ce --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/ramips-mt76x8-yuncore_m300.py @@ -0,0 +1,2 @@ +def returnData(): + return {'ramips-mt76x8-yuncore_m300-squashfs-sysupgrade.bin': {'label': 'YunCore M300', 'boards': ('Yuncore M300',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/x86-64-combined.py b/openwisp_firmware_upgrader/hardware/openwrt/x86-64-combined.py new file mode 100644 index 0000000..400b39c --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/x86-64-combined.py @@ -0,0 +1,2 @@ +def returnData(): + return {'x86-64-combined-squashfs.img.gz': {'label': 'VMware, Inc. VMware Virtual Platform', 'boards': ('VMware, Inc. VMware Virtual Platform',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/x86-64-generic.py b/openwisp_firmware_upgrader/hardware/openwrt/x86-64-generic.py new file mode 100644 index 0000000..a7249de --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/x86-64-generic.py @@ -0,0 +1,2 @@ +def returnData(): + return {'x86-64-generic-squashfs-combined.img.gz': {'label': 'Generic x86/64 (QEMU/KVM)', 'boards': ('x86_64', 'PC Engines APU2', 'PC Engines apu2', 'PC Engines apu6')}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/x86-generic-combined.py b/openwisp_firmware_upgrader/hardware/openwrt/x86-generic-combined.py new file mode 100644 index 0000000..55608ba --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/x86-generic-combined.py @@ -0,0 +1,2 @@ +def returnData(): + return {'x86-generic-combined-squashfs.img.gz': {'label': 'Generic x86/32 bit', 'boards': ('x86',)}} diff --git a/openwisp_firmware_upgrader/hardware/openwrt/x86-geode-combined.py b/openwisp_firmware_upgrader/hardware/openwrt/x86-geode-combined.py new file mode 100644 index 0000000..e669360 --- /dev/null +++ b/openwisp_firmware_upgrader/hardware/openwrt/x86-geode-combined.py @@ -0,0 +1,2 @@ +def returnData(): + return {'x86-geode-combined-squashfs.img.gz': {'label': 'x86 Geode(TM) Integrated Processor by AMD', 'boards': ('Geode(TM) Integrated Processor by AMD PCS', 'Alix 2D2')}} diff --git a/openwisp_firmware_upgrader/populatehardware.py b/openwisp_firmware_upgrader/populatehardware.py new file mode 100644 index 0000000..d97f964 --- /dev/null +++ b/openwisp_firmware_upgrader/populatehardware.py @@ -0,0 +1,586 @@ +from collections import OrderedDict +import os +from pydoc import importfile + +dic = OrderedDict( + ( + ( + 'ar71xx-generic-cf-e320n-v2-squashfs-sysupgrade.bin', + { + 'label': 'COMFAST CF-E320N v2 (OpenWrt 19.07 and earlier)', + 'boards': ('COMFAST CF-E320N v2',), + }, + ), + ( + 'ath79-generic-comfast_cf-e375ac-squashfs-sysupgrade.bin', + { + 'label': 'COMFAST CF-E375AC', + 'boards': ('COMFAST CF-E375AC',), + }, + ), + ( + 'dongwon_dw02-412h-128m-squashfs-sysupgrade.bin', + { + 'label': 'Dongwon T&I DW02-412H (128M) / KT GiGA WiFi home (128M)', + 'boards': ('DW02-412H-128M-NAND',), + }, + ), + ( + 'ipq807x-generic-edgecore_eap102-squashfs-sysupgrade.bin', + { + 'label': 'Edgecore EAP102', + 'boards': ('Edgecore EAP102',), + }, + ), + ( + 'ipq40xx-generic-engenius_eap1300-squashfs-sysupgrade.bin', + { + 'label': 'EnGenius EAP1300', + 'boards': ('EnGenius EAP1300',), + }, + ), + ( + 'ath79-nand-glinet_gl-ar300m-nand-squashfs-sysupgrade.bin', + { + 'label': 'GL.iNet GL-AR300M (NAND)', + 'boards': ('GL.iNet GL-AR300M (NAND)',), + }, + ), + ( + 'ramips-mt76x8-gl-mt300n-v2-squashfs-sysupgrade.bin', + {'label': 'GL.iNet GL-MT300N-V2', 'boards': ('GL-MT300N-V2',)}, + ), + ( + 'mvebu-cortexa9-linksys_wrt1900acs-squashfs-sysupgrade.img', + {'label': 'Linksys WRT1900ACS', 'boards': ('Linksys WRT1900ACS',)}, + ), + ( + 'mvebu-cortexa9-linksys_wrt3200acm-squashfs-sysupgrade.img', + {'label': 'Linksys WRT3200ACM', 'boards': ('Linksys WRT3200ACM',)}, + ), + ( + 'ipq40xx-mikrotik-mikrotik_wap-ac-squashfs-sysupgrade.bin', + {'label': 'MikroTik wAP ac', 'boards': ('MikroTik wAP ac',)}, + ), + ( + 'brcm2708-bcm2709-rpi-2-ext4-sysupgrade.img.gz', + { + 'label': 'Raspberry Pi 2 Model B', + 'boards': ( + 'Raspberry Pi 2 Model B Rev 1.0', + 'Raspberry Pi 2 Model B Rev 1.1', + 'Raspberry Pi 2 Model B Rev 1.2', + ), + }, + ), + ( + 'brcm2708-bcm2710-rpi-3-ext4-sysupgrade.img.gz', + { + 'label': 'Raspberry Pi 3 Model B', + 'boards': ('Raspberry Pi 3 Model B Rev 1.2',), + }, + ), + ( + 'ar71xx-generic-archer-c7-v1-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link Archer C7 v1 (OpenWrt 19.07 and earlier)', + 'boards': ('tplink,archer-c7-v1',), + }, + ), + ( + 'ath79-generic-tplink_archer-c7-v1-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link Archer C7 v1 (OpenWrt 19.07 and later)', + 'boards': ('tplink,archer-c7-v1',), + }, + ), + ( + 'ar71xx-generic-archer-c7-v2-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link Archer C7 v2 (OpenWrt 19.07 and earlier)', + 'boards': ('TP-Link Archer C7 v2', 'TP-Link Archer C7 v3'), + }, + ), + ( + 'ath79-generic-tplink_archer-c7-v2-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link Archer C7 v2 (OpenWrt 19.07 and later)', + 'boards': ('TP-Link Archer C7 v2', 'TP-Link Archer C7 v3'), + }, + ), + ( + 'ar71xx-generic-archer-c7-v4-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link Archer C7 v4 (OpenWrt 19.07 and earlier)', + 'boards': ('TP-Link Archer C7 v4',), + }, + ), + ( + 'ath79-generic-tplink_archer-c7-v4-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link Archer C7 v4 (OpenWrt 19.07 and later)', + 'boards': ('TP-Link Archer C7 v4',), + }, + ), + ( + 'ar71xx-generic-archer-c7-v5-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link Archer C7 v5 (OpenWrt 19.07 and earlier)', + 'boards': ('TP-Link Archer C7 v5',), + }, + ), + ( + 'ath79-generic-tplink_archer-c7-v5-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link Archer C7 v5 (OpenWrt 19.07 and later)', + 'boards': ('TP-Link Archer C7 v5',), + }, + ), + ( + 'ramips-mt76x8-tplink_archer-c50-v4-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link Archer C50 v4', + 'boards': ('TP-Link Archer C50 v4',), + }, + ), + ( + 'ar71xx-generic-cpe210-220-v1-squashfs-sysupgrade.bin', + { + 'label': 'TP-LINK CPE210 v3 (OpenWrt 19.07 and earlier)', + 'boards': ('TP-LINK CPE210 v1', 'TP-LINK CPE220 v1'), + }, + ), + ( + 'ath79-generic-tplink_cpe210-v2-squashfs-sysupgrade.bin', + { + 'label': 'TP-LINK CPE210 v2 (OpenWrt 19.07 and later)', + 'boards': ('TP-LINK CPE210 v2',), + }, + ), + ( + 'ath79-generic-tplink_cpe210-v3-squashfs-sysupgrade.bin', + { + 'label': 'TP-LINK CPE210 v3 (OpenWrt 19.07 and later)', + 'boards': ('TP-LINK CPE210 v3',), + }, + ), + ( + 'ath79-generic-tplink_cpe510-v3-squashfs-sysupgrade.bin', + { + 'label': 'TP-LINK CPE510 v3 (OpenWrt 19.07 and later)', + 'boards': ('TP-LINK CPE510 v3',), + }, + ), + ( + 'ath79-generic-tplink_eap225-outdoor-v3-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link EAP225-Outdoor v3', + 'boards': ('TP-Link EAP225-Outdoor v3',), + }, + ), + ( + 'ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link WDR3600 v1 (OpenWrt 19.07 and earlier)', + 'boards': ('TP-Link TL-WDR3600 v1',), + }, + ), + ( + 'ath79-generic-tplink_tl-wdr3600-v1-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link WDR3600 v1 (OpenWrt 19.07 and later)', + 'boards': ('TP-Link TL-WDR3600 v1',), + }, + ), + ( + 'ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link WDR4300 v1 (OpenWrt 19.07 and earlier)', + 'boards': ('TP-Link TL-WDR4300 v1',), + }, + ), + ( + 'ath79-generic-tplink_tl-wdr4300-v1-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link WDR4300 v1 (OpenWrt 19.07 and later)', + 'boards': ('TP-Link TL-WDR4300 v1',), + }, + ), + ( + 'ar71xx-generic-tl-wdr4300-v1-il-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link WDR4300 v1 Israel Version (OpenWrt 19.07 and earlier)', + 'boards': ('TP-LINK TL-WDR4300 v1 (IL)',), + }, + ), + ( + 'ath79-generic-tplink_tl-wdr4300-v1-il-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link WDR4300 v1 Israel Version (OpenWrt 19.07 and later)', + 'boards': ('TP-LINK TL-WDR4300 v1 (IL)',), + }, + ), + ( + 'ar71xx-generic-tl-wr2543-v1-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link WR2543N/ND (OpenWrt 19.07 and earlier)', + 'boards': ('TP-Link TL-WR2543N/ND',), + }, + ), + ( + 'ath79-generic-tplink_tl-wr2543-v1-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link WR2543N/ND (OpenWrt 19.07 and later)', + 'boards': ('TP-Link TL-WR2543N/ND',), + }, + ), + ( + 'ramips-mt76x8-tplink_tl-wr902ac-v3-squashfs-sysupgrade.bin', + { + 'label': 'TP-Link TL-WR902AC v3', + 'boards': ('TP-Link TL-WR902AC v3',), + }, + ), + ( + 'ar71xx-generic-ubnt-airrouter-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti AirRouter (OpenWrt 19.07 and earlier)', + 'boards': ('Ubiquiti AirRouter',), + }, + ), + ( + 'ath79-generic-ubnt_airrouter-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti AirRouter (OpenWrt 19.07 and later)', + 'boards': ('Ubiquiti AirRouter',), + }, + ), + ( + 'octeon-erlite-squashfs-sysupgrade.tar', + { + 'label': 'Ubiquiti EdgeRouter Lite', + 'boards': ('Ubiquiti EdgeRouter Lite',), + }, + ), + # Nanostation Loco M XW AR71XX + ( + 'ar71xx-generic-ubnt-loco-m-xw-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Nanostation Loco M2 - XW (OpenWrt 19.07 and earlier)', + 'boards': ('Ubiquiti Loco XW',), + }, + ), + # Nanostation Loco M XM ATH79 + ( + 'ath79-generic-ubnt_nanostation-loco-m-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Nanostation Loco M (OpenWrt 19.07 and later)', + 'boards': ('Ubiquiti Nanostation Loco M',), + }, + ), + # Nanostation Loco M XW ATH79 + ( + 'ath79-generic-ubnt_nanostation-loco-m-xw-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Nanostation Loco M - XW (OpenWrt 19.07 and later)', + 'boards': ('Ubiquiti Nanostation Loco M (XW)',), + }, + ), + # Nanostation M XW AR71XX + ( + 'ar71xx-generic-ubnt-nano-m-xw-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Nanostation M - XW (OpenWrt 19.07 and earlier)', + 'boards': ('Ubiquiti Nano M XW',), + }, + ), + # Nanostation M XM AR71XX + ( + 'ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Nanostation M (OpenWrt 19.07 and earlier)', + 'boards': ( + 'Ubiquiti Nano-M', + 'Ubiquiti NanoStation M2', + 'Ubiquiti NanoStation M5', + 'Ubiquiti NanoStation loco M2', + 'Ubiquiti NanoStation loco M5', + ), + }, + ), + # Nanostation M XW ATH79 + ( + 'ath79-generic-ubnt_nanostation-m-xw-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Nanostation M - XW (OpenWrt 19.07 and later)', + 'boards': ( + 'Ubiquiti Nanostation M (XW)', + 'Ubiquiti Nanostation M XW', + ), + }, + ), + # Nanostation M XM ATH79 + ( + 'ath79-generic-ubnt_nanostation-m-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Nanostation M (OpenWrt 19.07 and later)', + 'boards': ('Ubiquiti Nanostation M',), + }, + ), + # Bullet XW AR71XX + ( + 'ar71xx-generic-ubnt-bullet-m-xw-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Picostation Bullet XW (OpenWrt 19.07 and earlier)', + 'boards': ('Ubiquiti Bullet-M XW',), + }, + ), + # Picostation M2HP & Bullet AR71XX + ( + 'ar71xx-generic-ubnt-bullet-m-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Picostation M2HP & Bullet (OpenWrt 19.07 and earlier)', + 'boards': ( + 'Ubiquiti Bullet-M', + 'Ubiquiti PicoStation M2', + 'Ubiquiti PicoStation M2HP', + ), + }, + ), + # Picostation M ATH79 + ( + 'ath79-generic-ubnt_picostation-m-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Picostation M (OpenWrt 19.07 and later)', + 'boards': ('Ubiquiti Picostation M',), + }, + ), + # Ubiquiti Unifi + ( + 'ath79-generic-ubnt_unifi-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti UniFi (OpenWRT 19.07 and later)', + 'boards': ('Ubiquiti UniFi', 'Ubiquiti UniFi AP'), + }, + ), + # Ubiquiti UniFi AC LR ATH79 + ( + 'ath79-generic-ubnt_unifiac-lr-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti UniFi AC LR (OpenWrt 19.07 and later)', + 'boards': ('Ubiquiti UniFi AC LR',), + }, + ), + # Unifi AC Mesh AR71XX + ( + 'ar71xx-generic-ubnt-unifiac-mesh-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Unifi AC Mesh (OpenWrt 19.07 and earlier)', + 'boards': ( + 'Ubiquiti UniFi AC-Mesh', + 'Ubiquiti UniFi-AC-MESH', + 'Ubiquiti UniFi-AC-LITE/MESH', + ), + }, + ), + # Unifi AC Mesh ATH79 + ( + 'ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Unifi AC Mesh (OpenWrt 19.07 and later)', + 'boards': ( + 'Ubiquiti UniFi AC Mesh', + 'Ubiquiti UniFi AC-Mesh', + 'Ubiquiti UniFi-AC-MESH', + 'Ubiquiti UniFi-AC-LITE/MESH', + ), + }, + ), + # Unifi AC Mesh Pro AR71XX + ( + 'ar71xx-generic-ubnt-unifiac-mesh-pro-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Unifi AC Mesh-Pro (OpenWrt 19.07 and earlier)', + 'boards': ('Ubiquiti UniFi AC-Mesh-Pro',), + }, + ), + # Unifi AC Mesh Pro ATH79 + ( + 'ath79-generic-ubnt_unifiac-mesh-pro-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti Unifi AC Mesh-Pro (OpenWrt 19.07 and later)', + 'boards': ('Ubiquiti UniFi AC-Mesh Pro',), + }, + ), + # Unifi AC Pro ATH79 + ( + 'ath79-generic-ubnt_unifiac-pro-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti UniFi AC Pro (OpenWrt 19.07 and later)', + 'boards': ('Ubiquiti UniFi AC Pro', 'Ubiquiti UniFi-AC-PRO'), + }, + ), + # Unifi AP Pro ATH79 + ( + 'ath79-generic-ubnt_unifi-ap-pro-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti UniFi AP Pro (OpenWrt 19.07 and later)', + 'boards': ('Ubiquiti UniFi AP Pro',), + }, + ), + # Unifi AP Pro AR71XX + ( + 'ar71xx-generic-ubnt-uap-pro-squashfs-sysupgrade.bin', + { + 'label': 'Ubiquiti UniFi AP Pro (OpenWrt 19.07 and earlier)', + 'boards': ('Ubiquiti UAP Pro',), + }, + ), + ( + 'ramips-mt7621-yuncore_ax820-squashfs-sysupgrade.bin', + { + 'label': 'YunCore AX820', + 'boards': ('YunCore AX820',), + }, + ), + ( + 'ramips-mt76x8-yuncore_cpe200-squashfs-sysupgrade.bin', + { + 'label': 'YunCore CPE200', + 'boards': ('Yuncore CPE200',), + }, + ), + ( + 'ramips-mt7621-yuncore_g720-squashfs-sysupgrade.bin', + { + 'label': 'YunCore G720', + 'boards': ('YunCore G720',), + }, + ), + ( + 'ramips-mt76x8-yuncore_m300-squashfs-sysupgrade.bin', + { + 'label': 'YunCore M300', + 'boards': ('Yuncore M300',), + }, + ), + ( + 'ar71xx-generic-xd3200-squashfs-sysupgrade.bin', + { + 'label': 'YunCore XD3200 (OpenWrt 19.07 and earlier)', + 'boards': ('YunCore XD3200',), + }, + ), + ( + 'ramips-mt7620-zbtlink_zbt-we1026-5g-16m-squashfs-sysupgrade.bin', + { + 'label': 'Zbtlink ZBT-WE1026-5G (16M)', + 'boards': ('Zbtlink ZBT-WE1026-5G (16M)',), + }, + ), + ( + 'ramips-mt7620-zbtlink_zbt-we826-16m-squashfs-sysupgrade.bin', + { + 'label': 'Zbtlink ZBT-WE826 (16M)', + 'boards': ('Zbtlink ZBT-WE826 (16M)',), + }, + ), + ( + 'ramips-mt7620-zbtlink_zbt-we826-32m-squashfs-sysupgrade.bin', + { + 'label': 'Zbtlink ZBT-WE826 (32M)', + 'boards': ('Zbtlink ZBT-WE826 (32M)',), + }, + ), + ( + 'ramips-mt7621-zbt-wg3526-16M-squashfs-sysupgrade.bin', + { + 'label': 'Zbtlink ZBT-WG3526 (16M)', + 'boards': ('ZBT-WG3526 (16M)', 'Zbtlink ZBT-WG3526 (16M)'), + }, + ), + ( + 'ramips-mt7621-zbt-wg3526-32M-squashfs-sysupgrade.bin', + { + 'label': 'Zbtlink ZBT-WG3526 (32M)', + 'boards': ('ZBT-WG3526 (32M)', 'Zbtlink ZBT-WG3526 (32M)'), + }, + ), + ( + 'x86-64-generic-squashfs-combined.img.gz', + { + 'label': 'Generic x86/64 (QEMU/KVM)', + 'boards': ( + 'x86_64', + 'PC Engines APU2', + 'PC Engines apu2', + 'PC Engines apu6', + ), + }, + ), + ( + 'x86-64-combined-squashfs.img.gz', + { + 'label': 'VMware, Inc. VMware Virtual Platform', + 'boards': ('VMware, Inc. VMware Virtual Platform',), + }, + ), + ( + 'x86-generic-combined-squashfs.img.gz', + { + 'label': 'Generic x86/32 bit', + 'boards': ('x86',), + }, + ), + ( + 'x86-geode-combined-squashfs.img.gz', + { + 'label': 'x86 Geode(TM) Integrated Processor by AMD', + 'boards': ('Geode(TM) Integrated Processor by AMD PCS', 'Alix 2D2'), + }, + ), + ) +) + +#targets +if not os.path.isdir('hardware'): + os.makedirs("hardware") + +#openwrt +if not os.path.isdir('hardware/openwrt'): + os.makedirs("hardware/openwrt") + +#targets/subdirectories +for key, value in dic.items(): + + #create object that holds data for this + devobj = {} + devobj[key] = value + + name = "" + for e in key.split("-"): + print("\t "+e) + if not ("squashfs" in e or "ext4" in e): + name+=e+"-" + else: + break + name = name[0:len(name)-1] #remove last - + + print("starting "+ name) + + #load existing json if it exists + if os.path.isfile("hardware/openwrt/"+name+".py"): + print("reading in existing "+"hardware/openwrt/"+name+".py") + moduleFromFile = importfile("hardware/openwrt/"+name+".py") + print("merging") + devobj.update(moduleFromFile.returnData()) + + #write out + print("writing py") + with open('hardware/openwrt/'+name+".py", "w", encoding="utf-8") as file: + file.write(f'def returnData():\n return {str(devobj)}\n') + + + + +