Genpgm.exe creates the radio address data file that tells the radio card which addresses to use. Genpgm.exe is used with Dopgm.exe, which loads the radio address data file into the radio card.
Specify the output file name with the /OUT= switch.
When you restart your machine, repeat steps 4 and 5.
When you run Genpgm.exe, it creates the programming data file in an encrypted format using the entry identification (EID) of the radio hardware as the key. If you do not want the file to be encrypted, use the switch "/KTYPE=N" to indicate encryption should not be performed.
The programming data file follows a specific format. It consists of a series of programming and deprogramming clauses for keys, addresses, and carriers. Any type of block can be repeated to program multiple keys, addresses, or carriers. Comments can be interspersed; a comment begins with a semicolon and extends to the end of the line. Each clause contains a set of parameters and values. Values consist of either strings or byte values. The following table shows the formats of each of these.
Type |
Format |
Examples |
Byte value | Decimal integer from 0 through 255, which must not have a leading 0 | 0 1 60 219 255 |
Octal integer from 0 through 0377, which must begin with 0 | 0 01 074 0333 0377 | |
Hexadecimal integer from 0x0 through 0xff, which must begin with 0x | 0x0 0x1 0x3c 0xff | |
Single-byte character, which must be enclosed in single quotation marks | 'c' 'A' ';' '#' ' ' | |
String | Text within quotation marks | "hello, world",
"etaoin shrdlu" |
Comma-separated list of byte values | 0x68, 101, 0154, 0x6c, 'o' |
The following example of a definition file for radio address data shows its syntax. Any type of block can be repeated to program multiple keys, addresses, or data structures about wireless service providers.
PROGRAM_KEY
KeyNumber=<ByteValue>
AlgCode=<ByteValue>
KeyTag=<String>
KeyValue=<String>
END
PROGRAM_ADDRESS
AddressNumber=<ByteValue>
Status=<ByteValue> ;ENABLE=0x01, PRIORITY=0x02, AC_ONLY=0x04
ExpirationDate=CC,YY,MM,DD
AddressTag=<String>
KeyTag=<String>
AddressName=<String>
AddrDescription=<String>
AddressInfo=<String>
END
PROGRAM_CARRIER
RxFrequency=ByteValue ; Reception frequency
UserId=<String> ; User PIN or equivalent
CarrierName=<String>
CarrierDescription=<String>
END
; Use either KeyNumber or KeyTag.
UNPROGRAM_KEY
KeyNumber=<ByteValue>
KeyTag=<String>
END
; Use either AddressNumber or AddressTag.
; If there are any keys associated with the address,
; and if they are not referenced by another address, they are deleted.
UNPROGRAM_ADDRESS
AddressNumber=<ByteValue>
AddressTag=<String>
END
; Use the CarrierName parameter to select which carrier to delete.
UNPROGRAM_CARRIER
CarrierName=<String>
END
The following example of a radio address definition file shows an input file for Genpgm.exe that, when used as input for Genpgm.exe, sets up a key and two addresses.
PROGRAM_KEY
KeyNumber=0x02
AlgCode=0x22
KeyTag="Key234"
KeyValue=0x20,0x21,0x22,0x23
END
PROGRAM_ADDRESS
AddressNumber=0x0
Status=0x01 ; ENABLE=0x01, PRIORITY=0x02, AC_ONLY=0x04
; The address will expire on August 12, 1999. August is a single digit,
; not a double digit, 8 not 08, because the zero would be interpreted
; as making it octal.
ExpirationDate=19,99,8,12
AddressTag="Addr1"
KeyTag="Key1"
AddressName="Test Addr1"
AddrDescription="Address used for personal messaging"
AddressInfo="AddrInfo"
END
If you save this example of a radio address definition file in a file named Card.dat, then run Genpgm.exe, the file Card.bin is created. It contains the address programming. The following example of a command line shows how to do this.
genpgm.exe /I=card.dat