Will not boot


  • administrators

    You'll need the Expansion Dock and Ethernet Expansion.
    They can be ordered from our online store.



  • Hello,

    Has the guide to working with the expansion dock to flash it been posted yet? If so, can it be linked here. Thank you



  • @Daniel-Anner There's no way to flash a bricked Omega with just the expansion dock. You will also require the ethernet expansion.



  • @Boken-Lin I already have the Ethernet expansion. I just need the guide to flashing the bricked omega



  • @Daniel-Anner I don't have the guide written yet. We will make sure we do that next week.

    For the time being, here is a short guide:

    1. Ensure that the Expansion dock is in the OFF position
    2. Plug ethernet expansion to the expansion dock
    3. Connect your computer to the Omega with the ethernet expansion via ethernet cable
    4. Connect the micro USB cable to the Expansion Dock
    5. Start serial terminal
    6. Switch the Expansion dock to ON position
    7. At this point you will see some text appear in your serial terminal IMMEDIATELY PRESS ANY KEY ON YOUR COMPUTER. This will interrupt the normal booting sequence and put you into the uboot.
    8. Type httpd to start the httpd service in uboot. A message should tell you that a server is hosted in 192.168.1.1.
    9. Open up the browser on your computer, and navigate to http://192.168.1.1, here you will see an interface that allows you to upload and re-flash the firmware.

  • administrators

    @Boken-Lin said:

    @Daniel-Anner I don't have the guide written yet. We will make sure we do that next week.

    For the time being, here is a short guide:

    1. Ensure that the Expansion dock is in the OFF position
    2. Plug ethernet expansion to the expansion dock
    3. Connect your computer to the Omega with the ethernet expansion via ethernet cable
    4. Connect the micro USB cable to the Expansion Dock
    5. Start serial terminal
    6. Switch the Expansion dock to ON position
    7. At this point you will see some text appear in your serial terminal IMMEDIATELY PRESS ANY KEY ON YOUR COMPUTER. This will interrupt the normal booting sequence and put you into the uboot.
    8. Type httpd to start the httpd service in uboot. A message should tell you that a server is hosted in 192.168.1.1.
    9. Open up the browser on your computer, and navigate to http://192.168.1.1, here you will see an interface that allows you to upload and re-flash the firmware.

    There is not DHCP under boot loader, so before step 9 make sure you manually configure your computer with the same subnet as Omega. For example: 192.168.1.2, netmask 255.255.255.0



  • Is there a way to do this rescue procedure with the mini dock. So long as uboot's core issue is that it fails and needs a reflash, is there any way to add a rescue method besides httpd?

    Nominally, as it stands right now, there should be a way to boot from USB itself, right? Is there a flashable image we can put to usb drive, and boot from that instead of ROM image?



  • @Theodore-Borromeo There is a tftpboot option, though it requires a different format than the BIN file we're given for firmware updates.



  • @Andrew-Donnelly Do you know if there are any ways to convert a BIN file into a format that can be accepted by tftpboot?



  • @Boken-Lin Not from this format, I'm going to dig into the new firmware file's structure and see if I can't find the updated version of U-Boot and extract it, I figure if I can get that to load over tftpboot, then I could possibly trigger the httpd from that and upgrade.

    Update: I tried extracting the U-Boot from the working Omega and tftpbooting that on the bricked one, and no dice, "Bad Magic Number" same as the rest of my attempts.



  • @Andrew-Donnelly What magic number is it referring to? Is that just some number that we've set up as a part of the build process to identify the firmware?



  • @Andrew-Donnelly what is the format it requires? I'm pretty sure tftpboot can accept a bin, uImage or ELF executable. The biggest issue, I would think, is figuring out the hex offset that said images/binaries would need to be flashed at. . . @Boken-Lin can probably assist in that via contact with the manufacturers or a priori knowledge of the platform's memory layout šŸ˜‰



  • @Theodore-Borromeo Our firmware flashes at 0X20000



  • @Tom-Karickhoff This won't work as you're still booting from the same 0x9F020000 address (the internal image)

    Could we see if: http://www.chtaube.eu/kb/openwrt/debrick_tp-link_router

    contains a method that mini dock (or all non-ethernet expansion docks) can use? Serial communication should be possible with all docks, and so long as we have the boot sector and offset, we should be able to erase then load a new binary, correct?

    This may work as a short term solution until usb support is baked into uboot. . .



  • @Boken-Lin OK, so some quick googling shows an intrepid coder that is doing support for a firmware image based on Uboot 1.1.4 and AR9331 chipsets to imbue them with web failsafes (sound familiar).

    His project is at: https://github.com/pepe2k/u-boot_mod

    and he has modified sources provided from the release of tp-link and dlink routers:
    http://www.tp-link.com/en/gpl-code.html <-- TP-Link's WR740N v4 download was tested
    http://tsd.dlink.com.tw/downloads2008detail.asp <-- DLINK's DIR-505 (similar AR1311 chipset)

    Worse comes to worse, you should be able to glean the base configurations/settings necessary to build from source using the 1.1.4 tag w/o any special modifications, right?



  • @Theodore-Borromeo said:

    @Andrew-Donnelly what is the format it requires? I'm pretty sure tftpboot can accept a bin, uImage or ELF executable. The biggest issue, I would think, is figuring out the hex offset that said images/binaries would need to be flashed at. . . @Boken-Lin can probably assist in that via contact with the manufacturers or a priori knowledge of the platform's memory layout šŸ˜‰

    I got that far, but when I flashed the U-Boot was still looking in the wrong location and throws bad magic number when I try to boot from that location. I want to quickly confirm with devs if the firmware image that I listed on this post is indeed cleared to be flashed to this hardware, and if so, just start writing it at 20000?

    I work on the hardware and OS sides of the equipment, I don't normally do programming other than flashing systems from boot. We use a modified version of U-Boot at work too with some extra tools built in, the httpd server is a great public alternative to what we have baked into ours.



  • @Andrew-Donnelly I can confirm that if you have a stable firmware compiled for the Omega, you can just write it at 0x20000. That's what's typically done by the httpd server within uboot anyways.



  • @Boken-Lin said:

    @Andrew-Donnelly I can confirm that if you have a stable firmware compiled for the Omega, you can just write it at 0x20000. That's what's typically done by the httpd server within uboot anyways.

    So the latest build on the repo server, I should be able to copy into memory from tftp, and then write out to 0x20000 and i should be able to get this up and online, correct?

    I tried the following: I downloaded the latest build from repo, v0.0.4-b216.bin to my tftp server and renamed to 3700A8C0.img (the IP address hex backwards (little-endian)).

    ar7240> setenv ipaddr 192.168.0.55
    ar7240> setenv serverip 192.168.0.1
    ar7240> ping 192.168.0.1
    Using eth0 device
    host 192.168.0.1 is alive
    ar7240> tftpboot
    *** Warning: no boot file name; using '3700A8C0.img'
    Using eth0 device
    TFTP from server 192.168.0.1; our IP address is 192.168.0.55
    Filename '3700A8C0.img'.
    Load address: 0x81000000
    Loading: *
    TFTP error: 'File not found' (1)
    Starting again
    
    eth1 link down
    FAIL
    *** Warning: no boot file name; using '3700A8C0.img'
    Using eth0 device
    TFTP from server 192.168.0.1; our IP address is 192.168.0.55
    Filename '3700A8C0.img'.
    Load address: 0x81000000
    Loading: T
    TFTP error: 'File not found' (1)
    Starting again
    
    eth1 link down
    FAIL
    *** Warning: no boot file name; using '3700A8C0.img'
    Using eth0 device
    TFTP from server 192.168.0.1; our IP address is 192.168.0.55
    Filename '3700A8C0.img'.
    Load address: 0x81000000
    Loading: T #T #########################################################################
             #
             #########################################################################
             ###########################################################################
             ##########################################################################
             ##########################################################################
             ###########################################################################
             ##########################################################################
             ##########################################################################
             #
             #########################################################################
             ###########################################################################
             ##########################################################################
             ##########################################################################
             ###########################################################################
             ##########################################################################
             ##########################################################################
             #
             #########################################################################
             ###########################################################################
             ##########################################################################
             ##########################################################################
             ###########################################################################
             ##########################################################################
             ##########################################################################
             #
             #########################################################################
             ###########################################################################
             ##########################################################################
             ##########################################################################
             ###########################################################################
             ########################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #######################################################
    done
    Bytes transferred = 16252928 (f80000 hex)
    ar7240> md 81000000
    81000000: 01000000 4f70656e 57727400 00000000    ....OpenWrt.....
    81000010: 00000000 00000000 00000000 72343734    ............r474
    81000020: 30300000 00000000 00000000 00000000    00..............
    81000030: 00000000 00000000 00000000 00000000    ................
    81000040: 04700001 00000001 00000000 6c30ff2c    .p..........l0.,
    81000050: cfe8e07f a262e471 ed1a85a0 00000000    .....b.q........
    81000060: 00000000 00000000 00000000 00000000    ................
    81000070: 00000000 80060000 80060000 00f80000    ................
    81000080: 00000200 00116268 00100000 005f602a    ......bh....._`*
    81000090: 00000000 00000000 00000000 00000000    ................
    810000a0: 00000000 00000000 00000000 00000000    ................
    810000b0: 00000000 00000000 00000000 00000000    ................
    810000c0: 00000000 00000000 00000000 00000000    ................
    810000d0: 00000000 00000000 00000000 00000000    ................
    810000e0: 00000000 00000000 00000000 00000000    ................
    810000f0: 00000000 00000000 00000000 00000000    ................
    
    ar7240> cp 0x81000000 0x20000 0xf80000
    ar7240> reset
    Unknown command 'reset' - try 'help'
    ar7240>
    
    U-Boot 1.1.4 (Aug 28 2015 - 16:51:26)
    
    AP121 (ar9331) U-boot
    
    DRAM:  64 MB
    Top of RAM usable for U-Boot at: 84000000
    Reserving 140k for U-Boot at: 83fdc000
    Reserving 192k for malloc() at: 83fac000
    Reserving 44 Bytes for Board Info at: 83fabfd4
    Reserving 36 Bytes for Global Data at: 83fabfb0
    Reserving 128k for boot params() at: 83f8bfb0
    Stack Pointer at: 83f8bf98
    Now running in RAM - U-Boot at: 83fdc000
    Flash Manuf Id 0xef, DeviceId0 0x40, DeviceId1 0x18
    flash size 16777216, sector count = 256
    Flash: 16 MB
    Using default environment
    
    In:    serial
    Out:   serial
    Err:   serial
    Net:   ag7240_enet_initialize...
    No valid address in Flash. Using fixed address
    No valid address in Flash. Using fixed address
    : cfg1 0x5 cfg2 0x7114
    eth0: 00:03:7f:09:0b:ad
    eth0 up
    : cfg1 0xf cfg2 0x7214
    eth1: 00:03:7f:09:0b:ad
    athrs26_reg_init_lan
    ATHRS26: resetting s26
    ATHRS26: s26 reset done
    eth1 up
    eth0, eth1
    Hit any key to stop autoboot:  0
    ## Booting image at 9f300000 ...
    Bad Magic Number
    


  • @Andrew-Donnelly Oh, it seems that you are not using our uboot. 0x20000 only works with our uboot. Not sure which uboot you are using.



  • @Boken-Lin said:

    @Andrew-Donnelly Oh, it seems that you are not using our uboot. 0x20000 only works with our uboot. Not sure which uboot you are using.

    I'm using your manufacturing build's U-Boot. Please look at thread https://community.onion.io/topic/56/omega-doesn-t-to-appear-to-be-working and you'll see I have the same U-Boot as the other guy and it was advised to him that he had the manufacturing build of the OS and U-Boot on his device, same as mine. All I'm asking for is instructions to flash the device over from the manufacturing TEST BUILD to the current official build, there must be a way to do it, otherwise how could you have flashed all those devices before shipping them out?


Log in to reply
 

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