Device uses an LG L2000 LTE chip and a Qualcomm MDM6800A for CDMA/EVDO.

The firmware flasher tool speaks DIAG and includes a lot of LTE-related
NV items.

Device has two USB interfaces:

0 - Proprietary ethernet interface
1 - CDC-ACM serial port

The ACM port speaks a proprietary protocol that MUX-es traffic from the
following virtual interfaces (according to Windows):

0: LGE LTE DM Port
1: LGE USB Modem Port
2: LGE LTE RF Serial Port (com)
3: LGE CDMA USB Serial Port (com)
4: LGE CDMA USB GPS NMEA Port (com)
5: LGE CDMA LBS Serial Port (com)

MUX Header Format
-----------------

u32: magic, always [ 0x5a 0x48 0x12 0xa5 ]
u32: sequence number (unpaired; host and device use separate sequence numbers)
u32: length (not including this header, but including any padding)
u16: MUX channel (21 f0: CMD) (11 f0: AT)
<data>


Packets are 4-byte aligned with padding of zeros, and this padding is included
in the length given in the header.

AT commands may have trailing bytes outside the data length specified in the
header, obviously these should be ignored.  AT commands may also have trailing
status bytes after the last 0x0D 0x0A which may take the place of OK and
ERROR in some AT commands.  Status bytes include 0x30 0x0d (success) and
0x34 0x0d (unknown AT command).

CMD packets are terminated with a standard HDLC CRC-16 and 0x7E.

Known CMD numbers are:
0xf14a - network attach, ethernet port start (use DHCP and IPv6 RA)



AT SMS Indications
------------------
They appear out of nowhere without AT formatting:

MT MSG: "612804xxxx","13/02/13,19:27:11+00",73
Heyy it's Tiffany i uploaded some pics on my profile on www.hottsites.com


Misc AT command notes:
----------------------
+VZWMRUE: <entry>,<rat>,<band>,<channel>

%LCNWINFO: <rat>, <roam>, <1x>, <Ev>, <LTE>, <state>, <cause>, <PDNid>
%LCNWINFO: <rat>, <roam>, <1x>, <Ev>, <LTE>, <state>, <cause>
<rat> = 6:LTE


Reported AT Commands
--------------------

Firmware version VL600ZV8 reports the following supported AT commands in
response to an AT+CLAC query:

E0V1
HE1
E
Q
V
Z
&F
S3
S4
S5
CIMI
GCAP
CEER
CPAS
CSQ
CLAC
CGDCONT
CGDSCONT
CGTFT
CGATT
CGACT
CGCMOD
CGDATA
CGPADDR
CGEREP
CSCB
CSAS
CRES
CSDH
CEREG
CGEQOS
CGCONTRDP
CGSCONTRDP
CGTFTRDP
CGEQOSRDP
CGMI
CGMM
CGMR
CGSN
GSN
PWDT
PTIMER
PDMA
PSDRAM
PSMACTIVE
PSMT
PHIMLP
PURTTX
PURTRX
PURTCB
PFSEL
PFID
PFREAD
PFRW
PCSMWID
PCSMCP
PSYSC
PCPGB
PUETH
PUMDM1
PUMDM2
PI2C
PHIMULPATH
PHIMTX
PHIMTXPATH
PHIMSTOPTX
PCC5BOOT
PURTLOOPBACK
PMEMWRITE
PMEMREAD
PMUXLOOPBACK
PSQ
PHIMNC
PUESTATUS
PSWRESET
PRFCONTROL
PCMDBYPASS
PTM
PEMUATCI
PNVTEST
PNVRD
PNVWR
PSWTTST
PSWT
PSMTESTIP
PTESTDATAPATH
PTXPOWER
PSPIWRITE
PSPIREAD
PLLARCSEND
PLLARCNV
PANTDISABLE
PLLARCSTART
PLLARCEND
TURNMODE
PPHYSTATUS
PPHYSNR
PLLARCSTARTEX
PCPELTIMER
PCPESTIMER
PGCTCAL
CSG
AUTH
LTEINIT
SETIMSI
SETPLMNID
SETNPARAM
ATCMODE
SETKEY
SETOP
&C
&D
&E
&F
&S
&V
&W
E
I
L
M
Q
V
X
Z
T
P
\Q
\S
\V
%V
D
A
H
O
S0
S3
S4
S5
S6
S7
S8
S9
S10
S11
S30
S103
S104
+VZWMRUC
+VZWMRUE
+VZWAPNE
+CRSM
+CSCS
+CMEE
+CCLK
+CLCK
+COPS
+CPOL
+CGDCONT
+CPBS
+CPBW
+CPBR
+CNMI
+CMGF
+CMGC
+CSCA
+CSMP
+CPMS
+CMGL
+CMGR
+CMGW
+CMGS
+CMGD
+CMSS
+CNMA
+CMMS
+CPWD
+CNUM
+CIMI
+CPIN
+CACM
+CGSN
+CFUN
+CSIM
+FCLASS
+ICF
+IFC
+IPR
+GMI
+GMM
+GMR
+GCAP
+GSN
+DR
+DS
+CMEE
$QCCLR
$QCDMG
$QCDMR
$QCDNSP
$QCDNSS
$QCTER
$QCSLOT
$QCPWRDN
$BREW
$QCSYSMODE
$QCCTM
%ATCTEST
%HOYATEST
%EJTEST
%CHANGTEST
%TEMPTEST
%FRST
%SWV
%SIMCHECK
%GPS
%CMSTATE
%LCATT
%LCRSSI
%LCNWCHK
%LCNWINFO
%LCNWP
%LCPID
%LCPHPING
%LCLTESTATE
%LCLQOS
%LCCQOS
%LCDQOS
%LCTFT
%LCQOSAC
%LCQOSRL
%LCQOSMD
%LCEMULP
%LCVER
%LCPKTSTATS
%LCPINBLK
%LCPINUNBLK
%LCDMBR
%LCMOD
%LCMTU
%LCIMSON
%LCPINNUM
%LCCMDT
%LCFREQ
%LCRETCTR
%LCPTMR
%LCLTEBOOTM
%WIMSI
%LCLTEBOOTTIME
%GMTMR
%LCIMSSETCFG
%LCIMSGETCFG
%LCRST
%LCAPN
%LCRPT
%RSTSQN
%SetApp
%SETPIN
%TSTRFSH
%LCTCIV
%LCINTPDNCTL
%LCIIP
%GMTT
%LCINACT
%RESETEN
%LCACONMOD
%LCGMSSCFG
%SETLOG
%LCBIPENABLEFLAG
%LCROAMING
%LOCGET
%LOCON
%LOCOFF

+UART
+MDN
+MIN
+LGPASS
+LGUSERID
+LGPASSX
+PING
+PINGF
+PINGD
+PPPCAR
+MIPRMNAI
+PPPPW
+SKTENABLE
+PINGA
$LGTEST
$QCDMG
$LGDMGO
$LGSO
$LGFRC
$LGSCI
$LGSCM
$LGMTH
$LGMTS
$LGMTN
$LGOTAPA
$LGNLOCK
$LGMCCM
$LGMNCM
$LGS2M
$LGS1M
$LGMCCT
$LGMNCT
$LGS2T
$LGS1T
$LGMRUCL
$LGACCOLC
$LGBYCHAR
$LGMEID
$LGMDN
$LGMIN
$LGMODEP
$LGBANDP
$LGROAMP
$LGDTB
$LGPREV
$LGAKEY
$LGPWR
$LGACTV
$LGTC
$LGEPRL
$LGUIMID
$OTADM

