Possible problems after updating firmware or maintenance firmware

Q

I've just updated the LFW as well as MFW, my application and FDL, HWC are not changed. After a reset, the LFW doesn't work any more, but with the old version everything worked fine. What could be the problem?

A

Please check first the status of the SYS led.

If it's green, it means that the LFW of the COM side has started correctly. This can be a problem with an incompatible file system. Please follow the instruction of "SYS led is Green".

If the SYS led is off, it means no supply voltage or hardware defect. During a firmware reset, the SYS led is also off. Further information can be found in section "SYS led is off ".

If the SYS led is yellow, it means that the LFW of the COM side failed to start. Most cases are hardware configuration issues. Please check with the following steps.

SYS led is Yellow

The solid yellow led indicates a so called middleware error. This error is thrown if the operating system is unable to access a necessary resource. This issue occurs mostly because the shared devices are not assigned correctly in the HWC or MWC.

Generally, the host application can run normally in this case. It would get possibly an ERR_HIL_FIRMWARE_STARTUP_ERROR (0xC0000129), after sending SET_CONFIGURATION_REQ packet to netX90 protocol stack.

If you are running a netX90 host example on application side with netX Studio, you can try to check the system error code at the address 0xb00000c8 of the internal DPM. It might be the code ERR_HIL_UNKNOWN_DEVICE(0xC0001001).

As it is a probelm of hardware configuration, please check the configuration of your hardware config file (*.xml), and "Build Hardware Configuration..." to create the new *.hwc and *.mwc with the latest netX Studio CDT tool, which integrates the current version of the hardware config tool.
https://hilscher.atlassian.net/wiki/display/NDT/

Sometimes, the ERR_HIL_FIRMWARE_STARTUP_ERROR returns, if the uart firewall is not set correctly. (e.g. If you set APP has read/write access to uart firewall, then you must disable uart 0 of LFW via taglist editor.)

SYS led is Green

If it's use case C, please make sure first, that the LFW version is compatible with MFW version.
Which Maintenance Firmware is compatible to which protocol firmware (netX90 Use Case C)?

The SYS led is green, it looks like the LFW runs normally, but you might have problems to download or upload files. The following error codes might be retruned. These errors caused possilbly by an incompatible flash file system(FFT).

ERR_HIL_WRITE(0xC0001154)
ERR_HIL_VOLUME(0xC0001161)
ERR_HIL_ERASE(0xC0001166)
ERR_HIL_OPEN(0xC0001167)

Maintenance Firmware(MFW) V1.3.0.0 and higher version has Flash Translation Layer (FTL) integrated, which is incompatible to earlier versions, so a full format request (HIL_FORMAT_REQ) is required in this case when the MFW is downloaded to INTFALSH01 and run for the first time. The full format takes about 1 or 2 minutes, and the SYS led blinks green during the period.

SYS led is off

For use case C, sometimes, the update firmware(NXI or fwupdate.zip) seemed to be uploaded correctly. You can see the notification from Event logs:

  • Event logs
  • 2021-04-27T10:40:34.417Z on FirmwareUpload: Upload in progress ...
  • 2021-04-27T10:40:49.396Z on FirmwareUpload: Upload is successful

But after an update start reset, the system LED turned off, and the netX has no response any more. This is possilbly because no correct filesystem is available.

The LFW does not create a filesystem, it expects that a filesystem is present.

A full format request (HIL_FORMAT_REQ) is required in this case.

A format operation can take some time (depends on the size of the partition). A confirmation packet can be received once the format has finished or if an error has occurred. During the format the SYS-LED will blink green until the operation is finished.

The supported formatting options are a quick format and a full format.

  • The quick format will recreate the FAT volume only.
  • The full format will erase the Flash, recreate the FTL and a new FAT volume.

The FTL volume is used for wear leveling and should only be created once. Otherwise wear information about the Flash blocks will be lost. Ideally, the full format is only executed once during production.