Meraki MR33 stuck on Uploading Image

Hello Guys,

i got my Merak MR33 a year ago but i wasn't able to flash it.

So i gave it a new try today and it failed again.

My Setup:

Here Picture of the wiring:

Here what i did:

apt update
apt install python-pip
pip install pyserial
stty -F /dev/ttyUSB0 115200 cs8 -cstopb -parenb

root@ubuntu:~# dmesg | grep tty

[ 0.000000] console [tty0] enabled
[ 51.733484] cdc_acm 2-4:1.1: ttyACM0: USB ACM device
[ 51.734274] cdc_acm 2-4:1.3: ttyACM1: USB ACM device
[ 51.734844] cdc_acm 2-4:1.9: ttyACM2: USB ACM device
[ 51.736182] usb 6-1: ch341-uart converter now attached to ttyUSB0

root@ubuntu:~# dmesg | egrep --color 'serial| ttyUSB'

[ 51.603075] usbcore: registered new interface driver usbserial_generic
[ 51.603095] usbserial: USB Serial support registered for generic
[ 51.730465] usbserial: USB Serial support registered for ch341-uart
[ 51.736182] usb 6-1: ch341-uart converter now attached to ttyUSB0

root@ubuntu:~# cd /media/ubuntu/casper-rw/MR33/ubootwrite/
root@ubuntu:/media/ubuntu/casper-rw/MR33/ubootwrite# chmod a+x ubootwrite.py
root@ubuntu:/media/ubuntu/casper-rw/MR33/ubootwrite# ./ubootwrite.py --write=mr33-uboot.bin

Uploading image

After 10min nothing happens so i stop the script with CTRL + C and get that output

^CTraceback (most recent call last):
File "./ubootwrite.py", line 221, in
main()
File "./ubootwrite.py", line 216, in main
upload(ser, options.write, int(options.size, 0), int(options.addr, 0), options.verbose, debug, options.shell)
File "./ubootwrite.py", line 170, in upload
ret = memwrite(ser, path, size, start_addr, verbose, debug, shell)
File "./ubootwrite.py", line 93, in memwrite
prompt = getprompt(ser, start_addr, verbose, shell)
File "./ubootwrite.py", line 59, in getprompt
buf = ser.read(256)
File "/usr/local/lib/python2.7/dist-packages/serial/serialposix.py", line 483, in read
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], , , timeout.time_left())
KeyboardInterrupt

Heres the Output i got when i use GTKterm

I don't know what i'm doing wrong the MR33 was never connected to the Internet. I got the Device 03/2018

Please help me to flash OpenWRT

Did you check that your serial connection is working? after wiring your USB TTL converter to the MR33, open a terminal session on your desktop system and power on the MR33. You should see the MR33 boot log scrolling down on the screen. Pressing Enter should give you a new line on the terminal.

2 Likes

Heres the Output i got when i use GTKterm

I think its somthing with the TXD. I added some Photos

The output looks like it should. Once the boot process has finished (after approx. 35 sec.): do you get a new line with a prompt in the terminal session, when you hit Enter ? if not, check the TxD connection. if you have a doubt about your USB TTL adapter: disconnect it from the MR33, connect the RxD and TxD wires: this should echo the keyboard to the terminal session.

I'll try that and post what happens.

Thanks for your support

I did it in GTKterm when i hit enter nothing happens.

I put a Jumper over RxD and Txd (See Pictures)

Stick whith Jumper Top
Stick whith Jumper Bottom
Stick acting LED

Then opend 2 Terminals

#1

root@ubuntu:~# echo "hello world" > /dev/ttyUSB0 

#2

root@ubuntu:~# cat /dev/ttyUSB0 > /media/ubuntu/casper-rw/ttyusb0_loopback.txt

Here content of the ttyusb0_loopback.txt

Don't know what i'm doing wrong :frowning:

Thanks for your Support. :grinning:

with RxD et TxD shorted, just open 1 terminal session (GTKTerm ?). any key you hit should now echo on the screen (it does not, if you remove the connection between RxD and TxD. also check that you removed any flow control in the terminal settings. once this is ok, back to the MR33. its pins are quite short, make sure that you get electrical contact for all 3 wires.

Das GTKTerm ist ein kleines schnelles Terminal wie z.B. XTerm oder das Gnome-Terminal (I think you will unterstand german :slight_smile: )

I'm not shure which terminal? When I start the Terminal Emulation under Xubuntu there will be nothing echoed. It just said

root@ubuntu:~#

I'm more the no need to open the devicce Flash guy :frowning: Which terminal are u using or how to use the Terminal Emulation to see the echo.

I double check that by switching RxD and Txd cause reading works apparently

Thank you again for your help

by "terminal" I mean a GTKTerm session which is connected to the USB serial adapter (ttyUSB0 according to your first message). you won't get any prompt there. after shorting RxD and TxD you should get echo of the characters you type. this validates that your USB serial adapter sends data on TxD.

I switched to Minicom cause its better pasteable:

Here the Settings:

Welcome to minicom 2.7.1                                                  
                                                                          
OPTI+-----------------------------------------------------------------------+
Comp| A -    Serial Device      : /dev/ttyUSB0                              |
Port| B - Lockfile Location     : /var/lock                                 |
    | C -   Callin Program      :                                           |
Pres| D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 115200 8N1                                |
    | F - Hardware Flow Control : No                                        |
    | G - Software Flow Control : No                                        |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+
            | Screen and keyboard      |                                  
            | Save setup as dfl        |                                  
            | Save setup as..          |                                  
            | Exit                     |                                  
            +--------------------------+                                  

Loopback test Echo Off:

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyUSB0, 12:05:11

Press CTRL-A Z for help on special keys

Test

CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7.1 | VT102 | Offline | tyUSB0

Loopback test Echo On:

Welcome to minicom 2.7.1                                                  
                                                                          
OPTIONS: I18n                                                             
Compiled on Aug 13 2017, 15:25:34.                                        
Port /dev/ttyUSB0, 12:04:16                                               
                                                                          
Press CTRL-A Z for help on special keys                                   
                                                                          
TTeesstt                                                                  
                                                                          
CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7.1 | VT102 | Offline | tyUSB0

I switched Rxd and Txd to proof connection working. Still can Read Data from MR33 so i think electical contact is OK

Hope you're not out of ideas :slight_smile: Would love to use that device with OpenWRT

Thanks for your help

With all power off, test continuity through the TXD wire from the end of the MR33 pin on the underside of the board all the way through to the underside of the pin on the adapter.

I did a continuity test form the adapter to the top side of the board evertyhing fine ... to the underside i had to disassemble the whole device. I'm sure i will break the antenna connectors. I don't think its a soldering thing.

One Question should there be TxD data when starting ubootwrite.py cause LED not doing anything when starting the Script only RxD is blinking as soon as i plug power to the MR33

Thanks for your help

as the install doc states, ubootwrite.py should quickly interrupt the normal MR33 boot process. from there on there should be a lot of TxD activity when the unlocked uboot is uploaded. did you check what I suggested earlier: connect the Minicom terminal to your MR33. during or after the boot process you should get some sort of reaction when you hit Enter (a new line or a prompt).

No reaction .. no new line, no prompt.:slightly_frowning_face:

here are the last Lines of the output

[   58.084633] CPU1: Booted secondary processor                                 
[   58.084692] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001                 
[   58.124342] CPU2: Booted secondary processor                                 
[   58.124393] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002                 
[   58.141213] CPU3: Booted secondary processor                                 
[   58.141271] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003                 
[   58.444948]                                                                  
[   58.444948] !!!!! {/usr/bin/brain} forkexec failed with status 255 cmd -iwpr 
[   58.460206]                                                                  
[   58.460206] !!!!! {/usr/bin/brain} forkexec failed with status 255 cmd -iwpr 
[   58.491988]                                                                  
[   58.491988] !!!!! {/usr/bin/brain} forkexec failed with status 255 cmd -iwpr 
[   58.506855]                                                                  
[   58.506855] !!!!! {/usr/bin/brain} forkexec failed with status 255 cmd -iwpr 
[   58.566857] In write handler 'device_id' for 'wired0/cdp_source :: CDPSource:
[   58.573070]   Bad string passed to device_id                                 
[   58.578157] In write handler 'device_id' for 'wired1/cdp_source :: CDPSource:
[   58.584809]   Bad string passed to device_id  

After powering theres a short TxD LED then only RxD :frowning:

I'm current using 3,3V (See Stick) Am I write with the jumper configuration and the wiring?

Thx you still helping

stay with 3.3V, don't try 5V. Having the minicom session to ttyUSB0 open, the TxD light of your USB stick should flash every time you hit the keyboard. Maybe the flash is very short. if you can't see anything, try with the TxD wire disconnected. if the RxD light bothers you, disconnect the RxD wire for a while. The purpose is to discover if your MR33 board is damaged and shorts the TxD signal.
I don't have a MR33 with original Meraki firmware at hand any more, but I am pretty sure that I got a prompt, or at least an echo in response to typing on the serial console.

Yep very short flash

Working with in all ways

The LED is flashig too wenn MR33 board is connected

No Promt no Echo, No new Line.

When the MR33 is finished booting its flashing Orange LED

ok, so the TxD light is alive.
the traceback in your first post shows: you interrupted the script in the getprompt function. the getprompt function sends a line feed, then checks for an echoed linefeed plus some prompt ending with > or # back from the MR33. if your MR33 does not show any reaction to keyboard input, the script won't work.
sorry, no more ideas.

Thanks for your help ... i will put it on the internet and let him doing an update.
Maybe there will be an option to flash in the future.

Well, it all depends on how bad you want it, nothing can stand a flash programmer and a soldering station.

You need programmer, adapter, soldering station and hands :wink:

:wink: i think not that bad :slight_smile:

1 Like