123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279 |
- <?xml version='1.0' encoding='iso-8859-1'?>
- <!doctype html public '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
- <html xmlns='http://www.w3c.org/1999/xhtml' lang='en-us'>
- <head>
- <title>
- setpib.1
- </title>
- <meta http-equiv='content-type' content='text/html;iso-8859-1'/>
- <meta name='generator' content='motley-tools 1.9.4 13:40:33 Feb 18 2015'/>
- <meta name='author' content='cmaier@cmassoc.net'/>
- <meta name='robots' content='noindex,nofollow'/>
- <link href='toolkit.css' rel='stylesheet' type='text/css'/>
- </head>
- <body>
- <div class='headerlink'>
- [<a href='sdram.1.html' title=' sdram.1 '>PREV</a>]
- [<a href='toolkit.html' title=' Index '>HOME</a>]
- [<a href='ttycat.1.html' title=' ttycat.1 '>NEXT</a>]
- </div>
- <pre>
- setpib(1) Qualcomm Atheros Open Powerline Toolkit setpib(1)
- NAME
- setpib - Qualcomm Atheros PIB File Editor
- SYNOPSIS
- setpib [options] file base [type data] [type data] [...]
- DESCRIPTION
- Replace one or more values in a Qualcomm Atheros powerline parameter (or PIB) file and re-compute the checksum. Values
- are specified as a sequence of type/data pairs. Users must know the offset, length and type of the values they change or
- problems will certainly result. This program makes absolutely no effort to validate offsets or values.
- This program can be used to change any PIB value, including those that should not be changed. Be warned that some PIB
- values are derived from, or interact with, other PIB values. Failure to observe such dependencies may diminish perfor‐
- mance or render a device inoperable.
- Atheros does not recommend the use of this program to edit PIB parameters because small mistakes can cause big problems.
- In addition, Atheros is under no obligation to provide customers with the offset, length or type of any PIB file parame‐
- ters.
- Atheros recommends using program modpib to change device identity parameters and the Windows Device Manager to change
- other parameters whenever possible.
- This program handles older Thunderbolt/Lightning parameter files and newer Panther/Lynx parameter files but it has a
- larger footprint that may not be acceptable for embedded systems. In cases where only the older or the newer parameter
- files are used, consider using program setpib1 for an older Thunderbolt/Lightning only version or setpib2 for a newer
- Panther/Lynx only version.
- This program is part of the Qualcomm Atheros Powerline Toolkit. See the AMP man page for an overview and installation
- instructions.
- OPTIONS
- -q Enable quiet mode which has not effect.
- -v Print a hexdump of the edited region. Print hexdump headers if this option appears twice. The region window may
- be changed with option -w.
- -w window
- The display window in bytes. When option -v is present, PIB information surrounding the edited region is dis‐
- played to provide some sort of context. The edited region appears in the middle of this window. The default win‐
- dow is 32 bytes. This means that the 32 bytes before and the 32 bytes after the edited region are included in the
- display.
- -x Repair the checksum. By default, this program does not modify files that fail the size or checksum test on input.
- In addition, it does not re-compute the checksum on output if no data has changed. This option skips the size and
- checksum test on input and re-computes the checksum on output even if no data has changed. This option only works
- on legacy PIB files. It does not work on PIB files having NVM file format.
- -?, --help
- Print program help summary on stdout. This option takes precedence over other options on the command line.
- -!, --version
- Print program version information on stdout. This option takes precedence over other options on the command line.
- Usethis option when sending screen dumps to Atheros Technical Support so that they know exactly which version of
- the Linux Toolkit you are using.
- ARGUMENTS
- file The PIB filename. The file must exist and will be re-written. No assumptions are made based on filename and no
- filename conventions are enforced. This argument is required and must precede the base argument.
- base The byte offset where changes will start. The offset is expressed in hexadecimal with (or without) the leading
- "0x". Changes are applied in order, left to right, and offset automatically increments by the correct amount
- after each change is applied. This permits consectuive PIB locations to be changed with one command. This argu‐
- ment is required and must follow the file argument. It must also precede all format/data pairs. Normally, you
- must use multiple setpib commands to change non-consecutive PIB locations but careful use of format skip can
- achive the same results using one command.
- type The implied length and encoding of the data. Valid types are byte, word, long, data and hfid. A valid format
- must precede each data item. A byte is 8 bits, a word is 16 bits, a long is 32 bits and a huge is 64 bits. The
- format implies the maximum data value except for format data which is limited by the number of octets entered on
- the command line.
- data The information written to the current PIB offset. Integer data may be expressed in binary, decimal or hexadeci‐
- mal but must not exceed the type minimum or maximum. String data may contain any ASCII characters that can be
- entered via keyboard but must be enclosed in quotes when spaces are included. Binary values start with 0b or 0B
- and hexadecimal values start with 0x or 0X.
- FORMATS
- byte integer
- A signed or unsigned integer stored as 8 bits or 1 byte. The value is expressed in decimal by default. A binary
- value may be expressed with a 0b prefix. A hexadecimal value may be expressed using a 0x prefix. Negative
- type/data values must appear at the end of the command line, after option "--", to avoid parsing errors. The off‐
- set increments by 1 prior to the next insertion.
- word integer
- A signed or unsigned integer stored as 16 bits or 2 bytes. The value is expressed in decimal by default. A
- binary value may be expressed with a 0b prefix. A hexadecimal value may be expressed using a 0x prefix. Negative
- type/data values must appear at the end of the command line, after option "--", to avoid parsing errors. The off‐
- set increments by 2 prior to the next insertion.
- long integer
- A signed or unsigned integer stored as 32 bits or 4 bytes. The value is expressed in decimal by default. A
- binary value may be expressed with a 0b prefix. A hexadecimal value may be expressed using a 0x prefix. Negative
- type/data values must appear at the end of the command line, after option "--", to avoid parsing errors. The off‐
- set increments by 4 prior to the next insertions.
- huge integer
- A signed or unsigned integer stored as 64 bits or 8 bytes. The value is expressed in decimal by default. A
- binary value may be expressed with a 0b prefix. A hexadecimal value may be expressed using a 0x prefix. The off‐
- set increments by 8 prior to the next insertion. Negative type/data values must appear at the end of the command
- line, after option "--", to avoid parsing errors. This format is only available on hosts that support 64 bit data
- values.
- data hex
- A sequence of hexadecimal octets. Octets may be separated by a colon for clarity. The number of octets deter‐
- mines the number of bytes written. The offset increments by the number of bytes written. This is similar to
- "key" and "mac" below but accepts variable length input.
- key hex
- A sequence of hexadecimal octets. Octets may be separated by a colon for clarity. The number of octets must con‐
- vert to 16 bytes or an error will occur. The offset increments by 16 prior to the next insertion. This is simi‐
- lar "data" above but accepts only fixed length input. This option may be used to set the DAK, NMK or NVAK values.
- mac hex
- A sequence of hexadecimal octets. Octets may be separated by a colon for clarity. The number of octets must con‐
- vert to 6 bytes or an error will occur. The offset increments by 6 prior to the next insertion. This is similar
- "data" above but accepts only fixed length input. This option may be used to set the DAK, NMK or NVAK values.
- text string
- An ASCII character string. The string string length determines the number of bytes stored. The string is stored
- with NUL terminator included. It is not padded or truncated. The offset increments by the number of bytes stored
- prior to the next insertion. This option may be used to enter a variable length string.
- hfid string
- An ASCII character string. The string is always stored as 64 bytes. Short strings are padded on the right with
- NUL characters. Long strings are truncated on the right and the last byte is forced to NUL. The offset incre‐
- ments by 64 bytes prior to the next insertion. This option may be used to enter user, network and manufacturer
- identification strings.
- zero count
- An unsigned integer representing the number of consecutive bytes to fill with 0x00. The offset increments by the
- number of bytes written. This option may be used to erase regions of the PIB.
- fill count
- An unsigned integer representing the number of consecutive bytes to fill with 0xFF. The offset increments by the
- number of bytes written. This option may be used to erase regions of the PIB.
- skip count
- An unsigned integer indicating the number of bytes to skip over before staring another change. Intervening data
- data locations are unchanged.
- TR69 DATA TYPES
- accesspassword string
- An ASCII character string. The string is always stored as 257 bytes. Short strings are padded on the right with
- NUL characters. Long strings are truncated on the right and the last byte is forced to NUL. The offset incre‐
- ments by 257 prior to the next insertion.
- accessusername string
- An ASCII character string. The string is always stored as 33 bytes. Short strings are padded on the right with
- NUL characters. Long strings are truncated on the right and the last byte is forced to NUL. The offset incre‐
- ments by 33 prior to the next insertion.
- adminpassword string
- An ASCII character string. The string is always stored as 33 bytes. Short strings are padded on the right with
- NUL characters. Long strings are truncated on the right and the last byte is forced to NUL. The offset incre‐
- ments by 33 prior to the next insertion.
- adminusername string
- An ASCII character string. The string is always stored as 33 bytes. Short strings are padded on the right with
- NUL characters. Long strings are truncated on the right and the last byte is forced to NUL. The offset incre‐
- ments by 33 prior to the next insertion.
- password string
- An ASCII character string. The string is always stored as 257 bytes. Short strings are padded on the right with
- NUL characters. Long strings are truncated on the right and the last byte is forced to NUL. The offset incre‐
- ments by 257 prior to the next insertion.
- url string
- An ASCII character string. The string is always stored as 257 bytes. Short strings are padded on the right with
- NUL characters. Long strings are truncated on the right and the last byte is forced to NUL. The offset incre‐
- ments by 257 prior to the next insertion.
- username string
- An ASCII character string. The string is always stored as 257 bytes. Short strings are padded on the right with
- NUL characters. Long strings are truncated on the right and the last byte is forced to NUL. The offset incre‐
- ments by 257 prior to the next insertion.
- EXAMPLES
- The following example edits file abc.pib by writing decimal value 1 at offset 01F7 followed by hexadecimal value
- 00B052BABE01. A partial dump is printed showing 16 bytes before and 16 bytes after the changed data because the default
- display windows is 16 bytes. Unless the change occurs right at the start or end of the file, it will appear in the cen‐
- ter of the display window.
- # setpib -v abc.pib 01F7 byte 1 data 00:B0:52:BA:BE:01
- 000001D0 00 00 00 00 00 00 00 00 00 .........
- 000001E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- 000001F0 00 00 00 00 00 00 00 01 00 B0 52 BA BE 01 00 00 ..........R.....
- 00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- 00000210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..............
- The following example sets the manufacturer HFID string in PIB file def.pib. HFID strings are 64 characters long and
- either truncated or padded on the right with NUL characters. You may need to enclose the string in quotes it it contains
- spaces.
- # setpib -v def.pib 24 hfid "Galactic Software Pirates, Inc."
- 00000000 38 1F 00 00 30 1B EB 04 00 B0 52 00 8...0.....R.
- 00000010 00 66 50 D3 E4 93 3F 85 5B 70 40 78 4D F8 15 AA .fP...?.[p@xM...
- 00000020 8D B7 00 00 47 61 6C 61 63 74 69 63 20 53 6F 66 ....Galactic Sof
- 00000030 74 77 61 72 65 20 50 69 72 61 74 65 73 2C 20 49 tware Pirates, I
- 00000040 6E 63 2E 00 00 00 00 00 00 00 00 00 00 00 00 00 nc..............
- 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- 00000060 00 00 00 00 50 D3 E4 93 3F 85 5B 70 40 78 4D F8 ....P...?.[p@xM.
- 00000070 15 AA 8D B7 49 6E 74 65 6C 6C 6F 6E 20 45 6E 61 ....Atheros Ena
- 00000080 62 6C 65 64 bled
- The following example displays the contents of PIB file abc.pib without changing any data. The region displayed is 24
- bytes starting at offset 0x24. The format skip specifies the region but does not change it. By default, the 32 bytes
- before and 32 bytes after are included in the display. This technique can be used to inspect a specific portion of a PIB
- file.
- # setpib -v abc.pib 24 skip 64
- 00000000 38 1F 00 00 30 1B EB 04 00 B0 52 00 8...0.....R.
- 00000010 00 66 50 D3 E4 93 3F 85 5B 70 40 78 4D F8 15 AA .fP...?.[p@xM...
- 00000020 8D B7 00 00 47 61 6C 61 63 74 69 63 20 53 6F 66 ....Galactic Sof
- 00000030 74 77 61 72 65 20 50 69 72 61 74 65 73 2C 20 49 tware Pirates, I
- 00000040 6E 63 2E 00 00 00 00 00 00 00 00 00 00 00 00 00 nc..............
- 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- 00000060 00 00 00 00 50 D3 E4 93 3F 85 5B 70 40 78 4D F8 ....P...?.[p@xM.
- 00000070 15 AA 8D B7 49 6E 74 65 6C 6C 6F 6E 20 45 6E 61 ....Atheros Ena
- 00000080 62 6C 65 64 bled
- The next example does the same thing for a negative value. This is tricky because the minus sign will be interpreted as
- the start of another option. We must use "--" to end normal option parsing. This is a POSIX standard feature. See IEEE
- Std 1002.1-2001, Section 12.2, Utility Syntax Guidelines for more an explanation.
- # setpib -v abc.pib 1471 -- long -50
- 00001450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
- 00001460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- 00001470 00 CE FF FF FF 00 00 00 00 00 00 00 00 00 00 00 ................
- 00001480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- 00001490 00 00 00 00 00 .....
- The following example computes a new checksum without changing any data. The filename and an offset are required but no
- other values are needed. This technique can be used to compute a new checksum after modifying the file using software
- that does not update the checksum.
- # setpib abc.pib 0 -x
- DISCLAIMER
- PIB file structure and content is proprietary to Qualcomm Atheros, Ocala FL USA. Consequently, public information is not
- available. Qualcomm Atheros reserves the right to modify PIB file structure or content in future firmware releases with‐
- out any obligation to notify or compensate users of this program.
- SEE ALSO
- chkpib(7), chkpib2(7), getpib(7), modpib(1), pib2xml(1), pibcomp(1), pibdump(1), xml2pib(1)
- CREDITS
- Charles Maier <cmaier@qca.qualcomm.com> ]
- open-plc-utils-0.0.3 Mar 2014 setpib(1)
- </pre>
- <div class='footerlink'>
- [<a href='sdram.1.html' title=' sdram.1 '>PREV</a>]
- [<a href='toolkit.html' title=' Index '>HOME</a>]
- [<a href='ttycat.1.html' title=' ttycat.1 '>NEXT</a>]
- </div>
- </body>
- </html>
|