I have a Geeetech Iduino Yun Shield. I accidentally flashed the wrong firmware image (not the sysupgrade) to the board. I then tried using the Yun UBoot Reflash method. However, when I open the console monitor from the IDE and restart/reboot the board, I do not get the UBoot prompt. I have attempted to run it at least ten times without receiving any console/serial output.

EDIT: The shield is running on a Leonardo base board.

Is there anything I can do to load the correct firmware onto the board and get it operational or is the board truly bricked? If so, is it possible to obtain a new Atheros AR9331 board to replace the existing one or should I buy a new Yun?

Update: I have tried to get the shield to do an FTP boot, as detailed here by Majenko. I get to the stage where I get the dr_boot> prompt. However, when I type in tftpboot 0x81000000 dragino2-yun-common-v2.0.6-kernel.bin, I get no feedback; it just sits there indefinitely (unless I interupt the process). I can't figure out what I'm doing wrong.

  • What board is the shield plugged into?
    – Majenko
    May 7 '17 at 12:45
  • 2
    I'm voting to close this question as off-topic because it is about OpenWRT embedded Linux on an AR9331, not Arduino. TFTPBOOT is a complicated process - you need wired Ethernet connected, need to set up the network details, need to be running a server with the proper image, etc - you need to seek help with this in an OpenWRT forum, not here. Another option is to hold the ar91k processor in reset and use a tool to re-write the SPI flash chip. Aug 20 '17 at 2:33
  • @ChrisStratton Can it not be argued that while the question is to do to the OpenWRT embedded Linux on an AR9331, that happens to be the chip/system used on an Arduino shield, thus making it tangentially relevant and (partially) on topic to Arduino, rather than specific to OpenWRT and an AR9331, therefore completely off-topic? Is there a SE site that would be a better fit for the question? I'm not stating that your reasoning for closing is flat-out wrong, just that it seems somewhat restrictive/hair-splitting. Aug 21 '17 at 14:35
  • The point is that this has nothing to do with the Arduino ecosystem, and everything to do with OpenWRT - the simple solution didn't work according to your comments, so you really need to dig into the OpenWRT documentation from primary OpenWRT sources, rather than depend on the tiny trickle of 3rd hand information that might make it here. The shield you are working with right now is not an Arduino of any sort - you may be able to plug it into one, but the Arduino has nothing to do with the issue and would be best not connected during this Linux system image repair. Aug 21 '17 at 15:11

The shield is very different to the real Yun when it comes to serial communication.

Typically the Atheros's UART is mapped to pins 0/1 of the shield for communication with the board it is plugged in to. Those pins are also the pins you use to communicate with the PC, so the normal YunSerialTerminal sketch can't be used.

Instead you will have to lift those pins out of the socket they go into (depending on the shield you may just be able to bend them slightly) and then manually connect them (along with ground) to an external USB to UART adaptor (e.g., FT232) to use for the communication. Nothing needs to be installed into the Arduino board since that is now just being used as a power supply.

See this answer for which pins to use to run the shield stand-alone.

  • Thanks; I'll give it a try. Just to clarify that I understand your answer; the base board needn't have the Yun Serial sketch, but it should be loaded onto the shield through the separate UART. (I'm assuming that the shield has a AT Mega chip as found on the Leonardo.) May 9 '17 at 12:45
  • No, nothing needs loading anywhere. You just plug things together and connect to your USB to UART cable with a terminal program (maybe the serial console). If you have a suitable external power supply you can even do away with the Arduino and power the shield direct.
    – Majenko
    May 9 '17 at 12:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.