* Linux AX25 KISS driver for Kenwood D700
@ 2009-12-17 22:34 Bill V WA7NWP
2009-12-18 19:23 ` Curt, WE7U
2009-12-29 13:49 ` Ralf Baechle DL5RB
0 siblings, 2 replies; 4+ messages in thread
From: Bill V WA7NWP @ 2009-12-17 22:34 UTC (permalink / raw)
To: linux-hams
Is this where the maintainers of the Linux KISS code would be found?
A simple tweak would eliminate the possibility of some ASCI sequences
kicking the Kenwood D7 or D700 radios out of KISS mode...
We really need to feed this info back to Kenwood so they correctly fix
the D710. I don't hold any hope in firmware updates for the D7/D700
so it seems tweaking the KISS generator is the best answer.
73
Bill - WA7NWP
---
The 710 “bug” is not a violation of the KISS protocol…it is the result
of trying to use the same serial port for both a TNC and a Front panel
control. The problem is when in KISS mode (which sends binary packets
“encapsulated in the KISS protocol” it is possible to have the
character sequence “TC 0<Cr>” as binary or character data within the
KISS encapsulation. This sequence will be interpreted by the serial
port controller in the Control head of the D710 as “escape to control
mode” and which will switch the serial interface from TNC mode to
front panel control mode. This can have disastrous affects when
trying to transfer binary files using KISS.
One solution would be to entice Kenwood to modify the firmware in the
control head to having entered the KISS protocol to ignore all mode
control commands including “TC 0<Cr>”. This would require using the
standardized escape KISS sequence {0xC0, 0xFF, 0xC0} prior to any
control panel commands and then re enabling KISS to continue TNC
operation…This gets tricky and is very likely to impact existing
programs that now work.
The solution we used and which appears to work well and is solid is to
escape the “C” character. So when any data is sent to the TNC in KISS
mode if there is an ASCII “C” it is replaced by the sequence <0xDB>”C”
which essentially escapes the “TC 0<Cr>” sequence. The KISS protocol
(in the D710’s KISS TNC implementation) removes the <0xDB> which is
the frame escape so no modification of the transmitted data stream is
actually made. Thanks to Peter Woods for figuring this out.
73,
Rick Muething, KN6KB
Winlink Development Team
--
To unsubscribe from this list: send the line "unsubscribe linux-hams" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Linux AX25 KISS driver for Kenwood D700
2009-12-17 22:34 Linux AX25 KISS driver for Kenwood D700 Bill V WA7NWP
@ 2009-12-18 19:23 ` Curt, WE7U
2009-12-29 13:49 ` Ralf Baechle DL5RB
1 sibling, 0 replies; 4+ messages in thread
From: Curt, WE7U @ 2009-12-18 19:23 UTC (permalink / raw)
To: Bill V WA7NWP; +Cc: linux-hams
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1677 bytes --]
On Thu, 17 Dec 2009, Bill V WA7NWP wrote:
Actually Rick Muething, KN6KB wrote:
> The solution we used and which appears to work well and is solid is to
> escape the “C” character. So when any data is sent to the TNC in KISS
> mode if there is an ASCII “C” it is replaced by the sequence <0xDB>”C”
> which essentially escapes the “TC 0<Cr>” sequence. The KISS protocol
> (in the D710’s KISS TNC implementation) removes the <0xDB> which is
> the frame escape so no modification of the transmitted data stream is
> actually made. Thanks to Peter Woods for figuring this out.
Bill: I see the mentioned that this fixes the problem with Winlink
talking to D710's. Has this "fix" (hack) been tested on all of
these?
TM-D700A
TM-D710A (Yes, per above)
RC-D710 (the actual TNC used w/TM-D710A) (Yes, per above)
TH-D7A
TH-D7A(G)
TS-2000 (all models)
Other Kenwoods?
For Xastir purposes: Would I need to identify a port as having a
Kenwood KISS TNC attached before enabling this extra escaping? A
counter-question would be: Would the above escaping of the 'C'
character cause problems for non-Kenwood KISS implementations?
I _really_ wish Kenwood would fix this (and other) problems with
their KISS implementations so the rest of us wouldn't have to
program around their bugs.
--
Curt, WE7U. <http://www.eskimo.com/~archer>
APRS: Where it's at! <http://www.xastir.org>
Lotto: A tax on people who are bad at math. - unknown
Windows: Microsoft's tax on computer illiterates. - WE7U.
The world DOES revolve around me: I picked the coordinate system!"
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Linux AX25 KISS driver for Kenwood D700
2009-12-17 22:34 Linux AX25 KISS driver for Kenwood D700 Bill V WA7NWP
2009-12-18 19:23 ` Curt, WE7U
@ 2009-12-29 13:49 ` Ralf Baechle DL5RB
2009-12-30 21:59 ` John Ronan
1 sibling, 1 reply; 4+ messages in thread
From: Ralf Baechle DL5RB @ 2009-12-29 13:49 UTC (permalink / raw)
To: Bill V WA7NWP; +Cc: linux-hams
On Thu, Dec 17, 2009 at 02:34:47PM -0800, Bill V WA7NWP wrote:
> Is this where the maintainers of the Linux KISS code would be found?
Generic way of finding a maintainer for a piece of kernel code:
o look in the MAINTAINERS file in the root directory of the kernel source
tree
o Look for email addresses in the source code in question itself. That
would have yielded my name and address.
o If still unsuccessful, look through the git source tree.
o If you don't have git, dig it up on git web at http://git.kernel.org;
in this particular case
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;f=drivers/net/hamradio/mkiss.c;h=7db0a1c3216c7b8dc86703ac23074b9afbe82867;hb=6b7b284958d47b77d06745b36bc7f36dab769d9b
which will yield a list of people who last modified the the code or
approved changes to it - that are the Signed-off-by:, Reviewed-by:,
Tested-by: etc. headers at the bottom of commit messages.
> A simple tweak would eliminate the possibility of some ASCI sequences
> kicking the Kenwood D7 or D700 radios out of KISS mode...
>
> We really need to feed this info back to Kenwood so they correctly fix
> the D710. I don't hold any hope in firmware updates for the D7/D700
> so it seems tweaking the KISS generator is the best answer.
I agree.
Kenwood has a tradition of shipping substandard TNC implementations, see
for example the TNC in the otherwise nice TH-D7 handheld.
> The 710 “bug” is not a violation of the KISS protocol…it is the result
> of trying to use the same serial port for both a TNC and a Front panel
> control. The problem is when in KISS mode (which sends binary packets
> “encapsulated in the KISS protocol” it is possible to have the
> character sequence “TC 0<Cr>” as binary or character data within the
> KISS encapsulation. This sequence will be interpreted by the serial
> port controller in the Control head of the D710 as “escape to control
> mode” and which will switch the serial interface from TNC mode to
> front panel control mode. This can have disastrous affects when
> trying to transfer binary files using KISS.
If you can't speak normal KISS to the interface I very well call it a
violation of the KISS protocol. And it's a terribly, terribly lame one.
Reminds me of the modems taking "+++" in the data stream for a command
but those vendors at least had the excuse of Hayes' patents.
> One solution would be to entice Kenwood to modify the firmware in the
> control head to having entered the KISS protocol to ignore all mode
> control commands including “TC 0<Cr>”. This would require using the
> standardized escape KISS sequence {0xC0, 0xFF, 0xC0} prior to any
> control panel commands and then re enabling KISS to continue TNC
> operation…This gets tricky and is very likely to impact existing
> programs that now work.
The solution which Hayes has a patent on was to only accept the +++ escape
to command mode sequence if it is framed by a short delay. Thankfully
Wikipedia has an article coverting this in details at
http://en.wikipedia.org/wiki/Time_Independent_Escape_Sequence
Note the expiry date of the patent so the approach should be possible for
a modem even in the united patent hell states of america. Still a workaround
for existing firmware is needed.
> The solution we used and which appears to work well and is solid is to
> escape the “C” character. So when any data is sent to the TNC in KISS
> mode if there is an ASCII “C” it is replaced by the sequence <0xDB>”C”
> which essentially escapes the “TC 0<Cr>” sequence. The KISS protocol
> (in the D710’s KISS TNC implementation) removes the <0xDB> which is
> the frame escape so no modification of the transmitted data stream is
> actually made. Thanks to Peter Woods for figuring this out.
It would be easy enough to add this to the escaping code in the mkiss.c
driver in the kernel - but I can't test this.
Ralf
--
To unsubscribe from this list: send the line "unsubscribe linux-hams" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Linux AX25 KISS driver for Kenwood D700
2009-12-29 13:49 ` Ralf Baechle DL5RB
@ 2009-12-30 21:59 ` John Ronan
0 siblings, 0 replies; 4+ messages in thread
From: John Ronan @ 2009-12-30 21:59 UTC (permalink / raw)
To: Ralf Baechle DL5RB; +Cc: Bill V WA7NWP, linux-hams
On 29 Dec 2009, at 13:49, Ralf Baechle DL5RB wrote:
>
> It would be easy enough to add this to the escaping code in the mkiss.c
> driver in the kernel - but I can't test this.
>
> Ralf
> --
> To unsubscribe from this list: send the line "unsubscribe linux-hams" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi,
I've transferred a lot of data TCP/IP with the TM-D710E in kiss mode and it's never given me any trouble.
Has anyone got a 'test file' that I could try to see if I can trigger it?
Cheers
John
--
John Ronan <jronan@tssg.org>, +353-51-302938
Telecommunications Software & Systems Group, http://www.tssg.org
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-12-30 21:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-17 22:34 Linux AX25 KISS driver for Kenwood D700 Bill V WA7NWP
2009-12-18 19:23 ` Curt, WE7U
2009-12-29 13:49 ` Ralf Baechle DL5RB
2009-12-30 21:59 ` John Ronan
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.