I have made some assumptions about the radio to get a leg up. Keep in mind I am working from a logical argument not an understanding of python or chirp.
I am using the 760G driver set written by Pavel Milanes, tk760g.py, as a starting point to understand and open the radio. I edited that file by copying the TK270G data and changing the model information to TK280 ...
@directory.register
class TK280G_Radios(Kenwood_Serie_60G):
"""Kenwood TK-280G Radio K/K1/M/E/NE/NT"""
MODEL = "TK-280G"
TYPE = "P2800"
VARIANTS = {
"P2800T\xff": (128, 144, 174, "NE/NT"), # 146-174 original
"P2800$\xff": (128, 144, 174, "E"), # 146-174 original
"P2800\x14\xff": (128, 150, 174, "M"),
"P2800\x05\xff": (128, 136, 150, "K1"),
"P2800\x04\xff": (128, 150, 174, "K"),
}
This gave me the error wrong model with the message, "expected P2800 but got v2.01k instead". So I edited the string again ...
@directory.register
class TK280G_Radios(Kenwood_Serie_60G):
"""Kenwood TK-280G Radio K/K1/M/E/NE/NT"""
MODEL = "TK-280G"
TYPE = "v2.01k"
VARIANTS = {
"P2800T\xff": (128, 144, 174, "NE/NT"), # 146-174 original
"P2800$\xff": (128, 144, 174, "E"), # 146-174 original
"P2800\x14\xff": (128, 150, 174, "M"),
"P2800\x05\xff": (128, 136, 150, "K1"),
"P2800\x04\xff": (128, 150, 174, "K"),
}
and got a Handshake error ...
File "/usr/lib/python2.7/dist-packages/chirp/drivers/tk760g.py", line 884, in sync_in
File "/usr/lib/python2.7/dist-packages/chirp/drivers/tk760g.py", line 517, in do_download
File "/usr/lib/python2.7/dist-packages/chirp/drivers/tk760g.py", line 501, in _open_radio
File "/usr/lib/python2.7/dist-packages/chirp/drivers/tk760g.py", line 385, in _handshake