OpenWrt installation on MR33

I've gone through the various posts on this site, but I've come to a roadblock that doesn't appear to have been solved yet.

My Setup:

  • Meraki MR33, with the flashable firmware version 2012.07
  • CP2102 USB to TTL is able to connect fine via Putty.
  • Windows 10 with Python 3.8.5

I ran into similar issues from the other posts:

  • No module named serial. Installed pyserial
  • The tab and space inconsistencies. I was able to rectify this through debugging.

Where I'm getting stuck at is:

C:\Users\User>python C:\mr33\ubootwrite.py --serial=COM5 --write=C:\mr33\mr33-uboot.bin
Uploading image
Traceback (most recent call last):
  File "C:\mr33\ubootwrite.py", line 221, in <module>
    main()
  File "C:\mr33\ubootwrite.py", line 216, in main
    upload(ser, options.write, int(options.size, 0), int(options.addr, 0), options.verbose, debug, options.shell)
  File "C:\mr33\ubootwrite.py", line 170, in upload
    ret = memwrite(ser, path, size, start_addr, verbose, debug, shell)
  File "C:\mr33\ubootwrite.py", line 93, in memwrite
    prompt = getprompt(ser, start_addr, verbose, shell)
  File "C:\mr33\ubootwrite.py", line 37, in getprompt
    combined = oldbuf+buf
TypeError: can only concatenate str (not "bytes") to str

I made the following modification to the script after doing some research:

                    oldbuf = buf

                    buf = ser.read(256);

                    combined = str(b'oldbuf', 'utf-8')+str(b'buf', 'utf-8')

This change didn't throw an error any longer, but it also doesn't successfully upload the image to the MR33. It just sits at "Uploading image" and never does anything. I tried initiating it at different times (Initiate right before attaching power to the MR33; initiate after it's had a few minutes to boot; etc.)

Has anyone been able to get past this successfully or know what may be wrong with the above code correction? Thanks!

May I ask what guide you've used? The LEDE guide I've found for this device is 3 years old. So the toolchain used is quite old. Newer toolchain might fail.

Did you try a flash with 19.07 over manufacturer firmware gui already? It might be the device site got no update and it is working with newer builds out of the box.
But I don't know (just a guess). So its better to wait for someone wiht more clue about this device.

Flashing Instructions For The
Cisco Meraki MR33
Revision 0.9.1 - 2018-12-25
https://wiki.openwrt.org/toh/meraki/mr33

That's what I'm following. It is fairly old, but I expect it should work since I'm on the older firmware version that it's known to work with.

Yes, I understand. But what I mean. Things have changed within 3 years for Windows and for Python also. So I would first try an older Python version. E. g. the last released v2.7?

I think you need python 2. There are syntactical and data type changes that cause programs written for python 3.X to crash on python 2.X, and vise versa.

So python 2.7 is still around to run old programs.

1 Like