Copy firmware from usb



  • I can't install firmware from usb storage, always stuck. I entered in boot's console mode and executed this commands:
    usb reset
    fathead usb 0:1 0x80000000 omega2.bin // this copy my omega2 file into RAM starting with 0x80000000
    boot 0x80000000

    after this my omega is rebooting and I see the welcome screen again.

    upd: according to log file
    FAT: 7078054 Bytes read Omega2 # bootm 0x80000000 ##Booting image at 80000000 ... Image Name: MIPS LEDE Linux-4.4.46 Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1311622 Bytes = 1.3 MB Load Address: 80000000 Entry Point: 80000000 Verifying Checksum ... OK Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover

    how can I transfer omega2.bin file from usb to local storage of omega to boot from this one? I'm not able to use ethernet



  • @Ilya-Mordasov
    I am assuming that you have read through the docs at Firmware Flashing from USB Storage ?

    • Basically, using a fat32 formatted usb, name the file omega2.bin in the root dir, which it looks like you have done;
    • Insert the usb, hook up the usb cable to either mini dock or expnasion dock so you can access the console;
    • Connect to the console using a terminal emulator;
    • Press and hold the reset button and power on the device, then release the reset button.

    If done successfully, you will get the bootloader menu:

       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f60000
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    *** Warning - bad CRC, using default environment
    
    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3
    --------------------------------------------
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Oct 18 2016  Time:17:29:05
    ============================================
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768
    CPU freq = 575 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    
    
    You have 40 seconds left to select a menu option...
    
    
    Please select option:
       [ Enter ]: Boot Omega2.
       [ 0 ]: Start Web recovery mode.
       [ 1 ]: Start command line mode.
       [ 2 ]: Flash firmware from USB storage.
    

    As it says, you have 40 seconds to press '2' to start the loading process of your omega2.bin file.



  • @cas Sure I read this docs and didn't have troubles with it, but now, when I choose option 2 (Flash firmware from USB storage) I stuck with TIMEOUT issue
    *ERROR: CTL:TIMEOUT X BBB_reset usb_control_msg: request: 0xFF, requesttype: 0x21 value 0x0 index 0x0 length 0x0 ERROR: CTL:TIMEOUT X

    I found out that usb works fine if I reset USB bus, so that I enter in command line mode and execute the commands I wrote above.

    If I put my firmware to the address 0x80000000, that I have LZMA error (I guess it's okay, because it seems to me uboot is there), so now I put omega2.bin to 0x80800000, and it's started booting, but returned me to the first screen (forgot to log it), of course, after rebooting my RAM is free, so how can I transfer omega2.bin to local storage to boot from firmware?

    Here is my log file after bootm 0x80800000
    https://pastebin.com/embed_js/vnpm2eb2



  • @Ilya-Mordasov
    I expect that the answer lies in understanding the various uboot commands and finding the correct ones to load your firmware and then write your new firmware to the flash.
    However, you probably need someone (not me) who could give you 100% the right information and commands, so it's probably not a good idea to experiment with trial-and-error as fiddling with these could corrupt your flash and perhaps render your Omega unbootable.


  • administrators

    @Ilya-Mordasov
    As I previously mentioned on the helpdesk, we're not able to provide in-depth support to users who have completely erased their flash storage, other than posting the binary for the Omega2 bootloader and assuming you have the tools and knowledge required.
    Also, it seems that you are trying to perform this operation on the Omega2 without a Dock. The lack of a Dock is most likely the reason that the USB firmware restore is not working for you as USB is a high frequency protocol and requires impedance matched data lines for proper data transmission.
    My recommendation is to buy a Dock as well as a new Omega. You can use the Dock to try to reinstall the firmware on your existing Omega, and then have a back-up in case the recovery doesn't work.



  • @Pavel-Metrokhin какая-то странная ситуация, вы открещиваетесь от дальнейшей поддержки девелоперской платы, выпущенной вашей компанией как раз для разработки в случае, если дефолтное состояние было нарушено (в моем случае - стер загрузчик, причем стер средствами нативного кода, зашитым при покупке самой платы), при этом проблема не возникла из неоткуда, а наблюдалась с самого начала получения мной платы (наша ранняя беседа в хелпдеске) - и, с учетом, частоты вашей поддержки я искал пути решения проблемы, которая не позволяла мне пользоваться полноценно покупкой. Ваш бутлоадер мне помог стартовать плату, но bootcmd по умолчанию настроен на tftp инициализацию, при покупке не было указано, что для работы платы требуется ваш док, я использую свои макеты, не вижу смысла покупать новую плату из-за того, что ваша компания не дает компетентной поддержки


Log in to reply
 

Looks like your connection to Community was lost, please wait while we try to reconnect.