Command: ```sh $ fastboot oem hw help ``` Output: ```sh (bootloader) usage: fastboot oem hw [options] (bootloader) (bootloader) options: (bootloader) (none given) list all defined utags (bootloader) / list all existing utags (bootloader) + create empty utag (bootloader) - delete utag (bootloader) use "fastboot oem -- hw -" (bootloader) @ set current utag (bootloader) @ show current utag (bootloader) @/ reset current utag (bootloader) set a utag (bootloader) + append value to current (bootloader) utag value (bootloader) query a utag (bootloader) / query child utags (bootloader) clear unset all utags (bootloader) lock lock utags (bootloader) unlock unlock utags (bootloader) status check lock status (bootloader) help show usage (bootloader) special utags: (bootloader) .features list of defined utags (bootloader) .attributes list of attribute utags (bootloader) defined for each utag (bootloader) attribute utags (bootloader) .range comma separated list of (bootloader) acceptable values (bootloader) following utags pass values to upper layers (bootloader) .chosen add property to device tree (bootloader) = (bootloader) (bootloader) .cmdline add value to cmdline (bootloader) = (bootloader) (bootloader) .system populate system property (bootloader) = (bootloader) (bootloader) .auto autodetect utag value (bootloader) if utag is empty and .auto rule is set (bootloader) the rule is executed and result is saved (bootloader) to the utag. Format of the .auto rule: (bootloader) key=;index=;map= (bootloader) map is optional (bootloader) (bootloader) (bootloader) Example of .chosen usage: (bootloader) utag nfc is set to "true" (bootloader) utag nfc/.chosen is set to "mmi," (bootloader) device tree property under chosen is set to (bootloader) mmi,nfc=true (bootloader) (bootloader) Example of .cmdline usage: (bootloader) utag radio is set to "ROW" (bootloader) utag radio/.cmdline is set to "androidboot." (bootloader) option is added to kernel command line (bootloader) androidboot.radio=ROW (bootloader) (bootloader) Example of .system usage: (bootloader) utag fps is set to "false" (bootloader) utag fps/.system is set to "ro.hw." (bootloader) android system property is set to (bootloader) ro.vendor.hw.fps=false (bootloader) Examples of .auto usage: (bootloader) utag radio/.auto is set to (bootloader) "key=hwid;index=2;map=1:US,2:China,3:EMEA" (bootloader) this rule takes value in column 2 (bootloader) of current hwid line, e.g.: (bootloader) "B A 1 P1A athene_13mp" (bootloader) and maps it to US, China or EMEA (bootloader) (bootloader) utag imager/.auto is set to (bootloader) "key=hwid;index=5;separator=_; (bootloader) map=13mp:13MP,16mp:16MP,power:13MP" (bootloader) this rule takes value in column 5 (bootloader) of current hwid line, e.g.: (bootloader) "B A 1 P1A athene_13mp" (bootloader) considering default and '_' separators (bootloader) and maps it to 13MP or 16MP (bootloader) (bootloader) utag ram/.auto is set to (bootloader) "key=hwprobe;index=__ram" (bootloader) utag ram is set to RAM size (bootloader) (bootloader) utag frontcolor/.auto is set to (bootloader) "uspace=config;name=build_vars" (bootloader) HW utag frontcolor is set to value of (bootloader) CONFIG utag build_vars (bootloader) (bootloader) utag nfc/.auto is set to (bootloader) "default=false" (bootloader) HW utag nfc is set to "false" (bootloader) (bootloader) utag product/.auto is set to (bootloader) "uspace=config;name=fti;slice=53:10; (bootloader) map=VERTEX_VZW:addison" (bootloader) HW utag product is set to "addison" (bootloader) if field (offset:53, size:10) stored (bootloader) in config UTAG fti evaluates to (bootloader) "VERTEX_VZW" ```