So before we get started just so you know I have read through the following:
[OpenWrt Wiki] Meraki MR52
How to Flash Cisco Meraki with OpenWRT
And, based on reports from the following:
Meraki Mr52 Ubootwrite.py - Installing and Using OpenWrt - OpenWrt Forum
[solved] Meraki MR52 eth0 not working, no phy - Installing and Using OpenWrt - OpenWrt Forum
Meraki MR52 5g radio problem - Installing and Using OpenWrt - OpenWrt Forum
MR52 users' experience - Installing and Using OpenWrt - OpenWrt Forum
I am using version 22.03.6
I have downloaded the various files. I've verified the tftp server works via tftp from a different host. I am powering the Meraki from a PoE switch
I have a serial console cable plugged into the Meraki and if I run Minicom and connect to /dev/ttyUSB0 I get plenty of screen output from the boot loader.
I'm using Ubuntu 16 because ubootwrite.py is written for python2.7 and trying to use it on Ubuntu 24 with python3 blows up with an error message.
I installed pyserial from here:
by downloading it and running
python setup.py install
However, when attempting to run ubootwrite.py I get these kinds of errors:
root@tedm-HP-Pavilion-17-Notebook-PC:/var/lib/tftpboot# python ubootwrite.py --write=mr52_u-boot.bin --serial /dev/ttyUSB0
Waiting for device...
Prompt is ' 7.791442] random: board_data_conf: uninitialized urandom read (4 bytes read, 66 bits of entropy available)
<Meraki> '
Traceback (most recent call last):
File "ubootwrite.py", line 223, in <module>
main()
File "ubootwrite.py", line 218, in main
upload(ser, options.write, int(options.size, 0), int(options.addr, 0), options.verbose, debug, options.shell)
File "ubootwrite.py", line 171, in upload
ret = memwrite(ser, path, size, start_addr, verbose, debug, shell)
File "ubootwrite.py", line 141, in memwrite
if not writecommand(ser, str_to_write, prompt, verbose):
File "ubootwrite.py", line 74, in writecommand
if (buf.decode("utf-8") != command):
File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf7 in position 1: invalid start byte
root@tedm-HP-Pavilion-17-Notebook-PC:/var/lib/tftpboot# python2.7 ubootwrite.py --write=mr52_u-boot.bin --serial /dev/ttyUSB0
Waiting for device...
Prompt is 'eraki> '
Found an error, so aborting
Done
root@tedm-HP-Pavilion-17-Notebook-PC:/var/lib/tftpboot# python2.7 ubootwrite.py --write=mr52_u-boot.bin --serial /dev/ttyUSB0
Waiting for device...
Prompt is 'eraki> '
Traceback (most recent call last):
File "ubootwrite.py", line 223, in <module>
main()
File "ubootwrite.py", line 218, in main
upload(ser, options.write, int(options.size, 0), int(options.addr, 0), options.verbose, debug, options.shell)
File "ubootwrite.py", line 171, in upload
ret = memwrite(ser, path, size, start_addr, verbose, debug, shell)
File "ubootwrite.py", line 141, in memwrite
if not writecommand(ser, str_to_write, prompt, verbose):
File "ubootwrite.py", line 74, in writecommand
if (buf.decode("utf-8") != command):
File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xbe in position 5: invalid start byte
root@tedm-HP-Pavilion-17-Notebook-PC:/var/lib/tftpboot# python -V
Python 2.7.12
root@tedm-HP-Pavilion-17-Notebook-PC:/var/lib/tftpboot#
Sometimes I get no output other times the output is different.
I'm using a CH340 clone for the 3v+ serial console cable that has worked fine with many other routers.
Does anyone have any advice as to what is going on here? If needed I can provide a boot output.
I can run any needed version of python or Linux or I can do this on Windows instead of Linux.
Is it possible that the python on Ubuntu is bad?