-
Notifications
You must be signed in to change notification settings - Fork 212
Description
On ARM platforms, SoapySDR can enumerate devices correctly, but calling SoapySDR.Device() with Python dict arguments always fails with "no match". It only works when no arguments are passed to Device(). This happens on both:
- Raspberry Pi 5 (aarch64) running Debian 12 with a UHD B205mini
- Apple Silicon MacBook (arm64) using a HackRF
In both environments, enumeration works and the device is detected normally. But any call like:
SoapySDR.Device({"driver":"uhd","serial":"XXXX","type":"b200"})
or
SoapySDR.Device({"driver":"hackrf"})
fails with "no match". Only the following succeeds:
SoapySDR.Device()
This indicates a bug in the Python dict argument path inside SoapySDR.Device.make() on ARM platforms. String-based argument paths do not help; the only working case is passing zero arguments.
Environment (case 1: Raspberry Pi 5):
- Hardware: Raspberry Pi 5 (aarch64)
- OS: Debian 12 (bookworm)
- Python: 3.13
- UHD: 4.8.0.0+ds1-2 (Debian pkg)
- SoapySDR: 0.8.1-5+b2 (Debian pkg)
- Soapy-UHD: 0.4.1
- SDR: Ettus B205mini
Environment (case 2: Apple Silicon MacBook):
Hardware: MacBook Pro M1/M2 (arm64)
- OS: macOS Sonoma
- SoapySDR installed via Homebrew
- SDR: HackRF One