---
# System prepended metadata

title: Diagnostic Image

---

Diagnostic Image
===

On Oct 10, 2019 Peter Corke wrote


>here will be an element of QA on all components prior to assembly as most are manufactured by third parties and are warrantied so naturally they all have their own QA. What level of and what testing will depend on the component. I am not sure what load testing will have been done on motherboards prior to assembly but I know the Nano board manufacturer (which are of course basically complete units with the image put on at assembly point) wants to at least have ensured they start up prior to supply to us for final assembly.

>But for the HP/HP+ post assembly and install of disk image will be the first time the complete product can be tested as a whole and I would always want our own step then to double check everything and offer a second layer of QA prior to shipping. Nano we would want to test install of the LED has been done correctly after the board are assembled into the cases.

## Scope for Nano

    
1. Generate a ready to use clone image.
2. Deliver to the manufacturer an image for installation that copies the clone image over, performs an integrity check on the cloned image, and gives pass/fail and specific light sequence.
3. Deliver to manufacturer a supplement image that is for machines where clone image has already been copied, that performs the diganostic/integrity check and LED sequence


## Scope for HP/HP+


(we will a similar process when this is a priority).


## Challenges

Existing open source diagnostic tools were not made to be used in an automated context. Therefore we will need to compile these tools as a library, and then we can consistently obtain values from them, and assure that tests will function in the manufacturing context.

Potential tests (nano)

* CPU temp when spiking cpu (99000 C)
* Check network (simple ping)
* Integrity of installed image (hash of file compared)
* check wear level of emmc (should be at 0x01)
* check LED is in /dev + write to and should return expected ASCII character.
* CPU core count, amount of RAM
* Check IO
* (Maybe) check for bad RAM sectors
* Print to HDMI results
* Flash yellow while testing, Green if pass, Red if failed.