pev - Qualcomm Atheros Plug-in Electric Vehicle Emulator
Emulate the PEV part of the HomePlug AV Signal Level Attentuation
Characterization (SLAC) protocol where a PEV is a "Plug-in
Electric Vehicle" and an EVSE is an "Electric
Vehicle Supply Equipment" or charging station. This program will
remain active until it detects and connects to an available EVSE-HLE on the
powerline network. Once connected, it charges a virtual vehicle for about 10
seconds then disconnects and terminates. See the HomePlug Green PHY
Specification Release Version 1.1 for more information on this
protocol.
Signal Level Attenuation Characterization (SLAC) enables a station
to measure the signal level of its transmission at other stations in the
network. It is designed for automotive applications where there are multiple
plug-in vehicle (PEVs) and electric vehicle supply equipment (EVSE) on the
network. The PEV signal level is measured at multiple EVSEs to determine
which EVSE the PEV is actually plugged into. The process leading to this
determination is called "Green PHY PEV-EVSE Association"
(GreenPPEA).
This program is part of the Qualcomm Atheros Powerline Toolkit.
See the plc man page for an overview and installation
instructions.
- -c
- Print the PEV-HLE configuration profile on stdout. The configuration
profile specifies program defaults in a format that you, as a user, can
edit and save. Use options -p and -s to read named profiles
and sections.
- -C
- Compare confirmation counter and warn (or exit - if -x is givenv)
if a mismatch is detected.
- -d
- Print the contents of the PEV-HLE session variable on stdout. The session
variable is an program data structure that stores information passed
between the PEV-HLE and EVSE-HLE during SLAC association. This option is
used to inspect and veriify information relevant to the process.
If the program was compiled with variable SLAC_DEBUG defined
then this option also prints MME message fields before messages are sent
or after they are received. Interested parties can follow along in the
source code.
- -i
- Select the host Ethernet interface. All requests are sent via this host
interface and only reponses received via this host interface are
recognized. The default interface is eth1 because most people use
eth0 as their principle network connection; however, if environment
string "PLC" is defined then it takes precedence over the
default interface. This option then takes precedence over either default.
- -K
- Skip the step which sets the Network Membership Key and focus on sounding
only.
- -l
- Normally, this tool exits after one run. Use this parameter to loop
indefinitely. Note, that this parameter has inverse logic compared to
evse tool.
- -p profile
- The PEV-HLE configuration profile name. The program will supply default
values for missing profile elements. See the example profile shown below.
The default profile name is "pev.ini".
- -q
- Enter quiet mode. Progress messages are suppressed.
- -s section
- The configuration profile section name. The program will supply default
values for missing configuration profile elements. See the example profile
shown below. The default section name is "default".
- -v
- Enter verbose mode. All Ethernet frames sent or received by the program
are displayed on stdout.
- -x
- Exit on error.
- -?, --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. 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.
The default configuration profile for this program is
"pev.ini". The default profile section is
"default". Users may create additional profiles and
reference them with option -p or add additional sections to an
existing profiles and reference them with option -s.
- Attenuation
Theshold
- The average attenuation above which the PEV will not connect to an EVSE.
The default value is 10db.
- MSound
Pause
- The time in milliseconds between each MSound sent by the PEV-HLE to the
EVSE-HLE. Sending MSounds too frequently overloads the EVSE-PLC. Sending
them too infrequently wastes time. This value is derived and does not
appear in the HPGP specification. The default pause is 10
milliseconds.
- Vehicle
Identifier
- Vehicle identification. The 17-byte Vehicle Identification Number to be
placed in CM_MNBC_SOUND.IND.SenderID. This value is not used but is can be
changed here so that the field is easy to spot within network message
traces.
- Network Membership
Key
- The 16-byte Network Memberhip Key (NMK) for the PEV-PLC device. This
program uses CM_SET_KEY to sets the PEV-PLC NMK to this value after
disconnecting. The default value is the key for Network Password
"HomePlugAV".
- Network
Identifier
- The 7-byte Network Identifier (NID) for the PEV-PLC device. This program
uses CM_SET_KEY to sets the PEV-PLC NID to this value after disconnecting.
The default value is the same as that for Network Password
"HomePlugAV".
See the Qualcomm Atheros AR7420, QCA6410 IEEE 1901, HomePlug AV
and QCA7000 HomePlug Green PHY PLC Chipset Programmer's Guide or the
HomePlug Green PHY Specification Release Version 1.1 for more
information on this protocol.
The following example starts a PEV session on interface
eth0 and wait up to 2000 milliseconds (or 2 seconds) for the EVSE to
respond during any given exchange.
# pev -ieth0 -w2000
The default PEV-HLE configuration profile,
"pev.ini", looks something like this but it can be changed
using a normal text editor. Use option -P to produce a template
profile, if one is needed.
# file: pev.ini
# ========================================================
# PEV-HLE initialization;
# --------------------------------------------------------
[default]
attenuation threshold = 10
msound pause = 10
vehicle identifier = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
network membership key = 50D3E4933F855B7040784DF815AA8DB7
network identifier = B0F2E695666B03