AI7688 update issue

@WereCatf ,

It seems like default factory partition has been erased as per erase command executed so far..Only Boot loader partition is remained as it is.

But now we have to flash Kernel and File System as seperate image or combined sysfc upgrade image from provided boot loader but some how it seems like cp.linux command is not working or getting wrong address or don;t know exact load address because cp.linux command is return within one or less second after executing it

So, Don;t know like where exectly issue is like boot loader issue or memory address issue or loading address issue..

Regards,
Ritesh Prajapati

I already told you: it looks like cp.linux is useless and you need to either look at the spi commands of uboot or you need to replace the installed uboot with a better version.

Thanks @WereCatf for providing quick response.

We will check SPI related commands and let you know further updates with results for the same.

Regards,
Ritesh Prajapati

Hello @WereCatf ,

We have checked SPI commands as well but seems to be no any proper support or not working. Then we have dig into boot loader source code and found that option 0 is disabled to showcase into help of image flash loading option.

So, We have added and used that option which is working fine to update sysupgrade image into SPI Flash Memory

Thanks for providing support and help for the same.

Regards,
Ritesh Prajapati

That's good. It would be helpful, if you documented exactly what you changed, so if someone else has the same problem, they might find this thread via Google.

@WereCatf ,

We have checked into boot loader source and found that there is option 0 available but not shown into choose options

File Name - (https://github.com/AcSiP/linkit-smart-7688-uboot/blob/AI7688H__64MB/lib_mips/board.c)

#define SEL_LOAD_LINUX_WRITE_FLASH_BY_SERIAL 0
#define SEL_LOAD_LINUX_SDRAM 1
#define SEL_LOAD_LINUX_WRITE_FLASH 2
#define SEL_BOOT_FLASH 3
#define SEL_ENTER_CLI 4
#define SEL_LOAD_BOOT_WRITE_FLASH_BY_SERIAL 7
#define SEL_LOAD_BOOT_SDRAM 8
#define SEL_LOAD_BOOT_WRITE_FLASH 9

void OperationSelect(void)
{
printf("\nPlease choose the operation: \n");
printf(" %d: Load system code to SDRAM via TFTP. \n", SEL_LOAD_LINUX_SDRAM);
printf(" %d: Load system code then write to Flash via TFTP. \n", SEL_LOAD_LINUX_WRITE_FLASH);
printf(" %d: Boot system code via Flash (default).\n", SEL_BOOT_FLASH);
#ifdef RALINK_CMDLINE
printf(" %d: Entr boot command line interface.\n", SEL_ENTER_CLI);
#endif // RALINK_CMDLINE //
#ifdef RALINK_UPGRADE_BY_SERIAL
printf(" %d: Load Boot Loader code then write to Flash via Serial. \n", SEL_LOAD_BOOT_WRITE_FLASH_BY_SERIAL);
#endif // RALINK_UPGRADE_BY_SERIAL //
printf(" %d: Load Boot Loader code then write to Flash via TFTP. \n", SEL_LOAD_BOOT_WRITE_FLASH);
}

As you can see above that there are all options defined for Linux Image write into Flash Memory and Boot Loader Image into Flash Memory

#define SEL_LOAD_LINUX_WRITE_FLASH_BY_SERIAL 0
#define SEL_LOAD_BOOT_WRITE_FLASH_BY_SERIAL 7

So, Above both option will be useful to write boot loader and sysupgrade images into flash memory from boot loader through serial

We got success to flash both boot loader and sysfsupgrade images successfully into flash memory

Let me know if need anything else from my end

Regards,
Ritesh Prajapati

2 Likes

Hi all,

Issue is resolved by using the hidden option as provided by @Ritesh sir.

Now we can use the above hidden options to update the sysupgrade image in AI7688 module.

Thanks,
Lad Dhawal Umesh

1 Like

Hello @WereCatf ,

Let us know if need anything else or if we are missing anything to include as per solution details provided into last thread.

Regards,
Ritesh Prajapati

hello @dhawal

I try to upload firmware by loadb command using minicom kermit but it's not work.
what tool I should use?

Thank you

Hi @wattzhang,

Which option you are usuing to upload the firmware from uboot

There is one hidden option to upload the firmware. Instead of going in u-boot mode you can select the option 0, and directly select the file and upload the firmware. Rest of the stuf will be done by u-boot itself.

Thaknks,
Lad Dhawal Umesh