¿ªÔÆÌåÓý

Re: Kiss Question


 

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.

?


Join [email protected] to automatically receive all group messages.