Radio config updates don't apply until service restart #62

Closed
opened 2026-10-27 09:30:56 +01:00 by adam · 3 comments
Owner

Hi,

As the title suggests, radio config updates via the UI don't actually apply until you restart the service. I would expect that after the config gets updated, that it restarts the radio, or we get a button in the config page somewhere that restarts the radio. I can tell that the process is not applying the config immediately as when switching from 62.5KHz to 250KHz there should be a significant noise floor change, when in actual fact, there is none, and no data is heard.

Current behaviour:

Modifying a radio config item updates the config file, but does not take effect immediately.

Expected behaviour:

Modifying a radio config item updates the config file, restarts the radio, and takes effect immediately.

Branch: feat/companion

Log:

Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,269 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,272 - ConfigManager - INFO - Reloaded AdvertHelper config
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,275 - HTTPServer - INFO - Radio config updated: bw=250.0kHz
Mar 17 10:38:26 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:26,234 - SX1262_wrapper - DEBUG - [RX Task] Status check #25000, noise_floor=-99.4dBm
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,131 - ConfigManager - INFO - Configuration saved to /etc/pymc_repeater/config.yaml
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,137 - ConfigManager - DEBUG - Live updated daemon config section: repeater
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,140 - ConfigManager - DEBUG - Live updated daemon config section: delays
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,141 - ConfigManager - DEBUG - Live updated daemon config section: radio
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,142 - ConfigManager - INFO - Live updated daemon config sections: repeater, delays, radio
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,145 - RepeaterHandler - INFO - Runtime configuration reloaded successfully
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,155 - ConfigManager - INFO - Reloaded RepeaterHandler runtime config
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,157 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,158 - ConfigManager - INFO - Reloaded AdvertHelper config
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,159 - HTTPServer - INFO - Radio config updated: sf=11
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,538 - SX1262_wrapper - DEBUG - [RX Task] Status check #25500, noise_floor=-99.2dBm
Mar 17 10:38:38 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:38,797 - SX1262_wrapper - DEBUG - [RX Task] Status check #26000, noise_floor=-99.8dBm
Mar 17 10:38:43 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:43,864 - RepeaterHandler - DEBUG - Recorded noise floor: -99.8 dBm
Mar 17 10:38:45 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:45,006 - SX1262_wrapper - DEBUG - [RX Task] Status check #26500, noise_floor=-99.3dBm
Mar 17 10:38:51 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:51,179 - SX1262_wrapper - DEBUG - [RX Task] Status check #27000, noise_floor=-99.3dBm

Cheers,
Josh

Hi, As the title suggests, radio config updates via the UI don't actually apply until you restart the service. I would expect that after the config gets updated, that it restarts the radio, or we get a button in the config page somewhere that restarts the radio. I can tell that the process is not applying the config immediately as when switching from 62.5KHz to 250KHz there should be a significant noise floor change, when in actual fact, there is none, and no data is heard. Current behaviour: Modifying a radio config item updates the config file, but does not take effect immediately. Expected behaviour: Modifying a radio config item updates the config file, restarts the radio, and takes effect immediately. Branch: feat/companion Log: Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,269 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,272 - ConfigManager - INFO - Reloaded AdvertHelper config Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,275 - HTTPServer - INFO - Radio config updated: bw=250.0kHz Mar 17 10:38:26 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:26,234 - SX1262_wrapper - DEBUG - [RX Task] Status check #25000, noise_floor=-99.4dBm Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,131 - ConfigManager - INFO - Configuration saved to /etc/pymc_repeater/config.yaml Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,137 - ConfigManager - DEBUG - Live updated daemon config section: repeater Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,140 - ConfigManager - DEBUG - Live updated daemon config section: delays Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,141 - ConfigManager - DEBUG - Live updated daemon config section: radio Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,142 - ConfigManager - INFO - Live updated daemon config sections: repeater, delays, radio Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,145 - RepeaterHandler - INFO - Runtime configuration reloaded successfully Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,155 - ConfigManager - INFO - Reloaded RepeaterHandler runtime config Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,157 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,158 - ConfigManager - INFO - Reloaded AdvertHelper config Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,159 - HTTPServer - INFO - Radio config updated: sf=11 Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,538 - SX1262_wrapper - DEBUG - [RX Task] Status check #25500, noise_floor=-99.2dBm Mar 17 10:38:38 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:38,797 - SX1262_wrapper - DEBUG - [RX Task] Status check #26000, noise_floor=-99.8dBm Mar 17 10:38:43 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:43,864 - RepeaterHandler - DEBUG - Recorded noise floor: -99.8 dBm Mar 17 10:38:45 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:45,006 - SX1262_wrapper - DEBUG - [RX Task] Status check #26500, noise_floor=-99.3dBm Mar 17 10:38:51 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:51,179 - SX1262_wrapper - DEBUG - [RX Task] Status check #27000, noise_floor=-99.3dBm Cheers, Josh <!-- github-sync-id:4087687956 -->
adam closed this issue 2026-10-27 09:30:56 +01:00
Author
Owner

It should warn you if the settings can't be applied?

It should warn you if the settings can't be applied? <!-- github-comment-id:4074413508 -->
Author
Owner

I think something is broken here.

If I go to change the radio settings, it tells me that it's warning me that a service restart might be required.

But then it says settings applied sucessfully

However if i do something like change the frequency, it tells me it applied successfully but the frequency doesn't actually change (despite getting the green success box) until I manuall restart the service. Same for the bandwidth or the SF.

As a user, I expect that if it tells me they're applied, that they're applied, and the changes are immediate, otherwise, it should tell me to restart the service - and then gives me a big button to do so (like the console switcher does).

But I would assume it's possible to close the sx1262 connection in the background a re-initialise it on the fly so a service restart isn't required?

Image Image
I think something is broken here. If I go to change the radio settings, it tells me that it's warning me that a service restart might be required. But then it says settings applied sucessfully However if i do something like change the frequency, it tells me it applied successfully but the frequency doesn't actually change (despite getting the green success box) until I manuall restart the service. Same for the bandwidth or the SF. As a user, I expect that if it tells me they're applied, that they're applied, and the changes are immediate, otherwise, it should tell me to restart the service - and then gives me a big button to do so (like the console switcher does). But I would assume it's possible to close the sx1262 connection in the background a re-initialise it on the fly so a service restart isn't required? <img width="1199" height="592" alt="Image" src="https://github.com/user-attachments/assets/780f870d-7e8d-4c8e-88b3-733076d2f13f" /> <img width="1199" height="592" alt="Image" src="https://github.com/user-attachments/assets/838d4cad-e075-4186-ac26-f09dfccda2a0" /> <!-- github-comment-id:4077908792 -->
Author
Owner

Fixed in dev21

Fixed in dev21 <!-- github-comment-id:4328169781 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/pyMC_Repeater#62