I can see the TX0 blinking and the PWR is red. so should be good, got the LORA antenna connected as well.. but i got the GNSS antenna disconnected since i dont plan on using the GPS
Any ideas what could be happening?
Nov 13 01:28:04 meshcore pymc-repeater[1614]: 2025-11-13 01:28:04,576 - RepeaterDaemon - INFO - Initializing radio hardware...
Nov 13 01:28:06 meshcore pymc-repeater[1614]: 2025-11-13 01:28:06,052 - SX1262_wrapper - INFO - SX1262Radio configured: freq=910.5MHz, power=22dBm, sf=7, bw=62.5kHz, pre=17
Nov 13 01:28:06 meshcore pymc-repeater[1614]: 2025-11-13 01:28:06,085 - SX1262_wrapper - ERROR - Failed to initialize SX1262 radio: '[Errno 2] No such file or directory'
Nov 13 01:28:06 meshcore pymc-repeater[1614]: 2025-11-13 01:28:06,089 - RepeaterDaemon - ERROR - Failed to initialize radio hardware: Failed to initialize SX1262 radio: Failed to initialize SX1262 radio: [Errno 2] No such file or directory
Nov 13 01:28:06 meshcore pymc-repeater[1614]: 2025-11-13 01:28:06,143 - RepeaterDaemon - ERROR - Fatal error: Repeater requires real LoRa hardware
Nov 13 01:28:06 meshcore pymc-repeater[1614]: Traceback (most recent call last):
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/local/lib/python3.13/dist-packages/pymc_core/hardware/sx1262_wrapper.py", line 516, in begin
Nov 13 01:28:06 meshcore pymc-repeater[1614]: self.lora.setSpi(self.bus_id, self.cs_id)
Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/local/lib/python3.13/dist-packages/pymc_core/hardware/lora/LoRaRF/SX126x.py", line 475, in setSpi
Nov 13 01:28:06 meshcore pymc-repeater[1614]: spi.open(bus, cs)
Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~^^^^^^^^^
Nov 13 01:28:06 meshcore pymc-repeater[1614]: FileNotFoundError: [Errno 2] No such file or directory
Nov 13 01:28:06 meshcore pymc-repeater[1614]: The above exception was the direct cause of the following exception:
Nov 13 01:28:06 meshcore pymc-repeater[1614]: Traceback (most recent call last):
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/config.py", line 130, in get_radio_for_board
Nov 13 01:28:06 meshcore pymc-repeater[1614]: radio.begin()
Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~^^
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/local/lib/python3.13/dist-packages/pymc_core/hardware/sx1262_wrapper.py", line 672, in begin
Nov 13 01:28:06 meshcore pymc-repeater[1614]: raise RuntimeError(f"Failed to initialize SX1262 radio: {e}") from e
Nov 13 01:28:06 meshcore pymc-repeater[1614]: RuntimeError: Failed to initialize SX1262 radio: [Errno 2] No such file or directory
Nov 13 01:28:06 meshcore pymc-repeater[1614]: The above exception was the direct cause of the following exception:
Nov 13 01:28:06 meshcore pymc-repeater[1614]: Traceback (most recent call last):
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/main.py", line 46, in initialize
Nov 13 01:28:06 meshcore pymc-repeater[1614]: self.radio = get_radio_for_board(self.config)
Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/config.py", line 132, in get_radio_for_board
Nov 13 01:28:06 meshcore pymc-repeater[1614]: raise RuntimeError(f"Failed to initialize SX1262 radio: {e}") from e
Nov 13 01:28:06 meshcore pymc-repeater[1614]: RuntimeError: Failed to initialize SX1262 radio: Failed to initialize SX1262 radio: [Errno 2] No such file or directory
Nov 13 01:28:06 meshcore pymc-repeater[1614]: The above exception was the direct cause of the following exception:
Nov 13 01:28:06 meshcore pymc-repeater[1614]: Traceback (most recent call last):
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/main.py", line 426, in main
Nov 13 01:28:06 meshcore pymc-repeater[1614]: asyncio.run(daemon.run())
Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~^^^^^^^^^^^^^^
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run
Nov 13 01:28:06 meshcore pymc-repeater[1614]: return runner.run(main)
Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~^^^^^^
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run
Nov 13 01:28:06 meshcore pymc-repeater[1614]: return self._loop.run_until_complete(task)
Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
Nov 13 01:28:06 meshcore pymc-repeater[1614]: return future.result()
Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~~~^^
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/main.py", line 347, in run
Nov 13 01:28:06 meshcore pymc-repeater[1614]: await self.initialize()
Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/main.py", line 75, in initialize
Nov 13 01:28:06 meshcore pymc-repeater[1614]: raise RuntimeError("Repeater requires real LoRa hardware") from e
Nov 13 01:28:06 meshcore pymc-repeater[1614]: RuntimeError: Repeater requires real LoRa hardware
Nov 13 01:28:07 meshcore systemd[1]: pymc-repeater.service: Main process exited, code=exited, status=1/FAILURE
Nov 13 01:28:07 meshcore systemd[1]: pymc-repeater.service: Failed with result 'exit-code'.
Nov 13 01:28:07 meshcore systemd[1]: pymc-repeater.service: Consumed 7.101s CPU time.
This is my config file
repeater:
# Node name for logging and identification
node_name: "auburn-repeater"
# Geographic location (optional)
# Latitude in decimal degrees (-90 to 90)
latitude: 0.0
# Longitude in decimal degrees (-180 to 180)
longitude: 0.0
# Path to identity file (public/private key)
# If not specified, a new identity will be generated
identity_file: null
# Duplicate packet cache TTL in seconds
cache_ttl: 60
# Score-based transmission filtering
# Enable quality-based packet filtering and adaptive delays
use_score_for_tx: false
# Score threshold for quality monitoring (future use)
# Currently reserved for potential future features like dashboard alerts,
# proactive statistics collection, or advanced filtering strategies.
# Changing this value has no effect on current packet processing.
score_threshold: 0.3
# Automatic advertisement interval in hours
# The repeater will send an advertisement packet at this interval
# Set to 0 to disable automatic adverts (manual only via web interface)
# Range: 0 (disabled) to 24+ hours
# Recommended: 10 hours for typical deployments
send_advert_interval_hours: 10
radio:
# Frequency in Hz (869.618 MHz for EU)
frequency: 910525000
# TX power in dBm
tx_power: 22
# Bandwidth in Hz (62500 = 62.5 kHz)
bandwidth: 62500
# LoRa spreading factor (7-12)
spreading_factor: 7
# Coding rate (5-8)
coding_rate: 5
# Preamble length in symbols
preamble_length: 17
# Sync word (LoRa network ID)
sync_word: 13380
# Enable CRC checking
crc_enabled: true
# Use implicit header mode
implicit_header: false
# SX1262 Hardware Configuration
sx1262:
# SPI bus and chip select
bus_id: 0
cs_id: 0
# GPIO pins (BCM numbering)
cs_pin: 21
reset_pin: 18
busy_pin: 20
irq_pin: 16
# TX/RX enable pins (-1 to disable)
txen_pin: 13
rxen_pin: 12
# Waveshare hardware flag
is_waveshare: true
delays:
# TX delay factor for flood mode (multiplier)
tx_delay_factor: 1.0
# TX delay factor for direct mode (faster)
direct_tx_delay_factor: 0.5
duty_cycle:
# Enable/disable duty cycle enforcement
# Set to false to disable airtime limits
enforcement_enabled: false
# Maximum airtime per minute in milliseconds
max_airtime_per_minute: 3600
logging:
# Log level: DEBUG, INFO, WARNING, ERROR
level: INFO
# Log format
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"```
<!-- github-sync-id:3618932038 -->
Hi im having a new issue
Raspberry Pi Zero
I got this hat
https://www.amazon.ca/dp/B0C61VK6WQ
I can see the TX0 blinking and the PWR is red. so should be good, got the LORA antenna connected as well.. but i got the GNSS antenna disconnected since i dont plan on using the GPS
Any ideas what could be happening?
> Nov 13 01:28:04 meshcore pymc-repeater[1614]: 2025-11-13 01:28:04,576 - RepeaterDaemon - INFO - Initializing radio hardware...
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: 2025-11-13 01:28:06,052 - SX1262_wrapper - INFO - SX1262Radio configured: freq=910.5MHz, power=22dBm, sf=7, bw=62.5kHz, pre=17
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: 2025-11-13 01:28:06,085 - SX1262_wrapper - ERROR - Failed to initialize SX1262 radio: '[Errno 2] No such file or directory'
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: 2025-11-13 01:28:06,089 - RepeaterDaemon - ERROR - Failed to initialize radio hardware: Failed to initialize SX1262 radio: Failed to initialize SX1262 radio: [Errno 2] No such file or directory
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: 2025-11-13 01:28:06,143 - RepeaterDaemon - ERROR - Fatal error: Repeater requires real LoRa hardware
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: Traceback (most recent call last):
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/local/lib/python3.13/dist-packages/pymc_core/hardware/sx1262_wrapper.py", line 516, in begin
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: self.lora.setSpi(self.bus_id, self.cs_id)
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/local/lib/python3.13/dist-packages/pymc_core/hardware/lora/LoRaRF/SX126x.py", line 475, in setSpi
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: spi.open(bus, cs)
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~^^^^^^^^^
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: FileNotFoundError: [Errno 2] No such file or directory
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: The above exception was the direct cause of the following exception:
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: Traceback (most recent call last):
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/config.py", line 130, in get_radio_for_board
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: radio.begin()
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~^^
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/local/lib/python3.13/dist-packages/pymc_core/hardware/sx1262_wrapper.py", line 672, in begin
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: raise RuntimeError(f"Failed to initialize SX1262 radio: {e}") from e
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: RuntimeError: Failed to initialize SX1262 radio: [Errno 2] No such file or directory
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: The above exception was the direct cause of the following exception:
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: Traceback (most recent call last):
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/main.py", line 46, in initialize
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: self.radio = get_radio_for_board(self.config)
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/config.py", line 132, in get_radio_for_board
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: raise RuntimeError(f"Failed to initialize SX1262 radio: {e}") from e
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: RuntimeError: Failed to initialize SX1262 radio: Failed to initialize SX1262 radio: [Errno 2] No such file or directory
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: The above exception was the direct cause of the following exception:
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: Traceback (most recent call last):
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/main.py", line 426, in main
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: asyncio.run(daemon.run())
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~^^^^^^^^^^^^^^
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: return runner.run(main)
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~^^^^^^
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: return self._loop.run_until_complete(task)
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: return future.result()
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: ~~~~~~~~~~~~~^^
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/main.py", line 347, in run
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: await self.initialize()
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: File "/opt/pymc_repeater/repeater/main.py", line 75, in initialize
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: raise RuntimeError("Repeater requires real LoRa hardware") from e
> Nov 13 01:28:06 meshcore pymc-repeater[1614]: RuntimeError: Repeater requires real LoRa hardware
> Nov 13 01:28:07 meshcore systemd[1]: pymc-repeater.service: Main process exited, code=exited, status=1/FAILURE
> Nov 13 01:28:07 meshcore systemd[1]: pymc-repeater.service: Failed with result 'exit-code'.
> Nov 13 01:28:07 meshcore systemd[1]: pymc-repeater.service: Consumed 7.101s CPU time.
This is my config file
```# Default Repeater Configuration
repeater:
# Node name for logging and identification
node_name: "auburn-repeater"
# Geographic location (optional)
# Latitude in decimal degrees (-90 to 90)
latitude: 0.0
# Longitude in decimal degrees (-180 to 180)
longitude: 0.0
# Path to identity file (public/private key)
# If not specified, a new identity will be generated
identity_file: null
# Duplicate packet cache TTL in seconds
cache_ttl: 60
# Score-based transmission filtering
# Enable quality-based packet filtering and adaptive delays
use_score_for_tx: false
# Score threshold for quality monitoring (future use)
# Currently reserved for potential future features like dashboard alerts,
# proactive statistics collection, or advanced filtering strategies.
# Changing this value has no effect on current packet processing.
score_threshold: 0.3
# Automatic advertisement interval in hours
# The repeater will send an advertisement packet at this interval
# Set to 0 to disable automatic adverts (manual only via web interface)
# Range: 0 (disabled) to 24+ hours
# Recommended: 10 hours for typical deployments
send_advert_interval_hours: 10
radio:
# Frequency in Hz (869.618 MHz for EU)
frequency: 910525000
# TX power in dBm
tx_power: 22
# Bandwidth in Hz (62500 = 62.5 kHz)
bandwidth: 62500
# LoRa spreading factor (7-12)
spreading_factor: 7
# Coding rate (5-8)
coding_rate: 5
# Preamble length in symbols
preamble_length: 17
# Sync word (LoRa network ID)
sync_word: 13380
# Enable CRC checking
crc_enabled: true
# Use implicit header mode
implicit_header: false
# SX1262 Hardware Configuration
sx1262:
# SPI bus and chip select
bus_id: 0
cs_id: 0
# GPIO pins (BCM numbering)
cs_pin: 21
reset_pin: 18
busy_pin: 20
irq_pin: 16
# TX/RX enable pins (-1 to disable)
txen_pin: 13
rxen_pin: 12
# Waveshare hardware flag
is_waveshare: true
delays:
# TX delay factor for flood mode (multiplier)
tx_delay_factor: 1.0
# TX delay factor for direct mode (faster)
direct_tx_delay_factor: 0.5
duty_cycle:
# Enable/disable duty cycle enforcement
# Set to false to disable airtime limits
enforcement_enabled: false
# Maximum airtime per minute in milliseconds
max_airtime_per_minute: 3600
logging:
# Log level: DEBUG, INFO, WARNING, ERROR
level: INFO
# Log format
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"```
<!-- github-sync-id:3618932038 -->
Hey! Have you enabled spi via
sudo rasp-config
Thanks
Come join us on discord might be quicker
https://discord.com/channels/1343693475589263471/1431414286974189639
<!-- github-comment-id:3529206064 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Hi im having a new issue
Raspberry Pi Zero
I got this hat
https://www.amazon.ca/dp/B0C61VK6WQ
I can see the TX0 blinking and the PWR is red. so should be good, got the LORA antenna connected as well.. but i got the GNSS antenna disconnected since i dont plan on using the GPS
Any ideas what could be happening?
This is my config file
Swapped the logging to debug and got this:
Hey! Have you enabled spi via
sudo rasp-config
Thanks
Come join us on discord might be quicker
https://discord.com/channels/1343693475589263471/1431414286974189639