Provided by: plc-utils-extra_0.0.6+git20211210.358dfcf-2_amd64 bug

NAME

       mac2pw - Qualcomm Atheros Ethernet Device Password Generator

SYNOPSIS

       mac2pw [options] address [address] [...]

DESCRIPTION

       Print  a  range  of  consecutive Ethernet addresses and passwords on stdout such that each
       device has a unique password.  Program output is suitable as input to the Qualcomm Atheros
       HomePlug  AV  Production  Test  System  or  may  be  used in custom production systems.  A
       starting address and an address range are specified.  Computed passwords consist of  upper
       case   letters   and   digits   with   optional  group  separators.   Output  consists  of
       address/password pairs in text format.

       This program is designed to generate passwords for a large number  of  consecutive  device
       addresses.   It  complements program mac2pwd which generates passwords for non-consecutive
       device addresses occurring in unspecified order.

       This program is part of the Qualcomm Atheros Powerline Toolkit.  See the AMP man page  for
       an overview and installation instructions.

CAVEATS

       Atheros  provides this program as a simple means of generating unique device passwords for
       a large volume of Ethernet devices.  Two different password algorithms are implemented but
       neither one is required for HomePlug AV compliance.  Vendors are free to use other methods
       to generate their own device passwords and are encouraged to do so.

       Random Method
              Generate passwords based on system  entropy.   A  different  set  of  passwords  is
              generated  for  a  given  address  range  with each program execution.  There is no
              correlation at between addresses and passwords.  This method is secure but requires
              care when programming and labelling devices at the factory.  It may be necessary to
              maintain a database if regular device maintenance and firmware upgrade are needed.

       Device Method
              Generate passwords based on device address.  The same  set  of  passwords  will  be
              generated  for  a given address range with each program execution.  This method may
              be appropriate on  system  where  regular  maintenance  and  firmware  updates  are
              required.   This  method  is  not secure because device addresses can be determined
              using a variety of network management  programs.   Anyone  having  access  to  this
              program,  or  the  algorithm,  could compute the device password and gain access to
              device features reserved for privileged users.  This program does provide  features
              to mitigate the risks of using this method.

OPTIONS

       -b bunch
              The  password  bunching  factor.  Passwords consists of count uppercase letters and
              digits optionally displayed in groups separated by hyphens.   The  bunching  factor
              specifies  the  number  of  letters  and  digits in each group.  When bunch is 0 or
              greater than count, bunching is suppressed.  Separating  hyphens  increase  overall
              password  length.  The minimum is 0 and the maximum is 255.  The default is 0 which
              suppresses bunching.

       -e     Compute passwords based on host system entropy.   Passwords  consist  of  uppercase
              letters  [A-Z]  optionally  grouped  using  option -b.  This method produces a non-
              repeatable set of unique passwords over a given address range.  This method is  the
              default and is secure.

       -l count
              The  number  of letters in the password string.  Overall password length is the sum
              of count plus the number of delimiters implied by bunch.  The minimum is 12 and the
              maximum is 64.  The default is 16.

       -m     Compute  passwords  based on target device address.  Passwords consist of uppercase
              letters [A-Z].  This method produces a repeatable set of unique  passwords  over  a
              given address range.  This method is not secure.

       -n number
              The  number  of  consecutive  addresses  and  passwords  to compute and print.  The
              minimum is 0 and the maximum is  1677215  or  0xFFFFFF.   The  default  is  1.   In
              addition,  number  cannot  exceed  the  remaining available addresses in the vendor
              range.  For example, given start address  00:B0:52:FF:FF:00,  there  are  only  255
              remaining addresses in the 00:B0:52 vendor range so it would be an error to request
              more than that number.

       -q     Quiet mode.  Exclude the device address on output.  This  option  can  be  used  in
              scripts to return the password associated with a given device address.

       -v     Verbose  mode.   Prefix  each  line with a '0' column.  The Atheros Production Test
              System (PTS) uses the first column of a password database file  to  indicate  which
              addresses and passwords have already been used.

       -?,--help
              Print  program help information 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.  Use this option when sending screen dumps to
              Atheros Technical Support so that they know exactly  which  version  of  the  Linux
              Toolkit you are using.

ARGUMENTS

       address
              The  first  Ethernet  address  expressed  as  12  consecutive  hexadecimal  digits.
              Puncutation is not permitted.  The final address of the range is computed by adding
              number  to  this address.  This argument is required.  There is no default address.
              If more than one device address is specified then an address/password  series  will
              be computed for each.

EXAMPLES

       The  following  example  prints  the  given device address and a random password string on
       stdout.  The default password length is 25 characters long but the length can  be  changes
       using option -l.

          # mac2pw 00B052000001
          00B052000001 5KAXCQFQNN4PPNC76XN2YUWMS

       Repeating  the command will generate a new password string.  This is the default behaviour
       and is the same as specifying option -e for "entropy".

          # mac2pw 00B052000001
          00B052000001 CA35TM5JLG4S6XBKSM3HSU6J4

       This example ommits the device address.  Repeating the command  produces  a  new  password
       string.

          # mac2pw 00B052000001 -q
          2LJ6P5JPEHE6V63GZWC337Q8E
          # mac2pw 00B052000001 -q
          5Z8J7EGGL2HJDKMZ978W8V94W

       The  next  example  shows  how  to generate passwords for three different devices with one
       command.  The program generates a password  for  each  device  address  specified  on  the
       command line.

          # mac2pw 00B052000001 00B05200BABE 00B05200DEAD
          00B052000001 NJHWXEFRPVVW87C9J4BQEHYYE
          00B05200BABE 5PT9Z64Z4TVRPEJCK8LR2XFMR
          00B05200DEAD 7R2LJYGJB42329AS4NM29H8V4

       The  next  example  prints 10 consecutive device addresses and random passwords on stdout.
       The starting device address is given and option -n specifies the number  of  addresses  to
       print.  Output can be piped to a file or another process.

          # mac2pw 00B052000001 -n 10
          00B052000001 LEKWS42VX92YR3LLL6KBD5RCG
          00B052000002 BHYKXG3VEVXNZ7CF2UERCU4G6
          00B052000003 UBP87NFZMMW5WY8KK5GJFAWS3
          00B052000004 CU7Y7JKFNASS6E4GQ3XL3HWGZ
          00B052000005 9RN3WTXAQUXV8THZUB898ZGB3
          00B052000006 HCXNPW2CM9JVHBJN2TZVRVDU6
          00B052000007 DFD5QY5HATC5NFC5SF3AWL2PD
          00B052000008 837GAN4HSG9U6TTRCPRXMG84T
          00B052000009 HBLZHG32FSZKQ8TANGK5U8DS9
          00B05200000A KEY9D3DW66HX68AWZRCD4VPD9

       The following example prints 10 consecutive device addresses and passwords but inserts a 0
       at the start of each line to indicate that the address and password have  not  been  used.
       The  Qualcomm Atheros Production Test System (PTS) will set the 0 to 1 after it programs a
       device.  This format is simlar to PTS DBBuilder Utility output.

          # mac2pw 00B052000006 -n 10 -v
          0 00B052000006 VZNKWJUHAV2687NV6EJYUVQ4D
          0 00B052000007 RENKKWRNFLU4ZNZ3P6K4SZ4PG
          0 00B052000008 NEL6LL2V2YZAL2Q27E2DJ25BG
          0 00B052000009 MYX2T5HM68T5JCK7YYJNDWH2P
          0 00B05200000A 6UY4MPYP43GXSD39VLTNZCJEZ
          0 00B05200000B MD47KPFZLSNL9XRLJTN3MKJ5N
          0 00B05200000C BKVTVYE47LE4DKMUNQPPXR7HL
          0 00B05200000D RBJ8DA5DB48TZUTAQXZ9CPFTM
          0 00B05200000E HSK6N9ZGZPGV4T5YXST4DH3W8
          0 00B05200000F BLW8QQ4JMEVSQJYHRPBDGG5RS

       The next example prints 10 consecutive device addresses  and  passwords,  as  before,  but
       changes  password  length  and  character bunching.  Option -l specifies 12 characters and
       option -b specifies a bunching factor of three.

          # mac2pw 00B052000001 -n 10 -l 12 -b 3
          00B052000001 S2J-V4B-NB6-37M
          00B052000002 QEX-292-CYF-AVV
          00B052000003 5VH-2KR-FYP-EVH
          00B052000004 NYU-TPB-ZK3-6H6
          00B052000005 MGX-GB7-P2P-42B
          00B052000006 DDM-UD8-8NS-BZA
          00B052000007 MLZ-86G-F4G-MS8
          00B052000008 DTY-U8D-DT8-3G2
          00B052000009 6BY-WVU-GB9-UEB
          00B05200000A TX3-NUS-TKM-LVL

       The next example prints 10 consecutive device addresses  and  passwords,  as  before,  but
       starts  from  a  different  device  address.  We specified option -m so that passwords are
       generated based on the MAC address.  This ensures that the same password is generated each
       time for a given device address.  We also specified password length or 16 characters using
       option -l and bunching factor of 4 with option -b.

          # mac2pw 00B052000001 -m -l 16 -b 4 -n 10
          00B052000001 HBXY-FVHN-COML-MVLY
          00B052000002 KYCC-KFFD-BHCN-CSUL
          00B052000003 LQXF-TULV-IOQB-SKJI
          00B052000004 SOBX-FRNC-EIHL-KBPW
          00B052000005 XPAC-KESG-MDYY-OFPQ
          00B052000006 SFTQ-DWEF-GHYC-VOWW
          00B052000007 NNZQ-FCTW-VQLG-ESBV
          00B052000008 SEPC-KYYS-JZEO-HHVT
          00B052000009 OYPS-DSDV-QILZ-JYOV
          00B05200000A HQYV-FIWJ-CJDZ-XPNZ

       The following example prints 10 consecutive device addresses and passwords, as before, but
       starts  from  a different device address.  The address range here overlaps the range shown
       above but identical device addresses have identical passwords.   Address  based  passwords
       may  be  of  interest  on  large private networks requireing frequent firmware upgrades or
       device configuration.

          # mac2pw 00B052000006 -m -l 16 -b 4 -n 10
          00B052000006 SFTQ-DWEF-GHYC-VOWW
          00B052000007 NNZQ-FCTW-VQLG-ESBV
          00B052000008 SEPC-KYYS-JZEO-HHVT
          00B052000009 OYPS-DSDV-QILZ-JYOV
          00B05200000A HQYV-FIWJ-CJDZ-XPNZ
          00B05200000B MQIG-KUKM-YQSJ-KPRM
          00B05200000C VTLW-DAVK-JCMU-JQLU
          00B05200000D PIQB-OITS-RFCY-PUVE
          00B05200000E IWAV-KYJM-JBEM-GPMR
          00B05200000F LQJY-DSEX-WDHE-FVMB

DISCLAIMER

       Qualcomm Atheros reserves the right to modify program names, functionality,  input  format
       or output format in future toolkit releases without any obligation to notify or compensate
       toolkit users.

SEE ALSO

       hpavkey(1), hpavkeys(1), keys(1), mac2pwd(1), rkey(1)

CREDITS

        Charles Maier
        Pouyan Sepehrdad
        Ning Shang