diff options
author | Piotr Dymacz <pepe2k@gmail.com> | 2020-08-19 15:10:04 +0200 |
---|---|---|
committer | Piotr Dymacz <pepe2k@gmail.com> | 2020-09-28 01:28:37 +0200 |
commit | b33ce8c5355eec61663ce0ac789118f82041045f (patch) | |
tree | 7b6b797569a90384aa6a5a1accff586234059199 /target/linux/ath79 | |
parent | a2f3a586073a0d3bc3a3e16fcd67ca099cf00eab (diff) | |
download | upstream-b33ce8c5355eec61663ce0ac789118f82041045f.tar.gz upstream-b33ce8c5355eec61663ce0ac789118f82041045f.tar.bz2 upstream-b33ce8c5355eec61663ce0ac789118f82041045f.zip |
ath79: add support for Hak5 Packet Squirrel
Hak5 Packet Squirrel is a pocket-sized device dedicated for pentesters
(MITM attacks). This device is based on Atheros AR9331 but it lacks
WiFi. Support for it was first introduced in 950b278c81 (ar71xx).
Specifications:
- Atheros AR9331
- 400/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of flash (SPI NOR)
- 2x RJ45 10/100 Mbps Ethernet (AR9331)
- 1x USB 2.0
- 1x RGB LED, 1x button, 1x 4-way mechanical switch
- 1x Micro USB Type-B for main power input
Flash instruction:
You can use sysupgrade image directly in vendor firmware which is based
on OpenWrt/LEDE.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Diffstat (limited to 'target/linux/ath79')
-rw-r--r-- | target/linux/ath79/dts/ar9331_hak5_lan-turtle.dts | 96 | ||||
-rw-r--r-- | target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi | 102 | ||||
-rw-r--r-- | target/linux/ath79/dts/ar9331_hak5_packet-squirrel.dts | 64 | ||||
-rwxr-xr-x | target/linux/ath79/generic/base-files/etc/board.d/02_network | 3 | ||||
-rw-r--r-- | target/linux/ath79/image/generic.mk | 13 |
5 files changed, 182 insertions, 96 deletions
diff --git a/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dts b/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dts index e6f083482f..8b9ece07ef 100644 --- a/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dts +++ b/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dts @@ -1,9 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -#include "ar9331.dtsi" - -#include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/input/input.h> +#include "ar9331_hak5_lan-turtle.dtsi" / { model = "Hak5 LAN Turtle"; @@ -13,21 +10,6 @@ led-boot = &led_system; led-failsafe = &led_system; led-upgrade = &led_system; - serial0 = &uart; - }; - - keys { - compatible = "gpio-keys"; - - pinctrl-names = "default"; - pinctrl-0 = <&enable_gpio11>; - - reset { - label = "reset"; - linux,code = <KEY_RESTART>; - gpios = <&gpio 11 GPIO_ACTIVE_LOW>; - debounce-interval = <60>; - }; }; leds { @@ -42,79 +24,3 @@ }; }; }; - -ð0 { - status = "okay"; - - mtd-mac-address = <&uboot 0x1fc00>; - mtd-mac-address-increment = <(-1)>; - - gmac-config { - device = <&gmac>; - - switch-phy-addr-swap = <1>; - switch-phy-swap = <1>; - }; -}; - -ð1 { - status = "okay"; - - mtd-mac-address = <&uboot 0x1fc00>; - mtd-mac-address-increment = <1>; -}; - -&pinmux { - enable_gpio11: pinmux_enable_gpio11 { - pinctrl-single,bits = <0x0 0x0 0x4>; - }; -}; - -&spi { - status = "okay"; - - num-cs = <1>; - - flash@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <50000000>; - m25p,fast-read; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - uboot: partition@0 { - label = "u-boot"; - reg = <0x000000 0x020000>; - read-only; - }; - - partition@20000 { - label = "firmware"; - reg = <0x020000 0xfd0000>; - compatible = "tplink,firmware"; - }; - - partition@ff0000 { - label = "art"; - reg = <0xff0000 0x010000>; - read-only; - }; - }; - }; -}; - -&uart { - status = "okay"; -}; - -&usb { - status = "okay"; -}; - -&usb_phy { - status = "okay"; -}; diff --git a/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi b/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi new file mode 100644 index 0000000000..c5770a7512 --- /dev/null +++ b/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi @@ -0,0 +1,102 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9331.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + aliases { + serial0 = &uart; + }; + + keys: keys { + compatible = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&enable_gpio11>; + + reset { + label = "reset"; + linux,code = <KEY_RESTART>; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; +}; + +ð0 { + status = "okay"; + + mtd-mac-address = <&uboot 0x1fc00>; + mtd-mac-address-increment = <(-1)>; + + gmac-config { + device = <&gmac>; + + switch-phy-addr-swap = <1>; + switch-phy-swap = <1>; + }; +}; + +ð1 { + status = "okay"; + + mtd-mac-address = <&uboot 0x1fc00>; + mtd-mac-address-increment = <1>; +}; + +&pinmux { + enable_gpio11: pinmux_enable_gpio11 { + pinctrl-single,bits = <0x0 0x0 0x4>; + }; +}; + +&spi { + status = "okay"; + + num-cs = <1>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + uboot: partition@0 { + label = "u-boot"; + reg = <0x000000 0x020000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x020000 0xfd0000>; + compatible = "tplink,firmware"; + }; + + partition@ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +&uart { + status = "okay"; +}; + +&usb { + status = "okay"; +}; + +&usb_phy { + status = "okay"; +}; diff --git a/target/linux/ath79/dts/ar9331_hak5_packet-squirrel.dts b/target/linux/ath79/dts/ar9331_hak5_packet-squirrel.dts new file mode 100644 index 0000000000..d19214d3f4 --- /dev/null +++ b/target/linux/ath79/dts/ar9331_hak5_packet-squirrel.dts @@ -0,0 +1,64 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9331_hak5_lan-turtle.dtsi" + +/ { + model = "Hak5 Packet Squirrel"; + compatible = "hak5,packet-squirrel", "qca,ar9331"; + + aliases { + led-boot = &led_system_green; + led-failsafe = &led_system_green; + led-running = &led_system_green; + led-upgrade = &led_system_green; + }; + + leds { + compatible = "gpio-leds"; + + led_system_green: system-green { + label = "packet-squirrel:green:system"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + }; + + system-blue { + label = "packet-squirrel:blue:system"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + }; + + system-red { + label = "packet-squirrel:red:system"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&keys { + sw1 { + label = "sw1"; + linux,code = <BTN_0>; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + sw2 { + label = "sw2"; + linux,code = <BTN_1>; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + sw3 { + label = "sw3"; + linux,code = <BTN_2>; + gpios = <&gpio 21 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + sw4 { + label = "sw4"; + linux,code = <BTN_3>; + gpios = <&gpio 24 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 3572afa5fd..89795031e0 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -503,7 +503,8 @@ ath79_setup_macs() enterasys,ws-ap3705i) label_mac=$(mtd_get_mac_ascii u-boot-env0 ethaddr) ;; - hak5,lan-turtle) + hak5,lan-turtle|\ + hak5,packet-squirrel) label_mac=$(mtd_get_mac_binary u-boot 0x1fc00) ;; iodata,etg3-r) diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 25d0f5b8ba..a5f282be9b 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -1032,6 +1032,19 @@ define Device/hak5_lan-turtle endef TARGET_DEVICES += hak5_lan-turtle +define Device/hak5_packet-squirrel + $(Device/tplink-16mlzma) + SOC := ar9331 + DEVICE_VENDOR := Hak5 + DEVICE_MODEL := Packet Squirrel + TPLINK_HWID := 0x5351524c + IMAGES := sysupgrade.bin + DEVICE_PACKAGES := kmod-usb-chipidea2 -iwinfo -kmod-ath9k -swconfig \ + -uboot-envtools -wpad-basic-wolfssl + SUPPORTED_DEVICES += packet-squirrel +endef +TARGET_DEVICES += hak5_packet-squirrel + define Device/iodata_etg3-r SOC := ar9342 DEVICE_VENDOR := I-O DATA |