Hi, I believe the PCI-IDs of the devices in your device tree are wrong, see below:
On Sun, Jul 21, 2019 at 07:43:51AM +0200, Birger Koblitz wrote: > ramips: add Edimax RG21S > > SoC: MediaTek MT7621AT dual-core @ 880MHz > RAM: 256M (Nanya NT5CC128M) > FLASH: 16MB (Macronix MX25L12835F) > WiFi: - 2.4GHz MediaTek MT7615N bgn > - 5GHz MediaTek MT7615N nac > Switch: SoC integrated Gigabit Switch (4 x LAN, 1 x WAN) > USB: No > BTN: Reset, WPS > LED: 4 red LEDs, indistinguishable when casing closed > UART: UART is present as Pads marked J1 on the PCB. > 3.3V - RX - GND - TX / 57600-8N1 > 3.3V is the square pad > > Installation > ------------ > Update the factory image via the OEM web-interface > (by default:http://192.168.1.1) > The sysupgrade image can be installed via TFTP from > the U-Boot bootloader. Connect ethernet port 2. > > Signed-off-by: Birger Koblitz <[email protected]> > > --- > > v3: Update to DEVICE_VENDOR / DEVICE_MODEL in mt7621.mk > renamed .dts according to new conventions > Removed memory node from .dts > Correct image size > Whitespace fixes > v4: Added wifi0/1 labels to wifi nodes > Model name corrected in dts > Comments removed from .dts > > diff --git a/target/linux/ramips/base-files/etc/board.d/02_network > b/target/linux/ramips/base-files/etc/board.d/02_network > index a2b7d1cf33..252d2f4e50 100755 > --- a/target/linux/ramips/base-files/etc/board.d/02_network > +++ b/target/linux/ramips/base-files/etc/board.d/02_network > @@ -329,6 +329,10 @@ ramips_setup_interfaces() > ucidef_add_switch "switch1" \ > "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0" > ;; > + edimax,rg21s) > + ucidef_add_switch "switch0" \ > + "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0" > + ;; > gehua,ghl-r-001) > ucidef_add_switch "switch0" \ > "0:lan" "1:lan" "2:lan" "4:wan" "6@eth0" > @@ -587,6 +591,10 @@ ramips_setup_macs() > lan_mac=$(cat /sys/class/net/eth0/address) > wan_mac=$(macaddr_add "$lan_mac" 2) > ;; > + edimax,rg21s) > + lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) > + wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr) > + ;; > elecom,wrc-1167ghbk2-s|\ > elecom,wrc-1900gst|\ > elecom,wrc-2533gst|\ > diff --git a/target/linux/ramips/dts/mt7621_edimax_rg21s.dts > b/target/linux/ramips/dts/mt7621_edimax_rg21s.dts > new file mode 100644 > index 0000000000..80b644b7a7 > --- /dev/null > +++ b/target/linux/ramips/dts/mt7621_edimax_rg21s.dts > @@ -0,0 +1,157 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > +/dts-v1/; > + > +#include "mt7621.dtsi" > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > + > +/ { > + compatible = "edimax,rg21s", "mediatek,mt7621-soc"; > + model = "Edimax RG21S"; > + > + aliases { > + led-boot = &led_power; > + led-failsafe = &led_power; > + led-running = &led_power; > + led-upgrade = &led_power; > + }; > + > + chosen { > + bootargs = "console=ttyS0,57600"; > + }; > + > + palmbus: palmbus@1E000000 { > + i2c@900 { > + status = "okay"; > + }; > + }; > + > + keys { > + compatible = "gpio-keys"; > + > + reset { > + label = "reset"; > + gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_RESTART>; > + }; > + > + wps { > + label = "wps"; > + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_RESTART>; > + }; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led_power: led_1 { > + label = "rg21s:red:led1"; > + gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; > + }; > + > + led_2 { > + label = "rg21s:red:led2"; > + gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; > + }; > + > + led_3 { > + label = "rg21s:red:led3"; > + gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; > + }; > + > + led_4 { > + label = "rg21s:red:led4"; > + gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; > + }; > + }; > +}; > + > +&sdhci { > + status = "okay"; > +}; > + > +&spi0 { > + status = "okay"; > + > + m25p80@0 { > + compatible = "jedec,spi-nor"; > + reg = <0>; > + spi-max-frequency = <10000000>; > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition@0 { > + label = "u-boot"; > + reg = <0x0 0x30000>; > + read-only; > + }; > + > + partition@30000 { > + label = "u-boot-env"; > + reg = <0x30000 0x10000>; > + read-only; > + }; > + > + factory: partition@40000 { > + label = "factory"; > + reg = <0x40000 0x10000>; > + read-only; > + }; > + > + partition@50000 { > + compatible = "denx,uimage"; > + label = "firmware"; > + reg = <0x50000 0xfb0000>; > + }; > + }; > + }; > +}; > + > +&pcie { > + status = "okay"; > +}; > + > +&pcie0 { > + wifi0: wifi@0,0 { > + compatible = "pci14c3,7603"; ^^^^^^^^^^^^^^ This looks wrong, MT7615N should have a different PCI ID (pci14c3,7615) > + reg = <0x0000 0 0 0 0>; > + mediatek,mtd-eeprom = <&factory 0x0000>; > + ieee80211-freq-limit = <2400000 2500000>; > + mtd-mac-address = <&factory 0x4>; > + }; > +}; > + > +&pcie1 { > + wifi1: wifi@0,0 { > + compatible = "pci14c3,7662"; ^^^^^^^^^^^^^^ And here "pci14c3,7615" as well I reckon. > + reg = <0x0000 0 0 0 0>; > + mediatek,mtd-eeprom = <&factory 0x8000>; > + ieee80211-freq-limit = <5000000 6000000>; > + mtd-mac-address = <&factory 0x8004>; > + }; > +}; > + > +ðernet { > + mediatek,portmap = "wllll"; > + port@5 { > + status = "disabled"; > + }; > +}; > + > +&pinctrl { > + state_default: pinctrl0 { > + gpio { > + ralink,group = "wdt", "rgmii2", "jtag", "mdio"; > + ralink,function = "gpio"; > + }; > + }; > +}; > + > +&xhci { > + status = "disabled"; > +}; > diff --git a/target/linux/ramips/image/mt7621.mk > b/target/linux/ramips/image/mt7621.mk > index 73ded64e74..5a1e8204f3 100644 > --- a/target/linux/ramips/image/mt7621.mk > +++ b/target/linux/ramips/image/mt7621.mk > @@ -30,6 +30,25 @@ define Build/elecom-wrc-factory > mv [email protected] $@ > endef > > +define Build/elx-header > + $(eval hw_id=$(word 1,$(1))) > + $(eval xor_pattern=$(word 2,$(1))) > + ( \ > + echo -ne "\x00\x00\x00\x00\x00\x00\x00\x03" | \ > + dd bs=42 count=1 conv=sync; \ > + hw_id="$(hw_id)"; \ > + echo -ne "\x$${hw_id:0:2}\x$${hw_id:2:2}\x$${hw_id:4:2}\x$${hw_id:6:2}" > | \ > + dd bs=20 count=1 conv=sync; \ > + echo -ne "$$(printf '%08x' $$(stat -c%s $@) | fold -s2 | xargs -I {} > echo \\x{} | tr -d '\n')" | \ > + dd bs=8 count=1 conv=sync; \ > + echo -ne "$$($(STAGING_DIR_HOST)/bin/mkhash md5 $@ | fold -s2 | xargs -I > {} echo \\x{} | tr -d '\n')" | \ > + dd bs=58 count=1 conv=sync; \ > + ) > $(KDIR)/tmp/$(DEVICE_NAME).header > + $(call Build/xor-image,-p $(xor_pattern) -x) > + cat $(KDIR)/tmp/$(DEVICE_NAME).header $@ > [email protected] > + mv [email protected] $@ > +endef > + > define Build/iodata-factory > $(eval fw_size=$(word 1,$(1))) > $(eval fw_type=$(word 2,$(1))) > @@ -173,6 +192,20 @@ define Device/d-team_pbr-m1 > endef > TARGET_DEVICES += d-team_pbr-m1 > > +define Device/edimax_rg21s > + MTK_SOC := mt7621 > + IMAGE_SIZE := 16064k > + DEVICE_VENDOR := EDIMAX > + DEVICE_MODEL := RG21S > + IMAGES += factory.bin > + IMAGE/factory.bin := \ > + $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \ > + elx-header 02020038 8844A2D168B45A2D > + DEVICE_PACKAGES := \ > + kmod-ata-ahci kmod-mt76x2 kmod-mt7603 kmod-mt7615e wpad-basic > +endef > +TARGET_DEVICES += edimax_rg21s > + > define Device/elecom_wrc-1167ghbk2-s > MTK_SOC := mt7621 > IMAGE_SIZE := 15488k > > _______________________________________________ > openwrt-devel mailing list > [email protected] > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
