swift-project / pilotclient

Cross-platform cross-simulator pilot client for virtual air traffic networks
https://swift-project.org
GNU General Public License v3.0
93 stars 27 forks source link

NZZO_FSS on 129.0 not tuning HF freq for voice #212

Open danickinator opened 1 year ago

danickinator commented 1 year ago

Am currently flying across the Tasman during Cross the Ditch (an Oceanic-focussed event between Australia and NZ).

Tuning the Brisbane Radio frequency (124.650) is successfully tuning the HF aliased frequency.

However tuning the Auckland Radio (NZZO_FSS) frequency (129.000) is not tuning the HF frequency (8.867). I can see SELCAL text messages from the Auckland Radio controller, but am not being tuned into the HF alias frequency. AFV Map shows me tuned to the VHF frequency (129.0).

The swift ui's ATC list does not show NZZO_FSS as being in range; it's unclear whether that's cause or effect of the fact that it's not being treated as an HF station.

Other non-swift pilots are able to connect without issue.

Running swift 0.12.111 with XP12 on linux.

Included is the current transceivers-data.json file entries for Auckland and Brisbane Radios:

Auckland Radio / NZZO_FSS (not working):

{"callsign":"NZZO_FSS","transceivers":[{"id":0,"frequency":8867000,"latDeg":-37.0904401,"lonDeg":174.7836052,"heightMslM":15.0,"heightAglM":10.0},{"id":1,"frequency":8867000,"latDeg":-13.93844,"lonDeg":-171.73138,"heightMslM":1150.0,"heightAglM":10.0},{"id":2,"frequency":5643000,"latDeg":-37.0904401,"lonDeg":174.7836052,"heightMslM":15.0,"heightAglM":10.0},{"id":3,"frequency":5643000,"latDeg":-13.93844,"lonDeg":-171.73138,"heightMslM":1150.0,"heightAglM":10.0}]}

Brisbane Radio / BN-TSN_FSS (working):

{"callsign":"BN-TSN_FSS","transceivers":[{"id":0,"frequency":17904000,"latDeg":-19.189131,"lonDeg":146.764722,"heightMslM":1500.0,"heightAglM":700.0},{"id":1,"frequency":17904000,"latDeg":-12.430715,"lonDeg":130.961087,"heightMslM":1500.0,"heightAglM":700.0},{"id":2,"frequency":17904000,"latDeg":-23.776869,"lonDeg":133.874327,"heightMslM":552.0,"heightAglM":30.0},{"id":3,"frequency":17904000,"latDeg":-31.927294,"lonDeg":141.484057,"heightMslM":1500.0,"heightAglM":700.0}]}

ltoenning commented 1 year ago

Thanks for the report!

swift only tunes to the HF frequency if the station is within range. Therefore, tuning to HF frequencies does not work if the station is not displayed in the ATC list. Other pilotclients might behave differently.

Do you know if NZZO_FSS was displayed for pilots who used different clients and were at approx. the same position as you?

diibify commented 1 year ago

I can confirm that the frequency (voice) does not work. Text does.

danickinator commented 1 year ago

One of the things that makes NZZO_FSS fairly unusual is that it spans both sides of the antimeridian - the two transceivers associated with it are located in Auckland, New Zealand (eastern hemisphere) and Apia, Samoa (western hemisphere). Perhaps this is causing it to be incorrectly considered out of range?

Today's flights were well within the HF range of the Auckland transceiver but at no point did the swift UI show it as being in range.

On Sun, 11 Jun 2023, 19:36 Lars Toenning, @.***> wrote:

Thanks for the report!

swift only tunes to the HF frequency if the station is within range. Therefore, tuning to HF frequencies does not work if the station is not displayed in the ATC list. Other pilotclients might behave differently.

Do you know if NZZO_FSS was displayed for pilots who used different clients and were at approx. the same position as you?

— Reply to this email directly, view it on GitHub https://github.com/swift-project/pilotclient/issues/212#issuecomment-1586058158, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACDLYG3PJZOY2WAJZBEDLV3XKVYOBANCNFSM6AAAAAAZCB2IV4 . You are receiving this because you authored the thread.Message ID: @.***>

ltoenning commented 1 year ago

I guess it is related to the station not showing up in the ATC list. But we'll keep an eye on this!

danickinator commented 1 year ago

Final bit of elaboration:

The position we were trying to tune NZZO_FSS was overhead OMKIN which is ~630nm from the Auckland tranceivers (ids 0 and 2 in the json above) and ~2150nm from the Apia transceivers (ids 1 and 3).

ltoenning commented 5 months ago

Can someone test if this still happen with the latest swift alpha?

FlyingFoxVATSIM commented 5 months ago

Will do so....next week when I get back from work. Leaving home tomorrow morning.

danickinator commented 3 months ago

I can confirm the issue is still present in 0.14.142.

I'm currently taking part in Cross the Ditch 26 and departing Auckland for Melbourne I can see Brisbane Radio but not Auckland Radio (NZZO_FSS). Both are currently showing in the transceivers-data.json file.

If I tune Auckland Radio I get no audio, but I do get the text messages the controller is sending out.

image

The only difference I can think of between the two positions is that Auckland Radio has transceivers on BOTH sides of the antimeridian (180E/W). Possibly this is confusing the client's distance calculations?

Auckland Radio JSON

    "callsign": "NZZO_FSS",
    "transceivers": [
      {
        "id": 0,
        "frequency": 8867000,
        "latDeg": -37.0904401,
        "lonDeg": 174.7836052,
        "heightMslM": 15,
        "heightAglM": 10
      },
      {
        "id": 1,
        "frequency": 8867000,
        "latDeg": -13.93844,
        "lonDeg": -171.73138,
        "heightMslM": 1150,
        "heightAglM": 10
      },
      {
        "id": 2,
        "frequency": 5643000,
        "latDeg": -37.0904401,
        "lonDeg": 174.7836052,
        "heightMslM": 15,
        "heightAglM": 10
      },
      {
        "id": 3,
        "frequency": 5643000,
        "latDeg": -13.93844,
        "lonDeg": -171.73138,
        "heightMslM": 1150,
        "heightAglM": 10
      }
    ]
  },

Brisbane Radio JSON


    "callsign": "BN-TSN_FSS",
    "transceivers": [
      {
        "id": 0,
        "frequency": 17904000,
        "latDeg": -28.835348,
        "lonDeg": 153.560454,
        "heightMslM": 6,
        "heightAglM": 5
      },
      {
        "id": 1,
        "frequency": 17904000,
        "latDeg": -30.32401,
        "lonDeg": 153.114871,
        "heightMslM": 8,
        "heightAglM": 21
      },
      {
        "id": 2,
        "frequency": 17904000,
        "latDeg": -30.481213,
        "lonDeg": 152.397643,
        "heightMslM": 1521,
        "heightAglM": 46
      },
      {
        "id": 3,
        "frequency": 17904000,
        "latDeg": -32.106012,
        "lonDeg": 151.766462,
        "heightMslM": 3000,
        "heightAglM": 35
      },
      {
        "id": 4,
        "frequency": 17904000,
        "latDeg": -31.54926,
        "lonDeg": 159.087029,
        "heightMslM": 220,
        "heightAglM": 30
      },
      {
        "id": 5,
        "frequency": 17904000,
        "latDeg": -30.31757,
        "lonDeg": 152.860088,
        "heightMslM": 953,
        "heightAglM": 27
      },
      {
        "id": 6,
        "frequency": 17904000,
        "latDeg": -28.544782,
        "lonDeg": 153.288034,
        "heightMslM": 778,
        "heightAglM": 25
      },
      {
        "id": 7,
        "frequency": 17904000,
        "latDeg": -27.387826,
        "lonDeg": 153.115481,
        "heightMslM": 4,
        "heightAglM": 75
      },
      {
        "id": 8,
        "frequency": 17904000,
        "latDeg": -24.893413,
        "lonDeg": 152.322812,
        "heightMslM": 40,
        "heightAglM": 35
      },
      {
        "id": 9,
        "frequency": 17904000,
        "latDeg": -28.163913,
        "lonDeg": 153.509192,
        "heightMslM": 1,
        "heightAglM": 19
      },
      {
        "id": 10,
        "frequency": 17904000,
        "latDeg": -26.591873,
        "lonDeg": 153.091807,
        "heightMslM": 4,
        "heightAglM": 24
      },
      {
        "id": 11,
        "frequency": 17904000,
        "latDeg": -25.516384,
        "lonDeg": 152.663212,
        "heightMslM": 13,
        "heightAglM": 15
      },
      {
        "id": 12,
        "frequency": 17904000,
        "latDeg": -23.959288,
        "lonDeg": 150.804655,
        "heightMslM": 719,
        "heightAglM": 22
      },
      {
        "id": 13,
        "frequency": 17904000,
        "latDeg": -27.460771,
        "lonDeg": 152.957846,
        "heightMslM": 208,
        "heightAglM": 86
      },
      {
        "id": 14,
        "frequency": 17904000,
        "latDeg": -27.314785,
        "lonDeg": 152.748074,
        "heightMslM": 725,
        "heightAglM": 39
      },
      {
        "id": 15,
        "frequency": 17904000,
        "latDeg": -26.898221,
        "lonDeg": 151.620285,
        "heightMslM": 1045,
        "heightAglM": 93
      },
      {
        "id": 16,
        "frequency": 17904000,
        "latDeg": -24.702055,
        "lonDeg": 151.96254,
        "heightMslM": 290,
        "heightAglM": 35
      },
      {
        "id": 17,
        "frequency": 17904000,
        "latDeg": -19.189131,
        "lonDeg": 146.764722,
        "heightMslM": 1500,
        "heightAglM": 700
      },
      {
        "id": 18,
        "frequency": 17904000,
        "latDeg": -28.535574,
        "lonDeg": 151.833096,
        "heightMslM": 983,
        "heightAglM": 0
      },
      {
        "id": 19,
        "frequency": 17904000,
        "latDeg": -23.376849,
        "lonDeg": 150.47759,
        "heightMslM": 10,
        "heightAglM": 23
      },
      {
        "id": 20,
        "frequency": 17904000,
        "latDeg": -24.842668,
        "lonDeg": 152.426609,
        "heightMslM": 88,
        "heightAglM": 33
      },
      {
        "id": 21,
        "frequency": 17904000,
        "latDeg": -28.240081,
        "lonDeg": 153.2665,
        "heightMslM": 1015,
        "heightAglM": 35
      },
      {
        "id": 22,
        "frequency": 17904000,
        "latDeg": -27.499712,
        "lonDeg": 153.453142,
        "heightMslM": 218,
        "heightAglM": 14
      },
      {
        "id": 23,
        "frequency": 17904000,
        "latDeg": -23.516822,
        "lonDeg": 150.383195,
        "heightMslM": 312,
        "heightAglM": 42
      },
      {
        "id": 24,
        "frequency": 17904000,
        "latDeg": -12.430715,
        "lonDeg": 130.961087,
        "heightMslM": 1500,
        "heightAglM": 700
      },
      {
        "id": 25,
        "frequency": 17904000,
        "latDeg": -33.948005,
        "lonDeg": 151.169014,
        "heightMslM": 7,
        "heightAglM": 25
      },
      {
        "id": 26,
        "frequency": 17904000,
        "latDeg": -33.947569,
        "lonDeg": 151.169183,
        "heightMslM": 7,
        "heightAglM": 25
      },
      {
        "id": 27,
        "frequency": 17904000,
        "latDeg": -33.753454,
        "lonDeg": 150.371766,
        "heightMslM": 884,
        "heightAglM": 28
      },
      {
        "id": 28,
        "frequency": 17904000,
        "latDeg": -34.116693,
        "lonDeg": 150.952024,
        "heightMslM": 282,
        "heightAglM": 35
      },
      {
        "id": 29,
        "frequency": 17904000,
        "latDeg": -23.776869,
        "lonDeg": 133.874327,
        "heightMslM": 552,
        "heightAglM": 30
      },
      {
        "id": 30,
        "frequency": 17904000,
        "latDeg": -31.927294,
        "lonDeg": 141.484057,
        "heightMslM": 1500,
        "heightAglM": 700
      }
    ]
  },```
FlyingFoxVATSIM commented 3 months ago

I am currently sitting at NZAA on the ground and I can see NZZO_1_FSS on both swift's ATC-list AND I can hear pilots and ATC communicating on it.

Further tests done:

PS: It is confusing: another ATCO opened NZZO_FSS and standing NWWW the distance to the ATC-center is now shown as 643NM instead of about 1005NM to the primary transmitter station. Now, with the new controller on duty, I repositioned to the Australian East Coast between Brisbane and Gold Coast at FL300 and had NZZO listed with good reception, distance to ATC shown as 1350 NM. It looks like we are referring to the visibility center of the ATCOs. Would it be worth loading in the global AFV transmitter station configuration and base the visibility and reception on this, or is this out of our hands? Also, in Australia 122.800 seems to have voice range with the line of sight and not just 15NM.

ltoenning commented 3 months ago

Thanks for the reports. I will try to reproduce this later today.

danickinator commented 3 months ago

I've just logged back on and can confirm that I can tune NZZO_FSS while sitting at Auckland. This is using the same build that did not work during my flight a couple of hours ago.

Update: while I was writing this comment up I had NZZO_FSS tuned in the background and it has now disappeared from the ATC list, and the voice connection has stopped. I can confirm that the controller is still online, but they have disappeared from the ATC list in Swift. Restarting Swift has brought the NZZO_FSS back again.

danickinator commented 3 months ago

Re-ran Swift again with the log going to the console and encountered the same thing: several minutes of tuning NZZO_FSS without issue, with log messages like this:

swift.audio|swift.vatsim|BlackCore::Afv::Clients::CAfvClient|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase: Aliasing 'NZZO_FSS' 129000000Hz [VHF] to 8867000Hz [HF]

then the log messages changed to the following and the connection was dropped:

swift.audio|swift.vatsim|BlackCore::Afv::Clients::CAfvClient|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase: Station 'NZZO_FSS' NOT found! Using original frequency 129000000Hz

Edit: can confirm this happens every time. Restarting Swift resolves the issue initially, and then after a minute or two it switches to the not found log message. Disconnecting and reconnecting doesn't reset things, however a client restart does.

FlyingFoxVATSIM commented 3 months ago

Oh, and I thought that I had witnessed an illusion! I had this happen to me while parked in NWWW: NZZO_FSS was listed and then suddenly disappeared. I thought that I had not seen this correctly and reset my connection to VATSIM and then NZZO_FSS was listed and remained listed.

Maybe this is the clue that the team needed to find a solution! Well spotted!

ltoenning commented 3 months ago

A few more questions:

The distance calculation seems to work across the antimeridian. This calculation should only have an effect if there is a different station with the same VHF frequency close by. But as the station is removed the ATC list, this likely isn't the cause of the problem.

ATC stations will be removed from swift (and the ATC list) either:

xpilot uses a timeout of 60 seconds so swifts 50 seconds are likely reasonable.

FlyingFoxVATSIM commented 3 months ago

I had the ATC list set to "in range".

danickinator commented 3 months ago

A few more questions:

* @danickinator: Do you still have the entire log available. Does it contain a log line like "ATC NZZO_FSS timed out after XXX ms"

Does swift on linux persist the logs anywhere? If not, then no I don't.

I did not see any other log messages mentioning NZZO_FSS beyond the two I quoted.

* @danickinator When receiving the text messages, was "NZZO_FSS" displayed as a label of the chat window tab?

I believe so. Sorry, I thought I had taken an image of the chat, but apparently I didn't. The chat itself was full of SELCAL messages and the odd normal message to a pilot.

* @danickinator Do you have checked this with the ATC list on the "in range" or "all" setting?

It wasn't listed under either the 'In range' or 'All' setting. Changing radio button made no difference: in the case of the screenshot yesterday it was showing 10 of 12 in both situations.

xpilot uses a timeout of 60 seconds so swifts 50 seconds are likely reasonable.

When I was re-testing this last night I did try using xpilot and it did not appear to have any issue - I could tune Auckland Radio and listen to it at length without any problem.

ltoenning commented 3 months ago

For the log, see https://swift-project.org/troubleshooting/swift_log_files/

danickinator commented 3 months ago

Found the log (which lives in ~/.local/share/org.swift-project under linux).

There's no timeout messages concerning NZZO_FSS. It just goes from the Aliasing message to the Station not found message:

19:39:35 debug: Aliasing 'NZZO_FSS' 129000000Hz [VHF] to 8867000Hz [HF]
19:39:55 debug: Aliasing 'NZZO_FSS' 129000000Hz [VHF] to 8867000Hz [HF]

[swift.worker|swift.db.webservice|swift.webservice|swift.network|BlackCore::Db::CNetworkWatchdog|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:39:55 info: Watchdog pinged 'https://datastore.swift-project.org/service/clientping.php?uuid=7986e512bcde4c539a4b2b8da538181b&started=true&os=Linux&application=swift pilot client GUI 0.14.142&fs=XPlane&network=VATSIM'

[swift.interpolator]
19:39:56 warning: Invalid situation, diff. 35ms #17 for interpolation reported for 'ANZ24L' (Interpolant: false interpolation: false)

[swift.audio|swift.vatsim|BlackCore::Afv::Clients::CAfvClient|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:40:15 debug: Aliasing 'NZZO_FSS' 129000000Hz [VHF] to 8867000Hz [HF]

[swift.driver|swift.plugin|BlackCore::ISimulator|BlackSimPlugin::XPlane::CSimulatorXPlane|BlackSimPlugin::Common::CSimulatorPluginCommon]
19:40:27 info: Adding 'JST123' 'BB_AIRBUS A320_JST (45041)' to 'XPlane'

[swift.driver|swift.plugin|BlackSimPlugin::XPlane::CSimulatorXPlane|BlackSimPlugin::Common::CSimulatorPluginCommon|BlackCore::ISimulator]
19:40:27 info: Added aircraft 'JST123'

[swift.audio|swift.vatsim|BlackCore::Afv::Clients::CAfvClient|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:40:35 debug: Station 'NZZO_FSS' NOT found! Using original frequency 129000000Hz

[swift.worker|BlackCore::CAirspaceAnalyzer|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:40:50 debug: Aircraft 'JST123' timed out after 16925ms

[swift.worker|swift.db.webservice|swift.webservice|swift.network|BlackCore::Db::CNetworkWatchdog|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:40:50 info: Watchdog pinged 'https://datastore.swift-project.org/service/clientping.php?uuid=7986e512bcde4c539a4b2b8da538181b&started=true&os=Linux&application=swift pilot client GUI 0.14.142&fs=XPlane&network=VATSIM'

[swift.audio|swift.vatsim|BlackCore::Afv::Clients::CAfvClient|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:40:55 debug: Station 'NZZO_FSS' NOT found! Using original frequency 129000000Hz

In a previous log from a few minutes earlier, it looks like both NZZO_FSS and BN-TSN_FSS (Brisbane Radio) both failed to connect, so it doesn't appear that it's necessarily specific to the Auckland Radio position. (Although earlier in the day I'd been able to connect and remain connected to Brisbane Radio while doing my NZAA->YMML flight.) This log covers my test to see whether disconnecting and reconnecting without a client restart would reset the missing station (it didn't).

[BlackCore::Afv::Connection::CClientConnection]
19:23:57 info: Connected to voice server '51.81.107.2:50000'
19:23:57 info: Connected: 'WWA152' to voice server, socket open: no

[swift.audio|swift.vatsim|BlackCore::Afv::Clients::CAfvClient|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:23:57 debug: Station 'NZZO_FSS' NOT found! Using original frequency 129000000Hz
19:23:57 debug: Station 'BN-TSN_FSS' NOT found! Using original frequency 124650000Hz
19:24:00 debug: Aliasing 'NZZO_FSS' 129000000Hz [VHF] to 8867000Hz [HF]
19:24:00 debug: Station 'BN-TSN_FSS' NOT found! Using original frequency 124650000Hz
19:24:00 debug: Aliasing 'NZZO_FSS' 129000000Hz [VHF] to 8867000Hz [HF]
19:24:00 debug: Station 'BN-TSN_FSS' NOT found! Using original frequency 124650000Hz

[swift.worker|swift.network|swift.fsd|BlackCore::Fsd::CFSDClient|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:24:01 info: Too many queued messages (56), bulk send!
19:24:01 info: Too many queued messages (51), bulk send!

[swift.driver|swift.plugin|BlackCore::ISimulator|BlackSimPlugin::XPlane::CSimulatorXPlane|BlackSimPlugin::Common::CSimulatorPluginCommon]
19:24:04 info: Adding 'BOE736' 'BB_BOEING B733_AUL (45363)' to 'XPlane'

In the log from my third attempt, the same thing is seen: after restarting the client it works for a while then transitions to the Station not found message. Interestingly in both this case and the first log there's an aircraft timing out at around the same time:

[swift.audio|swift.vatsim|BlackCore::Afv::Clients::CAfvClient|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:47:18 debug: Aliasing 'NZZO_FSS' 129000000Hz [VHF] to 8867000Hz [HF]

[swift.driver|swift.plugin|BlackCore::ISimulator|BlackSimPlugin::XPlane::CSimulatorXPlane|BlackSimPlugin::Common::CSimulatorPluginCommon]
19:47:33 info: Adding 'JST216' 'BB_AIRBUS A320_JST (45041)' to 'XPlane'

[swift.driver|swift.plugin|BlackSimPlugin::XPlane::CSimulatorXPlane|BlackSimPlugin::Common::CSimulatorPluginCommon|BlackCore::ISimulator]
19:47:33 info: Added aircraft 'JST216'

[swift.interpolator]
19:47:36 warning: Invalid situation, diff. 12110ms #249 for interpolation reported for 'JST123' (Interpolant: false interpolation: false)

[swift.audio|swift.vatsim|BlackCore::Afv::Clients::CAfvClient|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:47:38 debug: Station 'NZZO_FSS' NOT found! Using original frequency 129000000Hz

[swift.worker|BlackCore::CAirspaceAnalyzer|BlackMisc::CContinuousWorker|BlackMisc::CWorkerBase]
19:47:40 debug: Aircraft 'JST123' timed out after 22414ms
ltoenning commented 2 months ago

Short update: I wasn't able to reproduce this until now. But I have added additional logging to the upcoming swift version. This should likely help to find the issue.