¿ªÔÆÌåÓý

Kiss Question


 

Is it possible to configure DIREWOLF to connect the KISS TCP/IP TNC? to point to port 1 vs the default of port 0 on a two-port device? It appears that this works with the serial TNC, but not clear if this is possible using the network port.

Thanks,
-Corky


 

¿ªÔÆÌåÓý


Hello Corky,

Are you asking if Direwolf could send the data payload in the KISS frames for TNC #1 and not TNC #0?? If so, I would assume this would be possible by changing the code and recompiling it.

What is your scenario that would need such a thing?

--David
KI6ZHD




On 02/13/2021 03:29 PM, Corky Searls wrote:

Is it possible to configure DIREWOLF to connect the KISS TCP/IP TNC? to point to port 1 vs the default of port 0 on a two-port device? It appears that this works with the serial TNC, but not clear if this is possible using the network port.

Thanks,
-Corky


 

Typcially the application you are using (which is connecting to Direwolf) will determine the port the connection needs to be made on.

I think you need to explain the situation in more detail.

Why do you feel port 1 is the proper port?
?? What are you connecting to, with what application you are using to make the connection?

Things like the Nexus DR-X (Digital Radio Cross Patch) can separate the chanels of the sound card.
But in general, the source of the data is how the reply is determined.? For instance, if you have port 0 on 2m and 440 on port 1, any info that is heard on port 1 would be responded to on port 1.

Robert Giuliano
KB8RCO


On Saturday, February 13, 2021, 8:42:48 PM EST, Corky Searls <af4pm@...> wrote:


Is it possible to configure DIREWOLF to connect the KISS TCP/IP TNC? to point to port 1 vs the default of port 0 on a two-port device? It appears that this works with the serial TNC, but not clear if this is possible using the network port.

Thanks,
-Corky


 

Does this help??? It is a new feature, in the 'dev' development branch, but not the 1.6 release.



??????? Separate KISS TCP ports per radio:

?

An increasing number of people are using multiple radios.

direwolf is capable of handling many radio channels and

provides cross-band repeating, etc.

Suppose a single stereo audio interface is used for 2 radios.

?

?????????????????? +------------+??? tcp 8001, all channels

Radio A? --------? |??????????? |? -------------------------- Application A

?????????????????? |? direwolf? |

Radio B? --------? |??????????? |? -------------------------- Application B

?????????????????? +------------+??? tcp 8001, all channels

?

The KISS protocol has a 4 bit field for the TNC port (which I prefer to

call channel because port has too many different meanings).

direwolf handles this fine.? However, most applications were written assuming

that a TNC could only talk to a single radio.? On reception, they ignore the

channel in the KISS frame.? For transmit, the channel is always set to 0.

?

Many people are using the work-around of two separate instances of direwolf.

?

?????????????????? +------------+??? tcp 8001, KISS ch 0

Radio A? --------? |? direwolf? |? -------------------------- Application A

?????????????????? +------------+

?

?????????????????? +------------+??? tcp 8002, KISS ch 0

Radio B? --------? |? direwolf ?|? -------------------------- Application B

?????????????????? +------------+

?

?

Or they might be using a single application that knows how to talk to multiple

single port TNCs.? But they don't know how to multiplex multiple channels

thru a single KISS stream.

?

?????????????????? +------------+??? tcp 8001, KISS ch 0

Radio A? --------? |? direwolf? |? ------------------------

?????????????????? +------------+????????????????????????? \

??????????????????????????????????????????????????????????? -- Application

?????????????????? +------------+??? tcp 8002, KISS ch 0?? /

Radio B? --------? |? direwolf? |? ------------------------

?????????????????? +------------+

?

Using two different instances of direwolf means more complex configuration

and loss of cross-channel digipeating.? It is possible to use a stereo

audio interface but some ALSA magic is required to make it look like two

independent virtual mono interfaces.

?

In version 1.7 (currently in development), we add the capability of multiple KISS TCP ports, each for

a single radio channel.? e.g.

?

KISSPORT 8001 1

KISSPORT 8002 2

?

Now can use a single instance of direwolf.

?

?

?????????????????? +------------+??? tcp 8001, KISS ch 0

Radio A? --------? |??????????? |? -------------------------- Application A

????????????? ?????|? direwolf? |

Radio B? --------? |??????????? |? -------------------------- Application B

?????????????????? +------------+??? tcp 8002, KISS ch 0

?

When receiving, the KISS channel is set to 0.

- only radio channel 1 would be sent over tcp port 8001.

- only radio channel 2 would be sent over tcp port 8001.

?

When transmitting, the KISS channel is ignored.

- frames from tcp port 8001 are transmitted on radio channel 1.

- frames from tcp port 8002 are transmitted on radio channel 2.

?

Of course, you could also use an application, capable of connecting to

multiple single radio TNCs.? Separate TCP ports actually go to the

same direwolf instance.

?


 

This is exactly the use case.

I will need to look at this more closely, but based on my initial read, it appears that I could use radio 1 (Direwolf radio port 0) on 8001, and radio 2 (Direwolf radio port 1) on 8002 and transmit/receive with the appropriate radio by selecting the appropriate network port. This would completely address my use case if this is the option. The alternative as someone else suggested was to modify the code to map radio port 1 to network port 8001, but taking a look at the code, it was not entirely obvious where the radio port was mapped in the Kiss networking code.


Thanks and 73,
-Corky, AF4PM


On Sun, Feb 14, 2021, at 5:08 AM, WB2OSZ wrote:
Does this help??? It is a new feature, in the 'dev' development branch, but not the 1.6 release.




??????? Separate KISS TCP ports per radio:

?

An increasing number of people are using multiple radios.

direwolf is capable of handling many radio channels and

provides cross-band repeating, etc.

Suppose a single stereo audio interface is used for 2 radios.

?

?????????????????? +------------+??? tcp 8001, all channels

Radio A? --------? |??????????? |? -------------------------- Application A

?????????????????? |? direwolf? |

Radio B? --------? |??????????? |? -------------------------- Application B

?????????????????? +------------+??? tcp 8001, all channels

?

The KISS protocol has a 4 bit field for the TNC port (which I prefer to

call channel because port has too many different meanings).

direwolf handles this fine.? However, most applications were written assuming

that a TNC could only talk to a single radio.? On reception, they ignore the

channel in the KISS frame.? For transmit, the channel is always set to 0.

?

Many people are using the work-around of two separate instances of direwolf.

?

?????????????????? +------------+??? tcp 8001, KISS ch 0

Radio A? --------? |? direwolf? |? -------------------------- Application A

?????????????????? +------------+

?

?????????????????? +------------+??? tcp 8002, KISS ch 0

Radio B? --------? |? direwolf ?|? -------------------------- Application B

?????????????????? +------------+

?

?

Or they might be using a single application that knows how to talk to multiple

single port TNCs.? But they don't know how to multiplex multiple channels

thru a single KISS stream.

?

?????????????????? +------------+??? tcp 8001, KISS ch 0

Radio A? --------? |? direwolf? |? ------------------------

?????????????????? +------------+????????????????????????? \

??????????????????????????????????????????????????????????? -- Application

?????????????????? +------------+??? tcp 8002, KISS ch 0?? /

Radio B? --------? |? direwolf? |? ------------------------

?????????????????? +------------+

?

Using two different instances of direwolf means more complex configuration

and loss of cross-channel digipeating.? It is possible to use a stereo

audio interface but some ALSA magic is required to make it look like two

independent virtual mono interfaces.

?

In version 1.7 (currently in development), we add the capability of multiple KISS TCP ports, each for

a single radio channel.? e.g.

?

KISSPORT 8001 1

KISSPORT 8002 2

?

Now can use a single instance of direwolf.

?

?

?????????????????? +------------+??? tcp 8001, KISS ch 0

Radio A? --------? |??????????? |? -------------------------- Application A

????????????? ?????|? direwolf? |

Radio B? --------? |??????????? |? -------------------------- Application B

?????????????????? +------------+??? tcp 8002, KISS ch 0

?

When receiving, the KISS channel is set to 0.

- only radio channel 1 would be sent over tcp port 8001.

- only radio channel 2 would be sent over tcp port 8001.

?

When transmitting, the KISS channel is ignored.

- frames from tcp port 8001 are transmitted on radio channel 1.

- frames from tcp port 8002 are transmitted on radio channel 2.

?

Of course, you could also use an application, capable of connecting to

multiple single radio TNCs.? Separate TCP ports actually go to the

same direwolf instance.

?