Thursday 11 November 2010

*.CFG file used in Printer

*.CFG file used in Printer
Since feb 2010 I m working on Web connected printer which hp has launched in April 2010 and in july launched ePrint functionality in Printer. Now we are targeting all the hp printers families to be enabled with ePrint and web connected.
After this the printer market would not be limit only upto fax,scan and print images. We can do lots of things over the printer.
To read more about ePrint and web connected printers just wait for my next blogs.
Over all it is nice experience to work on this project. Now days most of time I m concentrating on debugging the servers , sharing my knowledge with other members, performing automation, building Simulator and setting up stacks for various press event across the world .
Now come to the point.
While doing development and Testing we need to test and verify the code or build on printer whether it is working correctly or as expected against various Build configurations. Generally we are deploying the various build on various server configuration and we need to test or verify the build on all the stacks/servers. And it’s not possible to hard code the server details in Firmware of printer but for the customer it would be hardcoded in Firmware (cuz Production environment is fixed)
To overcome this issue we are using secure.cfg file copied in SD card and inserted into Printer to perform registration on various servers configuration.
I have seen few new testers frequently using *.cfg file in printer without knowing how it is working and why we needs this *.cfg file.


Then I started sharing my learning with them. Today, I thought to put the same contents over here so that the knowledge would not be limit up to my team only.,
Here is what I have shared with them:
edffef

1. What is this cfg file.

Ø A file that contains data about a specific user, program, computer or servers. Used for a myriad of reasons, configuration files are generally read at startup by the Printer FW/operating system as well as by applications in order to customize the environment for the user.
In the Windows world, especially the earlier versions of Windows, .INI (initialization) files have been used. In Java, configuration data are stored in properties files. The Registry is also a storehouse of configuration data, which is widely used.


Ø A file with a .cfg extension is usually a configuration file. The file will be used by an application to load all the configuration settings. There is no standard format for a .cfg file and how it can be modified will differ from application to application.
Configuration(*.cfg) files typically store data in a key=value structure, which means each item of data (the key) has a name, and its value is its contents.

For example:-

Typical secure.cfg file structure:
[offramp]
offramp_ip=1.2.3.4

offramp_security=on
cert_validation=off
production_server=0
[sips]
sips_home_url=https://ec2-12.23.34.56.compute-1.amazonaws.com:443

allow_security=1
cert_validation=0

2. How *cfg is working in Printer.

Ø Just take the scenario where FW is hard coded with Server details and user has inserted CFG file in the printer.
As soon as user will insert the SD card in the printer, the printer would read the SD card and will check whether any secure.cfg file is present or not. If it content then while doing registration the printer will read that CFG file from SD card and will refer that server details.

Let me explain this through flow chart in broader way:


We need secure.cfg file inserted in to printer to point the printer on various server.

Hope it will be usefull for you. thanks!!

~jawed