IPQ5018: GLiNET B3000 info

I touched on that here

can you answer this please,

linksys,mx5500)
			label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
			lan_mac=$label_mac
			wan_mac=$label_mac
		;;

what is the expected format of label mac here XX:XX:XX: or XXXXXX ?

see https://github.com/openwrt/openwrt/blob/main/package/base-files/files/lib/functions/system.sh

Perfect. Thank you.

so get_mac_binary does just what I was doing essentially. I will refactor 02_network and test again

You should use: mtd_get_mac_binary "0:ART" 0x6

Ok, i will build a few images to test. I will try all suggestions and see what does what and report my findings.

while baking images I been going over --> https://openwrt.org/docs/guide-developer/mac.address

I have the unpacked dts from the oem firmware k 5.4.

oem dp1:

dp1 {
			phy-mode = "sgmii";
			clock-names = "nss-snoc-gmac-axi-clk";
			qcom,id = <0x01>;
			mdio-bus = <0x55>;
			local-mac-address = [00 11 22 33 44 55];
			qcom,phy-mdio-addr = <0x07>;
			interrupts = <0x00 0x65 0x04>;
			clocks = <0x0b 0x6f>;
			device_type = "network";
			qcom,rx-page-mode = <0x00>;
			compatible = "qcom,nss-dp";
			qcom,mactype = <0x02>;
			reg = <0x39c00000 0x10000>;
			qcom,link-poll = <0x01>;
		};

oem dp2

dp2 {
			phy-mode = "sgmii";
			clock-names = "nss-snoc-gmac-axi-clk";
			qcom,id = <0x02>;
			mdio-bus = <0x0f>;
			local-mac-address = [94 83 c4 a4 a6 f9];
			interrupts = <0x00 0x6d 0x04>;
			clocks = <0x0b 0x71>;
			device_type = "network";
			qcom,rx-page-mode = <0x00>;
			compatible = "qcom,nss-dp";
			qcom,mactype = <0x02>;
			reg = <0x39d00000 0x10000>;
		};

i had the macs set opposite to this

	 *
	 * ===============================================================
** dp1
	 * Current drivers don't support such topology. So dp1 and ge_phy
	 * are useless. But they can't be disabled dut to qca-ssdk use
	 * ge_phy to detect IPQ5018 dummy switch.
	 */
	status = "okay";
	nvmem-cells = <&macaddr_dp1>;    // [94 83 c4 a4 a6 f9];
	nvmem-cell-names = "mac-address";
};

// MAC1 ---SGMII---> QCA8337 SerDes
&dp2 {
	status = "okay";

	phy-mode = "sgmii";
	local-mac-address = [001122334455];
	
	fixed-link {
		speed = <1000>;
		full-duplex;
	};
};

I made a few bins, taking into account everyone's suggestions, I am going to thoroughly test each config. I'll get some good logs from each. Is there anything in particular i should be logging ?? If so, let me know and I'll get them too.

3 Likes

So i have sorted out the ports, the issue was in the dts. I had to add a switch node and shuffle the port mapping slightly. Everything is working perfect, been running for 2 days with no hiccups, all ports and both radio in use during the test.

I can't not comment on speed, as I previously mentioned, I live in the sticks and my connection is just slightly better than dial-up :crazy_face:.

Can you help out with the bins for this unit ? I have not tested the one you sent me already. I guess that's the next step. Perhaps @georgem83 can help to ? this is still , a blackbox to me...

In the meantime I am going to start on the sysupgrade stuff. @lytr I'll likely need your guidance on this too, I will put it together for you to look at if you could be so kind.

1 Like

I suppose you mean the BDFs (board-2.bin)?
Do you have a repo somewhere or can you upload the bin files?

Yes, I will fork and push to my repo. Doing that now, post link afterwards

1 Like

Here is the original bins I started with

ipq5018 -->https://github.com/Telecominfraproject/wlan-ap/blob/7d336070d7b689cf2cffaa1c0eb269d8f310487e/feeds/ipq807x_v5.4/ath11k-wifi/board-gl-b3000.bin.IPQ5018

ipq6122 -->https://github.com/Telecominfraproject/wlan-ap/blob/7d336070d7b689cf2cffaa1c0eb269d8f310487e/feeds/ipq807x_v5.4/ath11k-wifi/board-gl-b3000.bin.QCN6122

I've been trying to make sense of the process, from what you said here

but i am still failing to grasp the entire procedure.

where did you extratct it from ?

seems pretty straight forward, same goes for steps 2 3 4 and 6

I am assume your using this tool to achieve this ?

I guess the biggest piece I am missing is where to extract the stock bdwlan.bin ?

Boot into the stock firmware and do a find on bdwlan.* to find the directory.
Tar it and scp to your PC.
Run dmesg | grep cnss to find out which board file is used for each radio.
After you know which one, run the steps above. You will need the qca-swiss-army-knife tool to extract/package the board file for use in ath11k.

Ok, do I need to reload stock firmware, or can I just search the partitions that i dumped from the stock firmware. Going back to stock makes me nervous at this point, as all I have is the img file, but i'll do it if necessary.

Yeah, you can start there too. If you can’t find anything, you may want to try downloading the FW image from the manufacturer and see if you can use binwalk to explore the firmware that way.

the webui recovery is still intact. I can use it to re-flash the stock image safely. But before I do I figured I will go through what I have dumped already.

from stock firmware

root@GL-B3000:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "0:SBL1"
mtd1: 00080000 00020000 "0:MIBIB"
mtd2: 00040000 00020000 "0:BOOTCONFIG"
mtd3: 00100000 00020000 "0:QSEE"
mtd4: 00040000 00020000 "0:DEVCFG"
mtd5: 00040000 00020000 "0:CDT"
mtd6: 00080000 00020000 "0:APPSBLENV"
mtd7: 00140000 00020000 "0:APPSBL"
mtd8: 00100000 00020000 "0:ART"
mtd9: 00080000 00020000 "0:TRAINING"
mtd10: 00200000 00020000 "CFG"
mtd11: 07800000 00020000 "rootfs"
mtd12: 00361468 0001f000 "kernel"
mtd13: 003e9800 0001f000 "wifi_fw"
mtd14: 02c14000 0001f000 "ubi_rootfs"
mtd15: 03830000 0001f000 "rootfs_data"

would it be in usually ? or is it kind of random

mtd13: 003e9800 0001f000 "wifi_fw"

?

I have the lastest stock firmware here, I will binwalk it and see what I can find the locating before reverting to stock.

good guess :slight_smile:

hostle@hostle-Satellite-C670:~/bdwan$ ls _mtd13.extracted
0.squashfs  squashfs-root
hostle@hostle-Satellite-C670:~/bdwan$ cd _mtd13.extracted/squashfs-root
hostle@hostle-Satellite-C670:~/bdwan/_mtd13.extracted/squashfs-root$ ls
bdwlan.b10                     m3_fw.b00    q6_fw.b08  q6_fw.b22
bdwlan.b20                     m3_fw.b01    q6_fw.b09  q6_fw.b23
bdwlan.b21                     m3_fw.b02    q6_fw.b10  q6_fw.b25
bdwlan.b22                     m3_fw.flist  q6_fw.b11  q6_fw.b26
bdwlan.b23                     m3_fw.mdt    q6_fw.b13  q6_fw.flist
bdwlan.b24                     q6_fw.b00    q6_fw.b14  q6_fw.mdt
bdwlan.bin                     q6_fw.b01    q6_fw.b15  qcn6122
Data.msc                       q6_fw.b02    q6_fw.b16  qdss_trace_config.bin
firmware_rdp_feature_512P.ini  q6_fw.b03    q6_fw.b17  regdb.bin
firmware_rdp_feature.ini       q6_fw.b04    q6_fw.b18
fw_ini_cfg.bin                 q6_fw.b05    q6_fw.b20
fw_version.txt                 q6_fw.b07    q6_fw.b21
hostle@hostle-Satellite-C670:~/bdwan/_mtd13.extracted/squashfs-root$ 
ion: 0x0 eeprom_caldata_read_timeout 0s bdf_dnld_method 1 regdb_mandatory 0 rxgainlut_support 0
[   72.704914] cnss[2]: INFO: Downloading BDF: IPQ5018/regdb.bin, size: 24278
[   72.737664] cnss[2]: INFO: Downloading BDF: IPQ5018/bdwlan.b23, size: 131072
[   72.784650] cnss[2]: INFO: Waiting for FW ready. Device: 0xfffc, FW ready timeout: 60 seconds
[   72.811447] cnss[2]: INFO: Downloading BDF: IPQ5018/caldata.bin, size: 131072
[   72.902072] cnss[2]: INFO: FW ready received for device 0xfffc


sion: 0x0 eeprom_caldata_read_timeout 0s bdf_dnld_method 1 regdb_mandatory 0 rxgainlut_support 0
[   74.128034] cnss[42]: INFO: Device BAR Info pa: 0xa1e00000, va: 0x00000000da5a0e67, size: 0x200000
[   74.145814] cnss[42]: INFO: Downloading BDF: qcn6122/regdb.bin, size: 24278
[   74.166158] cnss[42]: INFO: Downloading BDF: qcn6122/bdwlan.b60, size: 131072
[   74.235074] cnss[42]: INFO: Downloading BDF: qcn6122/caldata_2.bin, size: 131072

1 Like

While you’re at it, check the fw version (there’s a file)

I've send you ready to use board files in PM.
BDFs from OEM firmware do not require any modifications.

WLAN.HK.2.9.r4-00018-QCAHKSWPL_SILICONZ-1 v1

i just had i look at what you sent, I assume the bins go to ipq-wifi and than just add the folder to athh11k-firmware in its respective directory ?

/package/firmware/ath11k-firmware/files/IPQ5018_QCN6122/hw1.0/2.9.0.1
    -->WLAN.HK.2.9.r4-00018-QCAHKSWPL_SILICONZ-1
/package/firmware/ipq-wifi/src/
    -->board-glinet_gl-b3000.ipq5018
    -->board-glinet_gl-b3000.ipq6122

and than adjust paths in

/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata

just dawned on me, the partition scheme I am using in my dts is not complete when comparing against the stock firmware

stock

mtd0: 00080000 00020000 "0:SBL1"
mtd1: 00080000 00020000 "0:MIBIB"
mtd2: 00040000 00020000 "0:BOOTCONFIG"
mtd3: 00100000 00020000 "0:QSEE"
mtd4: 00040000 00020000 "0:DEVCFG"
mtd5: 00040000 00020000 "0:CDT"
mtd6: 00080000 00020000 "0:APPSBLENV"
mtd7: 00140000 00020000 "0:APPSBL"
mtd8: 00100000 00020000 "0:ART"
mtd9: 00080000 00020000 "0:TRAINING"
mtd10: 00200000 00020000 "CFG"
mtd11: 07800000 00020000 "rootfs"
mtd12: 00361468 0001f000 "kernel"
mtd13: 003e9800 0001f000 "wifi_fw"
mtd14: 02c14000 0001f000 "ubi_rootfs"
mtd15: 03830000 0001f000 "rootfs_data"

Current 6.6

root@OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "0:SBL1"                                                
mtd1: 00020000 00020000 "0:MIBIB"                                               
mtd2: 00040000 00020000 "0:BOOTCONFIG"                                          
mtd3: 00100000 00020000 "0:QSEE"                                                
mtd4: 00040000 00020000 "0:DEVCFG"                                              
mtd5: 00040000 00020000 "0:CDT"                                                 
mtd6: 00080000 00020000 "0:APPSBLENV"                                           
mtd7: 00140000 00020000 "0:APPSBL"                                              
mtd8: 00100000 00020000 "0:ART"                                                 
mtd9: 00020000 00020000 "0:TRAINING"                                            
mtd10: 00200000 00020000 "CFG"                                                  
mtd11: 07000000 00020000 "rootfs"                                               
root@OpenWrt:~# 

I will add the remaining partitions.