Adding OpenWrt support for MR74

Well, your device is known-broken (and therefore disabled at the moment), 'just' fix that and get the image/ package building for free.

--
Yes, this is easier said than done, but there is no alternative to that.

Images are back, the issue was discovered and fixed.

You are a hero on this one. I have some projects for family and friends that use all the MR74s I have currently. Ever since I started using OpenWRT along time ago I have found it so addicting. I hope to find a way to contribute to the ecosystem better someday.

The only problem with that will be the ART partition has the calibration file for just that device. I can send a dump of my MR74 once I get a new stable release working. What is the best place to upload to for files that are around a GB?

Your best option is to use a 360clip with a programmer. I have used that for a few years now. They make them for the TSOP-48 and it works like a champ!

No, I'm not - thank @robimarko for coming up with the hypothesis :slight_smile:

@phantomstranger I have Xgecu T48 with tsop adapter, clip360 and couple of brand new empty flash chips. For file uploads msybe google drive shared read-only link, file.io or mega?

Well it seems that the snapshot has soft-bricked the MR74. Not sure where it went wrong at this time but when I have the chance I will send the boot log. So far the device shows the standard orange light comes on as it starts to load then the led goes out. It doesn't seem to get its IP at all. The activity light blinks like it is trying to communicate but nothing seems to happen.

This can mean two things:

  • Some required network configuration changes weren't performed - the target moved to DSA and even single-port devices need updating
  • Some package was missing from the build, to control the RGB LED.

Try performing safeboot procedure and see if you can connect - orange LED disappearing means that at least the kernel starts booting.

Ohh man I didn't even think about it becoming a DHCP server lol. I'll do that a little later this evening and see if that it is handing out DHCP. Thanks for the reminder. I had a PEBCAK moment.

I installed the package to control the LEDs but I still only have the orange light available.

That's strange. This part wasn't touched for a long time - could you double check if it's right package? MR33 and MR74 didn't use the infamous NU801, but a driver from TI, if I'm not mistaken.

Hi,

Maybe somebody have full NAND dump with old bootloader?

I would be grateful if you could share it :slight_smile:

I uploaded the bootloader, the first 660KB from Meraki MR33 (2012 U-boot) and it started. Later, images from clayface from previous posts and OpenWrt is already in NAND :-). Is there a chance to turn on the radio? Everything looks like in MR33, maybe it's a matter of PINOUT for the radio chip to be supported?

It's the exact same hardware, down to every detail, save for outdoor case.
One thing is possible, that MR33's U-boot may select device tree for MR33 and not MR74 in the image, that may affect booting, but it only differs by unit name.

1 Like

The wifi interface is not up, what could be the reason :thinking: Log below.
OpenWrt SNAPSHOT, r23939-a33f1d3515

typ[    9.955355] kmodloader: loading kernel modules from /etc/modules.d/*
[   10.051734] Loading modules backported from Linux version v6.5-0-g2dde18cd1d8f
[   10.051786] Backport generated by backports.git v5.15.92-1-56-g5fb2ccb6b9e8
[   10.162032] PPP generic driver version 2.4.2
[   10.164048] NET: Registered PF_PPPOX protocol family
[   10.192795] ath10k 5.12 driver, optimized for CT firmware, probing pci device: 0x50.
[   10.193801] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142)
[   10.200197] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[   10.841988] urngd: v1.0.2 started.
[   11.607305] ath10k_pci 0000:01:00.0: qca9887 hw1.0 target 0x4100016d chip_id 0x004000ff sub 0000:0000
[   11.607375] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   11.617603] ath10k_pci 0000:01:00.0: firmware ver 10.1-ct-87-__fW-022-ecad3248 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT crc32 61a92df5
[   11.992990] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 546cca0d
[   11.994593] ath10k_pci 0000:01:00.0: failed to read device EEPROM at 0000
[   11.999229] ath10k_pci 0000:01:00.0: failed to read calibration data from EEPROM: -22
[   12.034082] ath10k_pci 0000:01:00.0: otp calibration failed: 2
[   12.034122] ath10k_pci 0000:01:00.0: failed to run otp: -22 (download-cal-data)
[   12.038858] ath10k_pci 0000:01:00.0: could not init core (-22)
[   12.046157] ath10k_pci 0000:01:00.0: could not probe fw (-22)
[   13.617579] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003900ff sub 0000:0000
[   13.617647] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   13.629442] ath10k_ahb a000000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b
[   13.741365] ath10k_ahb a000000.wifi: failed to fetch board data for bus=ahb,vendor=0000,device=0000,subsystem-vendor=0000,subsystem-device=0000,variant=Meraki-MR33 from ath10k/QCA4019/hw1.0/board-2.bin
[   13.953720] ath10k_ahb a000000.wifi: failed to fetch board-2.bin or board.bin from ath10k/QCA4019/hw1.0
[   13.953796] ath10k_ahb a000000.wifi: failed to fetch board file: -12
[   13.962317] ath10k_ahb a000000.wifi: could not probe fw (-12)
[   15.072061] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003900ff sub 0000:0000
[   15.072146] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   15.085515] ath10k_ahb a800000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b
[   15.116172] ath10k_ahb a800000.wifi: failed to fetch board data for bus=ahb,vendor=0000,device=0000,subsystem-vendor=0000,subsystem-device=0000,variant=Meraki-MR33 from ath10k/QCA4019/hw1.0/board-2.bin
[   15.352134] ath10k_ahb a800000.wifi: failed to fetch board-2.bin or board.bin from ath10k/QCA4019/hw1.0
[   15.352207] ath10k_ahb a800000.wifi: failed to fetch board file: -12
[   15.360726] ath10k_ahb a800000.wifi: could not probe fw (-12)

Calibration data didn't load, possibly because of missing board data package for the unit (there were some shenaningans with that recently, or calibration data extraction code didn't trigger for MR74. Do you have valid data on /dev/ubi0_6?
What do you have under /lib/firmware/ath10k?

Thank you for your answer and TIP Leo, unfortunately my knowledge and knowledge of this system do not allow for such diagnoses I admire :slight_smile:

`/lib/firmware/ath10k looks good

root@OpenWrt:/lib/firmware/ath10k# ll
drwxr-xr-x    4 root     root            45 Sep 15 18:43 ./
drwxr-xr-x    3 root     root            50 Sep 15 18:43 ../
drwxr-xr-x    3 root     root            28 Sep 15 18:43 QCA4019/
drwxr-xr-x    3 root     root            28 Sep 15 18:43 QCA9887/
root@OpenWrt:/lib/firmware/ath10k#

But /dev/ubi0_6 missing, what are the steps to recover this partition? I have a TSOP clip but my knowledge of the memory layout is minimal....

Przechwytywanie

Then please check contents of mtd10 partition (ART), it should contain calibration data too. I'd be surprised, that it didn't get used as a backup, though, because of that:

	meraki,mr33 |\
	meraki,mr74)
		caldata_extract_ubi "ART" 0x9000 0x844
		caldata_valid "4408" || caldata_extract "ART" 0x9000 0x844
		;;
	esac
	;;

It means, that this copy is most probably missing too.
If not empty, you can dump that and upload somewhere. hexdump -C /dev/mtd10 will tell.

1 Like

OK.

It turns out that I permanently deleted the ART partition :frowning: . What's comforting is that I have a backup from another MR74

Unfortunately, this method does not work and u-boot is probably limited because I cannot set tftp, I tried methods from

and mtd command

root@mr741:/# mtd write /tmp/art.backup ART
Could not open mtd device: ART
Can't open device for writing!

I can't install too
kmod-mtd-rw
because the kernel is incompatible with the package
The installed version of package kernel is not compatible, require 5.15.131-1-ab61d76c… while 5.10.120-1-64d8abcb… is installed.

Edit:

I do something stupid and restore all ubi and art partition from another device and radio working normal now :slight_smile:
kmod-mtd-rw

`
root@OpenWrt:~#insmod mtd-rw.ko i_want_a_brick=1
root@OpenWrt:~# mtd -r write /tmp/mr742.mtd11.bin ubi
Unlocking ubi ...

Writing from /tmp/mr742.mtd11.bin to ubi ...
Rebooting ...

`
Well, I had nothing to lose and so I took the risk :slight_smile:
This is not a recommended option for restoring ubi partitions via dd, but it helped me and revived mr74 after deleting ART.