Support for Cisco MR32

Hi
I just want to disable the Cisco license so I can use this without buying

thanks

If you or someone else ports OpenWrt for the device, then you can replace the firmware with OpenWrt.

Nobody here can help you disable the Cisco licensing for the firmware for the device.

Any progress on this project guys?

FYI - OpenWrt support for MR32 has been added with https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=0e4092cbade0a601a2e924932c8b900aef5a11a4

See also there for installation instructions.

BTW: The installation instructions speak of initramfs + dtb to be needed for initial installation.
Since they are not available on downloads.openwrt.org: Where can one get those?

Same here. Need help.
I can't figure out from the instructions where or how to get "mr32-initramfs.bin" file referenced in the instructions.

On a side note - good job with the disassembly instructions! I'm attaching a picture with the serial pinout:

The initramfs image can be generated by building openwrt with CONFIG_TARGET_ROOTFS_INITRAMFS option enabled manually.

(On other targets (like ramips), there's the "initramfs" feature-flag that enables this by default. But enabling it for just one device is a bit "meh". Port more devices and there is maybe a case.)

1 Like

First - thank you very much for the quick reply and pointing us in the right direction!

I'm afraid this exceeds a bit my skills and setup right now. I got donated a few of those devices and was hoping to turn them to dummy APs as give-aways. I'm finding those days kids and parents quite appreciate such gifts! :slight_smile:

Even despite being limited to 1x1 it is still a good and usable device. It's a pity to have to throw it away.

I understand that this might be a rather inefficient thing to do but if someone could do a one-time build with all the necessary files (enough to convert the device the first time) I would much appreciate the help!

It's all there:

For the MR32 you just need to do things a little bit different in Step 3.

  • “Target System” ⇒ “Select” ⇒ “Broadcom BCM47xx/53xx (ARM)" ⇒ "Select"
  • “Target Profile” ⇒ “Select” ⇒ “MR32” ⇒ “Select”
  • "Target Images" ⇒ "Select" ⇒ "ramdisk" ⇒ "Select"

Please no. Don't give MR32s away as "gifts". Especially AP-devices (the MX64 routers do at least have some use without a WIFI) really need a WIFI driver for their main radios before they are even remotely useful. There are much better "give-away devices" like the WNDR3700. they "just work" and hence are much better ambassadors.

Also, Cisco Meraki has an active interest in making sure there's no alternative firmware for second hand market for their devices. A bunch of MR33 (the MR32 successor) were bricked because of that:

First - thank you for the quick reply! Those instructions look like a step towards the answer.

Is there anything specific that's required for the build?

I followed all the steps but it fails with an error:

make[3] -C package/utils/busybox compile
make[3] -C package/utils/nvram compile
make[3] -C package/utils/osafeloader compile
make[3] -C package/utils/oseama compile
make[3] -C package/utils/otrx compile
make[2] package/install
make[2] target/install
make[3] -C target/linux install
ERROR: target/linux failed to build.
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [/home/owrt/openwrt/include/[toplevel.mk:242](http://toplevel.mk:242): world] Error 1
owrt@osboxes:~/openwrt$

Is there anything else specific that I need for this build? I did specify the 3 items in the instructions.

I am going to rerun the build with those debug flags (and hopefully they suggest what's missing).

Thanks

or more precisely, the error is:

make -j1 V=s
...
cat /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/image-bcm47081-tplink-archer-c5-v2.dtb >> /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tplink_archer-c5-v2-kernel.bin
/home/owrt/openwrt/staging_dir/host/bin/lzma e /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tplink_archer-c5-v2-kernel.bin -d16  /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tplink_archer-c5-v2-kernel.bin.new
mv /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tplink_archer-c5-v2-kernel.bin.new /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tplink_archer-c5-v2-kernel.bin
[ -f /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tplink_archer-c5-v2-kernel.bin -a -f /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/root.squashfs ]
dd if=/home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/root.squashfs >> /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-tplink_archer-c5-v2-squashfs.bin
5690+1 records in
5690+1 records out
2913328 bytes (2.9 MB, 2.8 MiB) copied, 0.0308526 s, 94.4 MB/s
/home/owrt/openwrt/staging_dir/host/bin/trx -o /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-tplink_archer-c5-v2-squashfs.bin.trx -m 33554432 -f /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tplink_archer-c5-v2-kernel.bin -a 1024
mjn3's trx replacement - v0.81.1
WARNING: maxlen exceeds default maximum!  Beware of overwriting nvram!
/home/owrt/openwrt/staging_dir/host/bin/tplink-safeloader -B ARCHER-C5-V2 -k /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-tplink_archer-c5-v2-squashfs.bin.trx -r /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-tplink_archer-c5-v2-squashfs.bin -j -o /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-tplink_archer-c5-v2-squashfs.bin.new
os-image partition too big (more than 2097152 bytes): Success
make[5]: *** [Makefile:461: /home/owrt/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-tplink_archer-c5-v2-squashfs.bin] Error 1
make[5]: Leaving directory '/home/owrt/openwrt/target/linux/bcm53xx/image'
make[4]: *** [Makefile:32: install] Error 2
make[4]: Leaving directory '/home/owrt/openwrt/target/linux/bcm53xx'
make[3]: *** [Makefile:13: install] Error 2
make[3]: Leaving directory '/home/owrt/openwrt/target/linux'
time: target/linux/install#119.64#41.13#169.12
    ERROR: target/linux failed to build.
make[2]: *** [target/Makefile:25: target/linux/install] Error 1
make[2]: Leaving directory '/home/owrt/openwrt'
make[1]: *** [target/Makefile:19: /home/owrt/openwrt/staging_dir/target-arm_cortex-a9_musl_eabi/stamp/.target_install] Error 2
make[1]: Leaving directory '/home/owrt/openwrt'
make: *** [/home/owrt/openwrt/include/toplevel.mk:242: world] Error 2
owrt@osboxes:~/openwrt$

Heh :sweat_smile:. This went almost as well as expected for that target, you see what you are up against... Well, you don't know it, but the initramfs are build before the images are being done. So check your /home/owrt/openwrtbin/targets/bcm53xx/generic/ for the openwrt-bcm53xx-generic-meraki_mr32-initramfs.bin. This is that mr32-initramfs.bin .

(Maybe CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA=y needs to be enabled as well. But from what I remember the MR32 uses kexec and it wouldn't boot
smaller images. We'll see.)

1 Like

HA! You are right! :slight_smile:

owrt@osboxes:~/openwrt$ find . -name *initramfs.bin
./bin/targets/bcm53xx/generic/openwrt-bcm53xx-generic-smartrg_sr400ac-initramfs.bin
./bin/targets/bcm53xx/generic/openwrt-bcm53xx-generic-meraki_mr32-initramfs.bin
./build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-smartrg_sr400ac-initramfs.bin
./build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-meraki_mr32-initramfs.bin

owrt@osboxes:~/openwrt$ ls -la ./bin/targets/bcm53xx/generic/openwrt-bcm53xx-generic-meraki_mr32-initramfs.bin
-rw-r--r-- 1 owrt owrt 10362880 Dec 13 00:37 ./bin/targets/bcm53xx/generic/openwrt-bcm53xx-generic-meraki_mr32-initramfs.bin

owrt@osboxes:~/openwrt$ ls -la ./build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-meraki_mr32-initramfs.bin
-rw-r--r-- 1 owrt owrt 10362880 Dec 13 00:37 ./build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-meraki_mr32-initramfs.bin
owrt@osboxes:~/openwrt$ 

I also see "openwrt-bcm53xx-generic-meraki_mr32-squashfs.sysupgrade.bin" in the same folder.

It seems "./bin/targets" is where all the output went to (and the two files seem identical).
For the record - version.buildinfo says: r15204-b2d48c1dfe

I guess I'll give it a shot and report - hopefully all working! :slight_smile:

Did it work?

any luck with this topic ?

I'd be happy to know if it worked...
Could you let us know please?

Thx!

Hey,

I´m also trying to get the MR32 working. Tomorrow the USB TTL will arrive. Then i try to flash the AP.
I will work with this https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=0e4092cbade0a601a2e924932c8b900aef5a11a4

I have questions left:
where is the download for: "now to flash the firmware:
odm firmware part.safe "http://192.168.1.2/mr32-initramfs.bin""

See above: Support for Cisco MR32 - #15 by chunkeey

Ok i have also Problems by compiling the firmware:

make[5]: *** [Makefile:456: /home/domme/openwrt/build_dir/target-arm_cortex-a9_musl_eabi/linux-bcm53xx_generic/tmp/openwrt-bcm53xx-generic-tplink_archer-c5-v2-squashfs.bin] Error 1
make[5]: Leaving directory '/home/domme/openwrt/target/linux/bcm53xx/image'
make[4]: *** [Makefile:30: install] Error 2
make[4]: Leaving directory '/home/domme/openwrt/target/linux/bcm53xx'
make[3]: *** [Makefile:11: install] Error 2
make[3]: Leaving directory '/home/domme/openwrt/target/linux'
time: target/linux/install#42.97#13.22#56.28
    ERROR: target/linux failed to build.
make[2]: *** [target/Makefile:25: target/linux/install] Error 1
make[2]: Leaving directory '/home/domme/openwrt'
make[1]: *** [target/Makefile:19: /home/domme/openwrt/staging_dir/target-arm_cortex-a9_musl_eabi/stamp/.target_install] Error 2
make[1]: Leaving directory '/home/domme/openwrt'
make: *** [/home/domme/openwrt/include/toplevel.mk:230: world] Error 2

Okay more and more progress while compiling.
After 4 hours of compiling with out erros ist stopped becaus my 25 GB Linux server run out of space.

I will tell you more when i added more space and compiled 4 hours again!

First thing first:
I Have 6 MR32 waiting to be freed from Meraki...

From now on what i managed to get is this, after hours of compiling:
3 Files:
openwrt-bcm53xx-generic-meraki_mr32.manifest
openwrt-bcm53xx-generic-meraki_mr32-initramfs.bin
openwrt-bcm53xx-generic-meraki_mr32-squashfs.sysupgrade.bin
(if you need one of thoose file i can upload it somewhere for you.

I have a FTDI232 USB adaptator and succesfully connected it to the Meraki MR32.
While booting, the MR32 is giving me a lot of informations via Putty such as this uboot version:
U-Boot 2012.10-00075-g79231c6

Now i need some help to get the next steps. I'll be happy to test anything if someone knows what i should do.

Thank you!

1 Like