Request: tester for ipq8064 soc

if i'm not wrong vr2600v requires dsa changes...

Anyway thx for the log the problem as i said is in the regulator...
Will disable them for now....
and modify vr2600v for you

I already modified :wink:
This should be enough

diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network b/target/linux/ipq806x/base-files/etc/board.d/02_network
index ddcdbc2c9e..1686193edc 100755
--- a/target/linux/ipq806x/base-files/etc/board.d/02_network
+++ b/target/linux/ipq806x/base-files/etc/board.d/02_network
@@ -21,8 +21,7 @@ compex,wpq864 |\
 netgear,d7800 |\
 netgear,r7500 |\
 netgear,r7500v2 |\
-qcom,ipq8064-ap148 |\
-tplink,vr2600v)
+qcom,ipq8064-ap148)
        ucidef_add_switch "switch0" \
                "1:lan" "2:lan" "3:lan" "4:lan" "6@eth1" "5:wan" "0@eth0"
        ;;
@@ -44,7 +43,8 @@ nec,wg2600hp3)
        ;;
 asrock,g10 |\
 tplink,ad7200 |\
-tplink,c2600 | \
+tplink,c2600 |\
+tplink,vr2600v |\
 netgear,r7800)
        ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
        ;;
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
index ea7d0235ce..6ae70189ae 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
@@ -287,21 +287,86 @@
        pinctrl-0 = <&mdio0_pins>;
        pinctrl-names = "default";
 
-       phy0: ethernet-phy@0 {
-               reg = <0>;
-               qca,ar8327-initvals = <
-                       0x00004 0x7600000   /* PAD0_MODE */
-                       0x00008 0x1000000   /* PAD5_MODE */
-                       0x0000c 0x80        /* PAD6_MODE */
-                       0x000e4 0x6a545     /* MAC_POWER_SEL */
-                       0x000e0 0xc74164de  /* SGMII_CTRL */
-                       0x0007c 0x4e        /* PORT0_STATUS */
-                       0x00094 0x4e        /* PORT6_STATUS */
-                       >;
-       };
+       // phy0: ethernet-phy@0 {
+       //      reg = <0>;
+       //      qca,ar8327-initvals = <
+       //              0x00004 0x7600000   /* PAD0_MODE */
+       //              0x00008 0x1000000   /* PAD5_MODE */
+       //              0x0000c 0x80        /* PAD6_MODE */
+       //              0x000e4 0x6a545     /* MAC_POWER_SEL */
+       //              0x000e0 0xc74164de  /* SGMII_CTRL */
+       //              0x0007c 0x4e        /* PORT0_STATUS */
+       //              0x00094 0x4e        /* PORT6_STATUS */
+       //              >;
+       // };
+
+       // phy4: ethernet-phy@4 {
+       //      reg = <4>;
+       // };
+       switch@10 {
+               compatible = "qca,qca8327";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x10>;
+
+               qca8k,rgmii56_1_8v;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+                               label = "cpu";
+                               ethernet = <&gmac1>;
+                               phy-mode = "rgmii-id";
+
+                               fixed-link {
+                                       speed = <1000>;
+                                       full-duplex;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+                               label = "lan1";
+                       };
+
+                       port@2 {
+                               reg = <2>;
+                               label = "lan2";
+                       };
+                                               port@3 {
+                               reg = <3>;
+                               label = "lan3";
+                       };
+
+                       port@4 {
+                               reg = <4>;
+                               label = "lan4";
+                       };
 
-       phy4: ethernet-phy@4 {
-               reg = <4>;
+                       port@5 {
+                               reg = <5>;
+                               label = "wan";
+                       };
+
+                       /*
+                       port@6 {
+                                       reg = <0>;
+                                       label = "cpu";
+                                       ethernet = <&gmac2>;
+                                       phy-mode = "rgmii";
+
+                                       fixed-link {
+                                                       speed = <1000>;
+                                                       full-duplex;
+                                                       pause;
+                                                       asym-pause;
+                                       };
+                       };
+                       */
+               };
        };
 };
1 Like

if you wait a minute i will push a version that doesn't enable the regulator...

pushed
I didn't set the compat mode so remember to reset the config

Now it boots, but the network doesn't seems to work correctly. I am investigating :wink:

EDIT:
Missing ")" Here: https://github.com/Ansuel/openwrt/blob/d6dfa79d88071fa12f1665b1ed50eaeb9290a2a7/target/linux/ipq806x/base-files/etc/board.d/02_network#L24

Quick edit are always bad... :frowning: Sorry
Did you already fixed that?

Ok @cybrnook @wilsonyan @ninjanoir78 thx to @numero53 i tested vr2600v and we concluded that.....
vr2600v has ar8337 switch instead of ar8327...

Problem is that any ipq8064 dts have the ar8327 init value...

So i added a hack patch to force qca8k init and print the id if a different value is found...
This is the only way to actually know what is present on the board... (and this is bad since we need to test every board to switch this target to dsa)

so pls post a logread to check what switch is actually present on the board.

@robimarko you were right about the version... now the question is... in your opinion same model with different switch can exist or not?

1 Like

Okay, so far I am a non-boot with and without the 100 patch. I will need to take the unit apart tonight to see if I can get a serial cable hooked up to it to be able to dump out a boot log.

If you want to do another test, you need to check the latest commits... HACK and TEST is what you need (with the 100 patch removed)

1 Like

ok i'm awake and will have a build up in a few

in the meanwhile this is the error that appears with no mtd patching (ie standard) on a linksys ea8500 I can't check the asrock g10 right now but it has something similar if not the same

[   24.068033] UBIFS (ubi0:1): Mounting in unauthenticated mode
[   24.068212] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 205
[   24.117442] UBIFS (ubi0:1): recovery needed
[   24.238056] UBIFS (ubi0:1): recovery completed
[   24.238152] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   24.241511] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[   24.249300] UBIFS (ubi0:1): FS size: 15237120 bytes (14 MiB, 120 LEBs), journal size 1015809 bytes (0 MiB, 6 LEBs)
[   24.259255] UBIFS (ubi0:1): reserved for root: 719686 bytes (702 KiB)
[   24.269503] UBIFS (ubi0:1): media format: w5/r0 (latest is w5/r0), UUID 0917E971-CC11-4499-BA7A-FA3EDB007968, small LPT model
[   24.282120] mount_root: switching to ubifs overlay
[   24.303517] urandom-seed: Seeding with /etc/urandom.seed
[   26.731164] blk_update_request: I/O error, dev mtdblock0, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[   26.741465] blk_update_request: I/O error, dev mtdblock0, sector 8 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   26.741495] Buffer I/O error on dev mtdblock0, logical block 1, async page read
[   26.771154] blk_update_request: I/O error, dev mtdblock1, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[   26.781014] blk_update_request: I/O error, dev mtdblock1, sector 8 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   26.781041] Buffer I/O error on dev mtdblock1, logical block 1, async page read
[   26.811326] blk_update_request: I/O error, dev mtdblock2, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[   26.840957] blk_update_request: I/O error, dev mtdblock2, sector 8 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   26.840984] Buffer I/O error on dev mtdblock2, logical block 1, async page read
[   26.876162] blk_update_request: I/O error, dev mtdblock3, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[   26.891030] blk_update_request: I/O error, dev mtdblock3, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   26.891056] Buffer I/O error on dev mtdblock3, logical block 0, async page read
[   26.947285] blk_update_request: I/O error, dev mtdblock4, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[   26.960840] blk_update_request: I/O error, dev mtdblock4, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   26.960866] Buffer I/O error on dev mtdblock4, logical block 0, async page read
[   27.031244] Buffer I/O error on dev mtdblock5, logical block 4, async page read
[   27.080939] Buffer I/O error on dev mtdblock6, logical block 0, async page read
[   27.171314] Buffer I/O error on dev mtdblock7, logical block 0, async page read
[   27.390978] Buffer I/O error on dev mtdblock9, logical block 1, async page read

and what you set in the dts? (the mtd patch requires specific binding to be set in the device dts)

this is without your MTD patches, that's why I was keen to try them even though this error doesn't seem to cause any problems

everyone should have this error but maybe it doesn't show up if you aren't doing some things, like building with btrfs / dmraid support

the error is show if you have block-mount installed since it does scan every partition on the system.
If you want i can set the binding for your router and check if it does fix the problem.

yeah I thought it was something like that, if it's just cosmetic I don't mind

I made a build with these patches in order:

  1. ipq806x: add missing clks and reset
  2. ipq806x: improve stability of the mdio driver
  3. ipq806x: improve dsa performance and stability
  4. ipq806x: add qca8k patch to support ar8327
  5. ipq806x: enables qca8k dsa switch for r7800
  6. ipq806x: enable qca8k dsa switch for asrock g10
  7. ipq806x: more fix for the mdio driver
  8. ipq806x: switch eax500 and c2600 to dsa
  9. HACK ipq806x: print id and init anyway dsa qca8k

Things didn't go that well but i'm not sure 100% because I made the build with https://git.openwrt.org/?p=openwrt/staging/jow.git;a=commit;h=6907a2af561a3bf658dd523998ff7b1caf2d695f

And it makes a switch0 device etc, and I got stuck where I needed the net to look into how i'd do the exact config. I'll try some other stuff tomorrow. At one point I got some pongs back from ping but it was few and far between

pls provide a logread if you can

here is the dmesg sorry I couldn't be more helpful i'll see if I can be more sure tomorrow

https://ghostbin.com/paste/aDYp1

i think you missed the base-files dir changes... anyway dsa init well and you also have ar8337 .... this doesn't make sense...

that dsaconfig script from Jo's tree also takes all the ports and puts them in "switch0" so it might have made a conflict

is it possible that the lan devices are link to the wrong ethX device ? i.e maybe the lanX need to be linked to eth1 instead of eth0 ?

Sorry, just came back from vacation. In the evening, I may test this on my RB3011UiAS-RM with IPQ8064 and dual QCA8337 as well if that is of any use.