开云体育

Can serial kiss channel be forced to 0?


 

I'm wanting data from 2 radios running on an Orange Pi to be processed by APRSdroid connected via the serial kiss (BT) facility where APRSdroid ignores other than ch0. Is there a way to achieve this without modifying Direwolf or APRSdroid source?
I currently cause a particular radio to be on ch0 by an automated Direwolf restart using a different configuration file, swapping between VHF and HF depending on whether I'm in a VHF area or not.
Forcing ch0 could be achieved if the channel number in the serial kiss output (kissserial.c) was modified to always set to 0 in the same manner as kissnet.c can now force ch0 for a tnc kiss port, being a simple user modification.? Neither REGEN nor KISSUTIL support R0 as a to-channel.
I acknowledge that data generated by APRSdroid would only be sent to the radio currently on ch0.? No position beacons are created by APRSdroid, but messages could be sent.
My requirement might not be common enough to warrant the addition of a new Direwolf feature such as another parameter on the SERIALKISSPOLL statement to force ch0, unless of course one already exists!
Thanks,
Graeme VK2HFG


 

Hi Graeme,

I had similar problem and ended up with dirty workaround, source attached. Maybe you can adapt it to your needs.

Wojtek SP9WPN


 

开云体育

Thanks Wojtek for replying and for your program source.? I only fumble my way around Unix and C so I've forwarded your code for comment to one of my sons, a Unix specialist and who initially set-up my tracker. My background is IBM mainframe from nearly 30 years ago so of not much use these days.

I've confirmed that by specifying KISSPORT 8001 2 in my DW 1.7 config and running kissutil using the default 8001 port that ch2 gets changed to ch0 in the generated records. However I would still need to get the records into KISS format and onto the KISS serial port if a 2nd program can indeed write to the port.

Graeme

On 23/06/2024 7:09 pm, Wojtek SP9WPN wrote:

Hi Graeme,

I had similar problem and ended up with dirty workaround, source attached. Maybe you can adapt it to your needs.

Wojtek SP9WPN







 

My latest thought is to create an application based on kissutil source, running continuously to read from tcp port 8001 to which only radio channel 2 data has been sent by using KISSPORT 8001 2 in the DW configuration file. The records will already have the channel changed to 0 so the application can output unmodified KISS records to the serial port.


 

The mission has been accomplished. My enhanced kissutil caters for a new command-line parameter -O followed by the output serial port name and minor additional code in conjunction with KISSPORT 8002 2 in the DW configuration, without any need for channel or other data modification. Speed needed to be set using the -s parameter to match that in use by DW.? I didn't provide separate speeds for the optional serial TCP input and serial output but that could easily be provided by a extra command-line parameter, eg -S.


 

Hi,

I had a similar issue and ended up solving it using a simple "multiplexing" shell script listening on port 8004 for aprsdroid and replicating to port 8001 and 8002 toward direwolf. The other way around it gets packets from port 8001 and 8002 and push them to aprsdroid on port 8004.

If you configure ports like this in Direwolf, it just ignores the tnc port being specified on the kiss frame.

# VHF:
KISSPORT 8001 0
# HF
KISSPORT 8002 2

Additionaly I do not use BT through Direwolf serial. I have another script forwarding port 8004 to Bluetooth.

I do not have my Orange Pi handy right now, I will post the files later.

Here is a rough block diagram of how it works.



--
Geoffrey F4FXL /? KC3FRA
My Direwolf stuff :


 

开云体育

Thanks Geoffrey for your info.? However as I now have my solution working I'll stay with it unless problems arise later, even though it uses a modified kissutil for the extra output, being the serial port.? I found that kissutil and hence my extended version needs either a transmit-from directory or a terminal otherwise it terminates virtually immediately, so I've given it one to keep it happy.? Yes, I'm using the enhanced DW 1.7 KISSPORT to send ch2 to another port with the channel already changed to ch0.

I can easily switch radios to make whichever one I want to be on ch0 so that messages generated by aprsdroid go out over the desired network depending on what rx and tx frequencies the HF radio is set to use if it is switched on. I toggle between split and not split for the HF aprs frequency on the display so that my tbeacon commentcmd script knows which radio I want to be on ch0 and restarts DW with the appropriate config file if not already using it.
The OPi isn't using a BT dongle, instead running another package that handles the BT connection. One of my sons set it up quite a few years ago, including the scripts to restart DW, but I endeavour to make my own desired enhancements.

Graeme VK2HFG


On 26/06/2024 4:21 pm, Geoffrey Merck wrote:

Hi,

I had a similar issue and ended up solving it using a simple "multiplexing" shell script listening on port 8004 for aprsdroid and replicating to port 8001 and 8002 toward direwolf. The other way around it gets packets from port 8001 and 8002 and push them to aprsdroid on port 8004.

If you configure ports like this in Direwolf, it just ignores the tnc port being specified on the kiss frame.

# VHF:
KISSPORT 8001 0
# HF
KISSPORT 8002 2

Additionaly I do not use BT through Direwolf serial. I have another script forwarding port 8004 to Bluetooth.

I do not have my Orange Pi handy right now, I will post the files later.

Here is a rough block diagram of how it works.



--
Geoffrey F4FXL /? KC3FRA
My Direwolf stuff :



 

开云体育


Hello Graeme,

Beyond all the soluitions that are being shared, can you explain WHY you need this feature?? I'm curious what you're doing that needs such a "unique" feature.

--David
KI6ZHD


On 06/26/2024 01:03 AM, Graeme Small wrote:

Thanks Geoffrey for your info.? However as I now have my solution working I'll stay with it unless problems arise later, even though it uses a modified kissutil for the extra output, being the serial port.? I found that kissutil and hence my extended version needs either a transmit-from directory or a terminal otherwise it terminates virtually immediately, so I've given it one to keep it happy.? Yes, I'm using the enhanced DW 1.7 KISSPORT to send ch2 to another port with the channel already changed to ch0.

I can easily switch radios to make whichever one I want to be on ch0 so that messages generated by aprsdroid go out over the desired network depending on what rx and tx frequencies the HF radio is set to use if it is switched on. I toggle between split and not split for the HF aprs frequency on the display so that my tbeacon commentcmd script knows which radio I want to be on ch0 and restarts DW with the appropriate config file if not already using it.
The OPi isn't using a BT dongle, instead running another package that handles the BT connection. One of my sons set it up quite a few years ago, including the scripts to restart DW, but I endeavour to make my own desired enhancements.

Graeme VK2HFG


On 26/06/2024 4:21 pm, Geoffrey Merck wrote:

Hi,

I had a similar issue and ended up solving it using a simple "multiplexing" shell script listening on port 8004 for aprsdroid and replicating to port 8001 and 8002 toward direwolf. The other way around it gets packets from port 8001 and 8002 and push them to aprsdroid on port 8004.

If you configure ports like this in Direwolf, it just ignores the tnc port being specified on the kiss frame.

# VHF:
KISSPORT 8001 0
# HF
KISSPORT 8002 2

Additionaly I do not use BT through Direwolf serial. I have another script forwarding port 8004 to Bluetooth.

I do not have my Orange Pi handy right now, I will post the files later.

Here is a rough block diagram of how it works.



--
Geoffrey F4FXL /? KC3FRA
My Direwolf stuff :




 

Hi Graeme,

I finally opted for publishing a small blog post describing the setup.? Feel free to use it or not ;)


--
Geoffrey F4FXL /? KC3FRA
My Direwolf stuff :


 

开云体育

I wanted the aprsdroid station display to show nearby mobile and fixed APRS stations on both VHF and my licensed 40m HF frequency.? I also wanted to hear aprsdroid notifications of my digipeated pkts as confirmation that at least those were being igated, especially when in outer rural or remote areas.? As aprsdroid selects for ch0 data, I was swapping between HF and VHF depending on the area I was passing through, missing any pkts on the other frequency. My tracker transmits on VHF and also on HF if the HF radio is powered-on, the tx freq is set to the APRS freq and data mode is set, so aprsdroid notifications can be for both VHF and HF digipeated pkts.

Graeme
VK2HG

On 27/06/2024 2:13 am, David Ranch via groups.io wrote:


Hello Graeme,

Beyond all the soluitions that are being shared, can you explain WHY you need this feature?? I'm curious what you're doing that needs such a "unique" feature.

--David
KI6ZHD


On 06/26/2024 01:03 AM, Graeme Small wrote:
Thanks Geoffrey for your info.? However as I now have my solution working I'll stay with it unless problems arise later, even though it uses a modified kissutil for the extra output, being the serial port.? I found that kissutil and hence my extended version needs either a transmit-from directory or a terminal otherwise it terminates virtually immediately, so I've given it one to keep it happy.? Yes, I'm using the enhanced DW 1.7 KISSPORT to send ch2 to another port with the channel already changed to ch0.

I can easily switch radios to make whichever one I want to be on ch0 so that messages generated by aprsdroid go out over the desired network depending on what rx and tx frequencies the HF radio is set to use if it is switched on. I toggle between split and not split for the HF aprs frequency on the display so that my tbeacon commentcmd script knows which radio I want to be on ch0 and restarts DW with the appropriate config file if not already using it.
The OPi isn't using a BT dongle, instead running another package that handles the BT connection. One of my sons set it up quite a few years ago, including the scripts to restart DW, but I endeavour to make my own desired enhancements.

Graeme VK2HFG


On 26/06/2024 4:21 pm, Geoffrey Merck wrote:

Hi,

I had a similar issue and ended up solving it using a simple "multiplexing" shell script listening on port 8004 for aprsdroid and replicating to port 8001 and 8002 toward direwolf. The other way around it gets packets from port 8001 and 8002 and push them to aprsdroid on port 8004.

If you configure ports like this in Direwolf, it just ignores the tnc port being specified on the kiss frame.

# VHF:
KISSPORT 8001 0
# HF
KISSPORT 8002 2

Additionaly I do not use BT through Direwolf serial. I have another script forwarding port 8004 to Bluetooth.

I do not have my Orange Pi handy right now, I will post the files later.

Here is a rough block diagram of how it works.



--
Geoffrey F4FXL /? KC3FRA
My Direwolf stuff :





 

开云体育

Thanks Geoffrey.
Graeme VK2HFG

On 27/06/2024 5:15 am, Geoffrey Merck wrote:

Hi Graeme,

I finally opted for publishing a small blog post describing the setup.? Feel free to use it or not ;)


--
Geoffrey F4FXL /? KC3FRA
My Direwolf stuff :