Message ID | 20191111154224.1476-1-admin@kryma.net |
---|---|
State | Superseded |
Headers | show |
Series | [OpenWrt-Devel] ath79: add support for COMFAST CF-E130N v2 | expand |
Hi, > + aliases { > + serial0 = &uart; > + led-boot = &lan; > + led-failsafe = &lan; > + led-upgrade = &lan; Please don't use LAN here, as it will be ambiguous. For TP-Link CPE devices, we relied on rssi_high for this task, so either use this one or choose "unused". Please prefix the led label (but not the node name) with "led_", so either led_rssihigh or led_unused ... > + label-mac-device = ð0; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&led_rssimediumhigh_pin>; > + > + wlan { > + label = "cf-e130n-v2:green:wlan"; > + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; > + linux,default-trigger = "phy0tpt"; > + }; > + > + lan: 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"; > + // No individual GPIOs matched this LED! > + }; > + > + 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>; > + }; > + }; > +}; > + > +&pinmux { > + led_rssimediumhigh_pin: pinmux_rssimediumhigh_pin { > + pinctrl-single,bits = <0x10 0x0 0xff>; > + }; Single tab indent. > +}; > + > +&spi { > + status = "okay"; > + num-cs = <1>; Add empty line after status. > + > + flash@0 { > + compatible = "jedec,spi-nor"; > + reg = <0>; > + spi-max-frequency = <25000000>; > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + uboot: partition@0 { > + label = "u-boot"; > + reg = <0x000000 0x010000>; > + read-only; > + }; > + > + art: partition@10000 { > + label = "art"; > + reg = <0x010000 0x010000>; > + read-only; > + }; > + > + firmware: partition@20000 { > + compatible = "denx,uimage"; > + label = "firmware"; > + reg = <0x020000 0x7d0000>; > + }; > + > + nvram: partition@7f0000 { > + label = "nvram"; > + reg = <0x7f0000 0x010000>; > + read-only; > + }; We typically only add node labels when they are required, so here we would only need "art:". Keep the label properties, though ... > + }; > + }; > +}; > + > +&uart { > + status = "okay"; > +}; > + > +ð0 { > + status = "okay"; > + phy-handle = <&swphy0>; > + mtd-mac-address = <&art 0x0>; Add empty lines after status and after phy-handle. > + > + gmac-config { > + device = <&gmac>; > + switch-phy-swap = <1>; > + }; > +}; > + > +&wmac { > + status = "okay"; Add empty line after status. > + 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" Will this work without a defined gpio? > + 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/image/generic.mk > b/target/linux/ath79/image/generic.mk > index 70631c20d0..48d6864ecb 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 := 16192k That's wrong. You have 0x7d0000, not 0xfd0000 ... Best Adrian
Hi, In addition to Adrian's comments, could it be that the device was a 802.11bgn router? www.comfast.com.cn/index.php?m=content&c=index&a=show&catid=19&id=23 Cheers, Roger El 11/11/19 a les 10:09, Adrian Schmutzler ha escrit: > Hi, > >> + aliases { >> + serial0 = &uart; >> + led-boot = &lan; >> + led-failsafe = &lan; >> + led-upgrade = &lan; > Please don't use LAN here, as it will be ambiguous. > For TP-Link CPE devices, we relied on rssi_high for this task, so either use this one or choose "unused". > Please prefix the led label (but not the node name) with "led_", so either led_rssihigh or led_unused ... > >> + label-mac-device = ð0; >> + }; >> + >> + leds { >> + compatible = "gpio-leds"; >> + >> + pinctrl-names = "default"; >> + pinctrl-0 = <&led_rssimediumhigh_pin>; >> + >> + wlan { >> + label = "cf-e130n-v2:green:wlan"; >> + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; >> + linux,default-trigger = "phy0tpt"; >> + }; >> + >> + lan: 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"; >> + // No individual GPIOs matched this LED! >> + }; >> + >> + 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>; >> + }; >> + }; >> +}; >> + >> +&pinmux { >> + led_rssimediumhigh_pin: pinmux_rssimediumhigh_pin { >> + pinctrl-single,bits = <0x10 0x0 0xff>; >> + }; > Single tab indent. > >> +}; >> + >> +&spi { >> + status = "okay"; >> + num-cs = <1>; > Add empty line after status. > >> + >> + flash@0 { >> + compatible = "jedec,spi-nor"; >> + reg = <0>; >> + spi-max-frequency = <25000000>; >> + >> + partitions { >> + compatible = "fixed-partitions"; >> + #address-cells = <1>; >> + #size-cells = <1>; >> + >> + uboot: partition@0 { >> + label = "u-boot"; >> + reg = <0x000000 0x010000>; >> + read-only; >> + }; >> + >> + art: partition@10000 { >> + label = "art"; >> + reg = <0x010000 0x010000>; >> + read-only; >> + }; >> + >> + firmware: partition@20000 { >> + compatible = "denx,uimage"; >> + label = "firmware"; >> + reg = <0x020000 0x7d0000>; >> + }; >> + >> + nvram: partition@7f0000 { >> + label = "nvram"; >> + reg = <0x7f0000 0x010000>; >> + read-only; >> + }; > We typically only add node labels when they are required, so here we would only need "art:". Keep the label properties, though ... > >> + }; >> + }; >> +}; >> + >> +&uart { >> + status = "okay"; >> +}; >> + >> +ð0 { >> + status = "okay"; >> + phy-handle = <&swphy0>; >> + mtd-mac-address = <&art 0x0>; > Add empty lines after status and after phy-handle. > >> + >> + gmac-config { >> + device = <&gmac>; >> + switch-phy-swap = <1>; >> + }; >> +}; >> + >> +&wmac { >> + status = "okay"; > Add empty line after status. > >> + 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" > Will this work without a defined gpio? > >> + 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/image/generic.mk >> b/target/linux/ath79/image/generic.mk >> index 70631c20d0..48d6864ecb 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 := 16192k > That's wrong. You have 0x7d0000, not 0xfd0000 ... > > Best > > Adrian > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Hi, > That's wrong. You have 0x7d0000, not 0xfd0000 ... There seems to be some discrepancy, possibly v1 vs v2. The specifications on the website and the partitioning seem to imply a 8MB image size - however, U-boot bootloader and the sum of MTD block sizes gives us 16MB. Unsure, I tried both 8000 and 16192. Both seem to work well, save for some I/O errors when writing files to homedir with both. Not sure what that implies, but assuming 16MB as size all that given. > Will this work without a defined gpio? Could you elaborate? The rest seem straightforward to me, I will be happy to fix them in the next version. Closing thought, the aforementioned I/O errors. Parts of the filesystem seem to corrupt on occasion on my test device. I will look more into if it's a hardware issue, but for now are there any possible software/config causes you can think of? Thanks much, P. B.
SPI frequency? > Il giorno 11 nov 2019, alle ore 23:02, Kryma <admin@kryma.net> ha scritto: > > Hi, > >> That's wrong. You have 0x7d0000, not 0xfd0000 ... > > There seems to be some discrepancy, possibly v1 vs v2. The specifications on the website and the partitioning seem to imply a 8MB image size - however, U-boot bootloader and the sum of MTD block sizes gives us 16MB. Unsure, I tried both 8000 and 16192. Both seem to work well, save for some I/O errors when writing files to homedir with both. Not sure what that implies, but assuming 16MB as size all that given. > >> Will this work without a defined gpio? > > Could you elaborate? > > > The rest seem straightforward to me, I will be happy to fix them in the next version. > > > Closing thought, the aforementioned I/O errors. Parts of the filesystem seem to corrupt on occasion on my test device. I will look more into if it's a hardware issue, but for now are there any possible software/config causes you can think of? > > Thanks much, > > P. B. > > > > > > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org] On > Behalf Of Kryma > Sent: Montag, 11. November 2019 23:02 > To: openwrt-devel@lists.openwrt.org > Subject: Re: [OpenWrt-Devel] [PATCH] ath79: add support for COMFAST CF- > E130N v2 > > Hi, > > > That's wrong. You have 0x7d0000, not 0xfd0000 ... > > There seems to be some discrepancy, possibly v1 vs v2. The > specifications on the website and the partitioning seem to imply a 8MB > image size - however, U-boot bootloader and the sum of MTD block sizes > gives us 16MB. Unsure, I tried both 8000 and 16192. Both seem to work > well, save for some I/O errors when writing files to homedir with both. > Not sure what that implies, but assuming 16MB as size all that given. based on how we use it currently, IMAGE_SIZE should match the size of the firmware partition. > > > Will this work without a defined gpio? > > Could you elaborate? + rssimediumhigh { + label = "cf-e130n-v2:green:rssimediumhigh"; + // No individual GPIOs matched this LED! + }; Will this still work when using rssimediumhigh in 01_leds? Best Adrian
Well, rather than looking at the specifications, I'd check if the actual hardware is 802.11bgn. :) You could try the "iw list" command to see if the available channels match the 802.11bgn band or not. Cheers! El 13/11/19 a les 11:33, Kryma ha escrit: > Hi, > >> In addition to Adrian's comments, could it be that the device was a >> 802.11bgn router? >> > Looking at the specifications, it seems to be one indeed. Should I > make any changes regarding that?
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..457b12c54c --- /dev/null +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts @@ -0,0 +1,142 @@ +// 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 = &lan; + led-failsafe = &lan; + led-upgrade = &lan; + label-mac-device = ð0; + }; + + leds { + compatible = "gpio-leds"; + + pinctrl-names = "default"; + pinctrl-0 = <&led_rssimediumhigh_pin>; + + wlan { + label = "cf-e130n-v2:green:wlan"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + lan: 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"; + // No individual GPIOs matched this LED! + }; + + 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>; + }; + }; +}; + +&pinmux { + led_rssimediumhigh_pin: pinmux_rssimediumhigh_pin { + pinctrl-single,bits = <0x10 0x0 0xff>; + }; +}; + +&spi { + status = "okay"; + num-cs = <1>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + uboot: partition@0 { + label = "u-boot"; + reg = <0x000000 0x010000>; + read-only; + }; + + art: partition@10000 { + label = "art"; + reg = <0x010000 0x010000>; + read-only; + }; + + firmware: partition@20000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x020000 0x7d0000>; + }; + + nvram: partition@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + read-only; + }; + }; + }; +}; + +&uart { + status = "okay"; +}; + +ð0 { + status = "okay"; + phy-handle = <&swphy0>; + mtd-mac-address = <&art 0x0>; + + gmac-config { + device = <&gmac>; + switch-phy-swap = <1>; + }; +}; + +&wmac { + status = "okay"; + 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/image/generic.mk b/target/linux/ath79/image/generic.mk index 70631c20d0..48d6864ecb 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 := 16192k +endef +TARGET_DEVICES += comfast_cf-e130n-v2 + define Device/comfast_cf-e313ac ATH_SOC := qca9531 DEVICE_VENDOR := COMFAST