hytera USB packet structure


Hello everybody,
I've spent the last couple of months reading through the etsi
documents trying to figure out the packet structure of the 'forward to
pc' option on a hytera radio.
Having done some detective work and comparing packets I can decode
radio ID, LLID, and extract SMS data by bit bashing. I would prefer to
actually understand the whole packet structure so I can decode it
properly rather than blindly extracting the useful data.

The packet does at first appear to be a standard etsi packet,
containing all the blocks.
The issue I'm having is the documents and all open source software I
can find deal with the air side blocks, not a network packet.

Take for example the first 8 bits in the packet : "00001001", which
could be any of the following :
1) 1001 = Idle Data
2) Privacy Flag=0, Reserved Flag=0 and FLCO=001001 making up the first
line in a Full LC header.
3) 001001=8 bit ISO/IEC 8859-7
4) 1001 = SAP 9 = Short Data Services over PDP

Without figuring out some basics, like blocktype I can't work out
which interleaving to use (bptc, hamming etc)

Then there is the LLID. All ETSI documents say it should be
24bits+24bits, but I see the CAI in each address making it 28 or 32
bits for each.

I've attached a text file with some example recieved data split into
colums to make comparision easier for myself.

Im not asking for a full packet decode (although I wouldn't say no!),
just a push in the right direction on how to figure out the packet
type (It must be the first thing transmitted right?)
I realise this isn't a DVSwitch question, but I cant think of a more
knowledgeable group of people on the DMR protocol. If you think there
would be a better place to ask this, please let me know!

Thank you for taking the time to read this, I really hope you can help.


Join {main@DVSwitch.groups.io to automatically receive all group messages.