[OpenWrt-Devel] [PATCH v6] ath79: add support for COMFAST CF-E130N v2

Pavel Balan admin at kryma.net
Tue May 26 17:29:57 EDT 2020


Hello. I have just run-tested the patch from your tree on actual 
hardware - the web GUI works fine, as do both internet and wireless 
interfaces.

An investigation into the art partition has shown that there are four 
sequential MAC addresses stored in memory.

The first and the third are back-to-back, addresses 0x0000 and 0x0006 
respectively.

The second one is located at 0x1002, and the fourth one is at 0x5006. I 
have no explanation for why it is like that.

To answer your question - it's not an exact match, but it's close to that.


P.S. Thank you for catching the v5/v6 difference - or lack of thereof, 
rather.

On 2020-05-24 7:45 a.m., mail at adrianschmutzler.de wrote:
> Hi,
>
>> -----Original Message-----
>> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
>> On Behalf Of admin at kryma.net
>> Sent: Freitag, 27. März 2020 04:33
>> To: openwrt-devel at lists.openwrt.org
>> Cc: Pavel Balan <admin at kryma.net>
>> Subject: [OpenWrt-Devel] [PATCH v6] ath79: add support for COMFAST CF-
>> E130N v2
>>
>> From: Pavel Balan <admin at kryma.net>
>>
>> This patch adds support for the COMFAST CF-E130N v2, an outdoor wireless
>> CPE with a single Ethernet port and a 802.11bgn radio.
>>
>> Specifications:
>>
>>   - QCA9531 SoC
>>   - 1x 10/100 Mbps Ethernet with PoE-in support
>>   - 64 MB of RAM (DDR2)
>>   - 16 MB of FLASH
>>   - 5 dBi built-in antenna
>>   - POWER/LAN/WLAN green LEDs
>>   - 4x RSSI LEDs (2x red, 2x green)
>>   - UART (115200 8N1) and GPIO (J9) headers on PCB
>>
>> Flashing instructions:
>>
>>   The original firmware is based on OpenWrt so a sysupgrade image can be
>> installed via the stock web GUI.
>>
>>   The U-boot bootloader also contains a backup TFTP client to upload the
>> firmware from. Upon boot, it checks its ethernet network for the IP
>> 192.168.1.10. Host a TFTP server and provide the image to be flashed as  file
>> firmware_auto.bin.
>>
>> Signed-off-by: Pavel Balan <admin at kryma.net>
>> ---
>> Run-tested on hardware.
>>
>> Changes since v5:
>>
>>   Made partition at 7e0000 read-only.
>>
>>   Changed IMAGE_SIZE to 7936k.
> it looks like you have actually sent the v5 version of your patch again, as the v6-changes you report are not included. Anyway, I've added these (and a few others) myself and pushed the result to my staging tree here:
>
> https://git.openwrt.org/?p=openwrt/staging/adrian.git;a=shortlog;h=refs/heads/staging
>
> Please run this on your device and check whether everything is okay, so I can merge this.
>
> Despite, I'd be interested whether the MAC address from calibration data (art 0x1002) is actually the same as art 0x0, so we can drop mtd-mac-address from wmac.
>
> Best
>
> Adrian
>
>> ---
>>   .../ath79/dts/qca9531_comfast_cf-e130n-v2.dts | 150
>> ++++++++++++++++++
>>   .../generic/base-files/etc/board.d/01_leds    |   8 +
>>   .../generic/base-files/etc/board.d/02_network |   1 +
>>   target/linux/ath79/image/generic.mk           |  10 ++
>>   4 files changed, 169 insertions(+)
>>   create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-e130n-
>> v2.dts
>>
>> diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts
>> b/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts
>> new file mode 100644
>> index 0000000000..dc1e037307
>> --- /dev/null
>> +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts
>> @@ -0,0 +1,150 @@
>> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/;
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/input.h>
>> +
>> +#include "qca953x.dtsi"
>> +
>> +/ {
>> +	compatible = "comfast,cf-e130n-v2", "qca,qca9531";
>> +	model = "COMFAST CF-E130N v2";
>> +
>> +	aliases {
>> +		serial0 = &uart;
>> +		led-boot = &led_rssihigh;
>> +		led-failsafe = &led_rssihigh;
>> +		led-upgrade = &led_rssihigh;
>> +		label-mac-device = &eth1;
>> +	};
>> +
>> +	leds {
>> +		compatible = "gpio-leds";
>> +
>> +		pinctrl-names = "default";
>> +
>> +		wlan {
>> +			label = "cf-e130n-v2:green:wlan";
>> +			gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
>> +			linux,default-trigger = "phy0tpt";
>> +		};
>> +
>> +		lan {
>> +			label = "cf-e130n-v2:green:lan";
>> +			gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
>> +		};
>> +
>> +		unused {
>> +			label = "cf-e130n-v2:green:unused";
>> +			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
>> +		};
>> +
>> +		rssilow {
>> +			label = "cf-e130n-v2:red:rssilow";
>> +			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
>> +		};
>> +
>> +		rssimediumlow {
>> +			label = "cf-e130n-v2:red:rssimediumlow";
>> +			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
>> +		};
>> +
>> +		rssimediumhigh {
>> +			label = "cf-e130n-v2:green:rssimediumhigh";
>> +			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
>> +		};
>> +
>> +		led_rssihigh: rssihigh {
>> +			label = "cf-e130n-v2:green:rssihigh";
>> +			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
>> +		};
>> +	};
>> +
>> +	keys {
>> +		compatible = "gpio-keys";
>> +
>> +		reset {
>> +			label = "reset";
>> +			linux,code = <KEY_RESTART>;
>> +			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
>> +			debounce-interval = <60>;
>> +		};
>> +	};
>> +};
>> +
>> +&spi {
>> +	status = "okay";
>> +
>> +	num-cs = <1>;
>> +
>> +	flash at 0 {
>> +		compatible = "jedec,spi-nor";
>> +		reg = <0>;
>> +		spi-max-frequency = <25000000>;
>> +
>> +		partitions {
>> +			compatible = "fixed-partitions";
>> +			#address-cells = <1>;
>> +			#size-cells = <1>;
>> +
>> +			partition at 0 {
>> +				label = "u-boot";
>> +				reg = <0x000000 0x010000>;
>> +				read-only;
>> +			};
>> +
>> +			art: partition at 10000 {
>> +				label = "art";
>> +				reg = <0x010000 0x010000>;
>> +				read-only;
>> +			};
>> +
>> +			partition at 20000 {
>> +				compatible = "denx,uimage";
>> +				label = "firmware";
>> +				reg = <0x020000 0x7c0000>;
>> +			};
>> +
>> +			partition at 7e0000 {
>> +				compatible = "denx,uimage";
>> +				label = "configs";
>> +				reg = <0x7e0000 0x010000>;
>> +			};
>> +
>> +			partition at 7f0000 {
>> +				label = "nvram";
>> +				reg = <0x7f0000 0x010000>;
>> +				read-only;
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&uart {
>> +	status = "okay";
>> +
>> +};
>> +
>> +&eth0 {
>> +	compatible = "syscon", "simple-mfd";
>> +};
>> +
>> +&eth1 {
>> +	status = "okay";
>> +
>> +	phy-handle = <&swphy0>;
>> +
>> +	mtd-mac-address = <&art 0x0>;
>> +
>> +	gmac-config {
>> +		device = <&gmac>;
>> +		switch-phy-swap = <1>;
>> +	};
>> +};
>> +
>> +&wmac {
>> +	status = "okay";
>> +
>> +	mtd-mac-address = <&art 0x0>;
>> +	mtd-cal-data = <&art 0x1000>;
>> +};
>> diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
>> b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
>> index fbb0d0ea03..3046d34605 100755
>> --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
>> +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
>> @@ -47,6 +47,14 @@ comfast,cf-e120a-v3)
>>   	ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH"
>> "$boardname:green:rssimediumhigh" "wlan0" "51" "100"
>>   	ucidef_set_led_rssi "rssihigh" "RSSIHIGH"
>> "$boardname:green:rssihigh" "wlan0" "76" "100"
>>   	;;
>> +comfast,cf-e130n-v2)
>> +	ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0"
>> +	ucidef_set_rssimon "wlan0" "200000" "1"
>> +	ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:red:rssilow"
>> "wlan0" "1" "100"
>> +	ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW"
>> "$boardname:red:rssimediumlow" "wlan0" "26" "100"
>> +	ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH"
>> "$boardname:green:rssimediumhigh" "wlan0" "51" "100"
>> +	ucidef_set_led_rssi "rssihigh" "RSSIHIGH"
>> "$boardname:green:rssihigh" "wlan0" "76" "100"
>> +	;;
>>   comfast,cf-e313ac)
>>   	ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan"
>> "switch0" "0x02"
>>   	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan"
>> "eth1"
>> 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 10ca213e70..b1ecc066fd 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
>> @@ -14,6 +14,7 @@ ath79_setup_interfaces()
>>   	alfa-network,ap121f|\
>>   	aruba,ap-105|\
>>   	avm,fritz300e|\
>> +	comfast,cf-e130n-v2|\
>>   	devolo,dvl1200i|\
>>   	devolo,dvl1750c|\
>>   	devolo,dvl1750i|\
>> diff --git a/target/linux/ath79/image/generic.mk
>> b/target/linux/ath79/image/generic.mk
>> index 70631c20d0..256481ece3 100644
>> --- a/target/linux/ath79/image/generic.mk
>> +++ b/target/linux/ath79/image/generic.mk
>> @@ -258,6 +258,16 @@ define Device/comfast_cf-e120a-v3  endef
>> TARGET_DEVICES += comfast_cf-e120a-v3
>>
>> +define Device/comfast_cf-e130n-v2
>> +  ATH_SOC := qca9531
>> +  DEVICE_VENDOR := COMFAST
>> +  DEVICE_MODEL := CF-E130N
>> +  DEVICE_VARIANT := v2
>> +  DEVICE_PACKAGES := rssileds kmod-leds-gpio -swconfig -uboot-envtools
>> +  IMAGE_SIZE := 8000k
>> +endef
>> +TARGET_DEVICES += comfast_cf-e130n-v2
>> +
>>   define Device/comfast_cf-e313ac
>>     ATH_SOC := qca9531
>>     DEVICE_VENDOR := COMFAST
>> --
>> 2.17.1
>>
>>
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>>
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20200526/12011c7c/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list