Topics

Error, DVSwitch.ini file not found.. But it's right there?!


w2jon@...
 

Hey Guys/Gals, 
I'm having a strange error.. I have DVSwitch up and running on an ASL deployment and I had configured ASL NODE 1999 for use as a bridge to DMR.
It works just dandy, So I figured it was time to move forward and see about lighting up DStar and maybe another mode.. but for now DStar was the one I was going to start with.

I when I manually invoke a ./dvswitch.sh mode DSTAR the script comes back with the error that the DVSwitch.ini cant be found?
I checked the script and the DVSWITCH_INI variable points to /opt/MMDVM_Bridge/DVSwitch.ini and after checking several if not tens of times, YES the file lives in there along with MMDVM_Bridge and MMDVM_Bridge.ini

What gives? what did I mess up?
I think that in the dvswitch.sh file, I can see that it it's supposed to parse the file and if it cant find the values it assumes its because the file isn't available?
The file permissions are 755 but I have also tried at 777 and it still fails. 

Oh , and YES the [DSTAR] schema is present in the DVSwitch.ini as well as it's associated TXPort and RXPort values this process is looking for.
And the [D-Star] Enable=1 is set in the MMDVM_Bridge.ini..

Thanks, any insight is appreciated.  

-jon W2JON


  


Mike KB8JNM
 

are you root ?

check ownership

On 7/9/2020 9:12 PM, w2jon@... wrote:
Hey Guys/Gals, 
I'm having a strange error.. I have DVSwitch up and running on an ASL deployment and I had configured ASL NODE 1999 for use as a bridge to DMR.
It works just dandy, So I figured it was time to move forward and see about lighting up DStar and maybe another mode.. but for now DStar was the one I was going to start with.

I when I manually invoke a ./dvswitch.sh mode DSTAR the script comes back with the error that the DVSwitch.ini cant be found?
I checked the script and the DVSWITCH_INI variable points to /opt/MMDVM_Bridge/DVSwitch.ini and after checking several if not tens of times, YES the file lives in there along with MMDVM_Bridge and MMDVM_Bridge.ini

What gives? what did I mess up?
I think that in the dvswitch.sh file, I can see that it it's supposed to parse the file and if it cant find the values it assumes its because the file isn't available?
The file permissions are 755 but I have also tried at 777 and it still fails. 

Oh , and YES the [DSTAR] schema is present in the DVSwitch.ini as well as it's associated TXPort and RXPort values this process is looking for.
And the [D-Star] Enable=1 is set in the MMDVM_Bridge.ini..

Thanks, any insight is appreciated.  

-jon W2JON


  


w2jon@...
 
Edited

Yep I'm root and the files are owned by root as well.\
all processes except for some started by systemd+ (none related to this) are running under root


Mike KB8JNM
 

typo ?

perhaps try to back out of the current director of it and specify the path to it ./dir/sub/xxx.sh

after that I am out of guesses.

On 7/9/2020 9:17 PM, w2jon@... wrote:

[Edited Message Follows]

Yep I'm root and the files are owned by root as well.\
all processes except for some started by systemd+ (none related to this) are running under root


w2jon@...
 
Edited

Crazy... Still no worky.. ( ./Analog_Bridge/dvswitch.sh mode DSTAR )
 

parseIniFile "$DVSWITCH_INI" "$_MODE" "TXPort"
++ parseIniFile /opt/MMDVM_Bridge/DVSwitch.ini DSTAR TXPort
++ python -
+ _MBTX=
parseIniFile "$DVSWITCH_INI" "$_MODE" "RXPort"
++ parseIniFile /opt/MMDVM_Bridge/DVSwitch.ini DSTAR RXPort
++ python -
+ _MBRX=
+ '[' '!' -z ']'
+ echo 'Error, DVSwitch.ini file not found'
Error, DVSwitch.ini file not found
+ _ERRORCODE=-1
exit $_ERRORCODE
+ exit -1
 


Mike KB8JNM
 

Are you sure you did not mean DVSwitch.ini 'not found' ?

If so set path and check permissions and ownership of the .ini file

On 7/9/2020 9:31 PM, w2jon@... wrote:
Crazy... Still no worky..
parseIniFile "$DVSWITCH_INI" "$_MODE" "TXPort"
++ parseIniFile ./opt/MMDVM_Bridge/DVSwitch.ini DSTAR TXPort
++ python -
+ _MBTX=
parseIniFile "$DVSWITCH_INI" "$_MODE" "RXPort"
++ parseIniFile ./opt/MMDVM_Bridge/DVSwitch.ini DSTAR RXPort
++ python -
+ _MBRX=
+ '[' '!' -z ']'
+ echo 'Error, DVSwitch.ini file not found'
Error, DVSwitch.ini file not found
+ _ERRORCODE=-1
exit $_ERRORCODE
 


w2jon@...
 

Yes Mike, that's what I meant.. wait a min....I thought I put.....
Yeah, That's the subject of this thread right?


Mike KB8JNM
 

isn't there a place to set the path to the .ini file ? I'm not using the newer software so I don't know.

On 7/9/2020 9:37 PM, w2jon@... wrote:
Yes Mike, that's what I meant.. wait a min....I thought I put.....
Yeah, That's the subject of this thread right?


w2jon@...
 

The path in the .sh script is set to  DVSWITCH_INI=${DVSWITCH_INI:-"/opt/MMDVM_Bridge/DVSwitch.ini"} 
The file permissions are 755 and the owner is root.. but everything is root on this pi.


Mike KB8JNM
 

What about group ownership . I am no help. sorry

On 7/9/2020 9:40 PM, w2jon@... wrote:
The path in the .sh script is set to  DVSWITCH_INI=${DVSWITCH_INI:-"/opt/MMDVM_Bridge/DVSwitch.ini"} 
The file permissions are 755 and the owner is root.. but everything is root on this pi.


w2jon@...
 

HAHA.. no its good.. You're going through it with me. I appreciate it

Every thing is root including the group owners


w2jon@...
 
Edited

Th one thing that IS of note is that the /opt/MMDVM_Bridge folder is a symbolic link to /usr/local/dvswitch/opt/MMDVM_Bridge as are all of the other folders under /opt

Also I can manually CAT the /opt/MMDVM_Bridge/DVSwitch.ini file from the Analog_Bridge folder from where the DVSwitch.sh scriptis run.. 


Steve N4IRS
 

What does /opt/MMDVM_Bridge/dvswitch.sh mode return?


On 7/9/20 9:12 PM, w2jon@... wrote:
Hey Guys/Gals, 
I'm having a strange error.. I have DVSwitch up and running on an ASL deployment and I had configured ASL NODE 1999 for use as a bridge to DMR.
It works just dandy, So I figured it was time to move forward and see about lighting up DStar and maybe another mode.. but for now DStar was the one I was going to start with.

I when I manually invoke a ./dvswitch.sh mode DSTAR the script comes back with the error that the DVSwitch.ini cant be found?
I checked the script and the DVSWITCH_INI variable points to /opt/MMDVM_Bridge/DVSwitch.ini and after checking several if not tens of times, YES the file lives in there along with MMDVM_Bridge and MMDVM_Bridge.ini

What gives? what did I mess up?
I think that in the dvswitch.sh file, I can see that it it's supposed to parse the file and if it cant find the values it assumes its because the file isn't available?
The file permissions are 755 but I have also tried at 777 and it still fails. 

Oh , and YES the [DSTAR] schema is present in the DVSwitch.ini as well as it's associated TXPort and RXPort values this process is looking for.
And the [D-Star] Enable=1 is set in the MMDVM_Bridge.ini..

Thanks, any insight is appreciated.  

-jon W2JON


  


Steve N4IRS
 

huh?


On 7/9/20 9:50 PM, w2jon@... wrote:
Th one thing that IS of note is that the /opt/MMDVM_Bridge folder is a symbolic link to /usr/local/dvswitch/opt/MMDVM_Bridge as are all of the other folders under /opt


w2jon@...
 

DMR


Steve N4IRS
 

This should not be.

On 7/9/20 9:50 PM, w2jon@... wrote:
Th one thing that IS of note is that the /opt/MMDVM_Bridge folder is a symbolic link to /usr/local/dvswitch/opt/MMDVM_Bridge as are all of the other folders under /opt


w2jon@...
 

sorry steve.. here is the last bit of the debug output
getTLVPort
++ getTLVPort
++ getABInfoValue tlv rx_port
getABInfoFileName
+++ getABInfoFileName
+++ '[' -z '' ']'
ls -t /tmp/ABInfo_*.json 2>/dev/null | head -1
++++ ls -t /tmp/ABInfo_34001.json
++++ head -1
+++ declare _json_file=/tmp/ABInfo_34001.json
+++ echo /tmp/ABInfo_34001.json
++ declare _json_file=/tmp/ABInfo_34001.json
++ python -
+ TLV_PORT=30000
+ '[' -z 30000 ']'
+ case $1 in
+ setMode
+ '[' 0 -eq 0 ']'
getABInfoValue tlv ambe_mode
++ getABInfoValue tlv ambe_mode
getABInfoFileName
+++ getABInfoFileName
+++ '[' -z '' ']'
ls -t /tmp/ABInfo_*.json 2>/dev/null | head -1
++++ head -1
++++ ls -t /tmp/ABInfo_34001.json
+++ declare _json_file=/tmp/ABInfo_34001.json
+++ echo /tmp/ABInfo_34001.json
++ declare _json_file=/tmp/ABInfo_34001.json
++ python -
+ echo DMR
DMR
exit $_ERRORCODE
+ exit 0



Steve N4IRS
 

Thell me about the symlink

On 7/9/20 9:54 PM, w2jon@... wrote:
sorry steve.. here is the last bit of the debug output
getTLVPort
++ getTLVPort
++ getABInfoValue tlv rx_port
getABInfoFileName
+++ getABInfoFileName
+++ '[' -z '' ']'
ls -t /tmp/ABInfo_*.json 2>/dev/null | head -1
++++ ls -t /tmp/ABInfo_34001.json
++++ head -1
+++ declare _json_file=/tmp/ABInfo_34001.json
+++ echo /tmp/ABInfo_34001.json
++ declare _json_file=/tmp/ABInfo_34001.json
++ python -
+ TLV_PORT=30000
+ '[' -z 30000 ']'
+ case $1 in
+ setMode
+ '[' 0 -eq 0 ']'
getABInfoValue tlv ambe_mode
++ getABInfoValue tlv ambe_mode
getABInfoFileName
+++ getABInfoFileName
+++ '[' -z '' ']'
ls -t /tmp/ABInfo_*.json 2>/dev/null | head -1
++++ head -1
++++ ls -t /tmp/ABInfo_34001.json
+++ declare _json_file=/tmp/ABInfo_34001.json
+++ echo /tmp/ABInfo_34001.json
++ declare _json_file=/tmp/ABInfo_34001.json
++ python -
+ echo DMR
DMR
exit $_ERRORCODE
+ exit 0




Steve N4IRS
 

There may be a symlink from /opt/MMDVM_Bridge/dvswitch.sh to /opt/Analog_Bridge/dvswitch.sh But that's it.

On 7/9/20 9:50 PM, w2jon@... wrote:

[Edited Message Follows]

Th one thing that IS of note is that the /opt/MMDVM_Bridge folder is a symbolic link to /usr/local/dvswitch/opt/MMDVM_Bridge as are all of the other folders under /opt

Also I can manually CAT the /opt/MMDVM_Bridge/DVSwitch.ini file from the Analog_Bridge folder from where the DVSwitch.sh scriptis run.. 


w2jon@...
 

This was put onto an ARCH 4.14.97 OS .Why Arch? it was a Crompton ASL payload and I wanted to enhance it with DVSwitch.
It's been up running happily for some time now so I cant remember all that much about the build.
All of the /opt Symbolic links are all pointing back to the respective sources but they are under the /usr/local/dvswitch-2019-3-16/opt/...

I know it's not a standard deployment and I shouldn't expect any support but the question remains, Why does it not see the file when it is actually there. 
The script is just looking for a file at a location right? Even if I define the long path it still complanes..
Mind you I am no Linux guru.. I only know enough to cobble things together to get them to work. Clearly my last cobble has some flaws in it.
But can we get around this? I'll take the lumps.. That's how we learn...other than my overall build, where did I go wrong?