云菀紫鸢 發表於 2026-3-30 11:45:00

在 Fedora 系统上使用 RTL-SDR

<h2 class="cdk-visually-hidden ng-star-inserted">Gemini 说</h2>
<div class="container">
<div id="model-response-message-contentr_5e9773b4a0349e8a" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" aria-live="polite" aria-busy="false">
<p data-path-to-node="0">在 Fedora 系统上使用 RTL-SDR(一种低成本的软件定义无线电)其实非常直观。由于 Fedora 的软件库相对前卫,配置起来通常比其他发行版更简单。</p>
<p data-path-to-node="1">以下是实现“从硬件连接到信号监听”的具体步骤:</p>
<hr data-path-to-node="2">
<h2 data-path-to-node="3">1. 安装基础驱动和工具</h2>
<p data-path-to-node="4">首先,你需要安装 <code data-path-to-node="4" data-index-in-node="9">rtl-sdr</code> 包,它包含了必要的驱动逻辑和命令行工具(如 <code data-path-to-node="4" data-index-in-node="39">rtl_test</code>, <code data-path-to-node="4" data-index-in-node="49">rtl_fm</code>)。</p>
<p data-path-to-node="5">打开终端并运行:</p>
<div class="code-block ng-tns-c1976125850-26 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahcKEwiJsP_f2caTAxUAAAAAHQAAAAAQSQ">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c1976125850-26 ng-star-inserted"><span class="ng-tns-c1976125850-26">Bash</span>
<div class="buttons ng-tns-c1976125850-26 ng-star-inserted">&nbsp;</div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c1976125850-26">
<div class="animated-opacity ng-tns-c1976125850-26">
<pre class="ng-tns-c1976125850-26 highlighter-prismjs language-none prismjs-lines-highlighted" tabindex="0" data-dark-theme="true"><code>sudo dnf install rtl-sdr</code></pre>
</div>
</div>
</div>
<h2 data-path-to-node="7">2. 解决内核驱动冲突 (关键步骤)</h2>
<p data-path-to-node="8">Linux 内核通常会默认将 RTL2832U 识别为电视调谐卡(dvb_usb_rtl2832u),这会占用设备导致 SDR 软件无法访问。</p>
<p data-path-to-node="9">我们需要将这些模块加入黑名单:</p>
<ol start="1" data-path-to-node="10">
<li>
<p data-path-to-node="10,0,0">创建黑名单文件:</p>
<div class="code-block ng-tns-c1976125850-27 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahcKEwiJsP_f2caTAxUAAAAAHQAAAAAQSg">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c1976125850-27 ng-star-inserted"><span class="ng-tns-c1976125850-27">Bash</span>
<div class="buttons ng-tns-c1976125850-27 ng-star-inserted">&nbsp;</div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c1976125850-27">
<div class="animated-opacity ng-tns-c1976125850-27">
<pre class="ng-tns-c1976125850-27 highlighter-prismjs language-none prismjs-lines-highlighted" tabindex="0" data-dark-theme="true"><code>sudo nano /etc/modprobe.d/blacklist-rtlsdr.conf</code></pre>
</div>
</div>
</div>
</li>
<li>
<p data-path-to-node="10,1,0">在文件中粘贴以下内容:</p>
<div class="code-block ng-tns-c1976125850-28 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahcKEwiJsP_f2caTAxUAAAAAHQAAAAAQSw">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c1976125850-28 ng-star-inserted"><span class="ng-tns-c1976125850-28">Plaintext</span>
<div class="buttons ng-tns-c1976125850-28 ng-star-inserted">&nbsp;</div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c1976125850-28">
<div class="animated-opacity ng-tns-c1976125850-28">
<pre class="ng-tns-c1976125850-28 highlighter-prismjs language-none prismjs-lines-highlighted" tabindex="0" data-dark-theme="true"><code>blacklist dvb_usb_rtl2832u
blacklist dvb_usb_v2
blacklist rtl2832</code></pre>
</div>
</div>
</div>
</li>
<li>
<p data-path-to-node="10,2,0">保存退出,然后<strong data-path-to-node="10,2,0" data-index-in-node="7">拔掉并重新插上</strong>你的 RTL-SDR 硬件。</p>
</li>
</ol>
<h2 data-path-to-node="11">3. 配置权限 (Udev Rules)</h2>
<p data-path-to-node="12">为了让普通用户无需 <code data-path-to-node="12" data-index-in-node="10">sudo</code> 就能访问硬件,通常 <code data-path-to-node="12" data-index-in-node="25">dnf</code> 安装包已经处理了 udev 规则。你可以通过测试来验证:</p>
<p data-path-to-node="13">运行测试命令:</p>
<div class="code-block ng-tns-c1976125850-29 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahcKEwiJsP_f2caTAxUAAAAAHQAAAAAQTA">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c1976125850-29 ng-star-inserted"><span class="ng-tns-c1976125850-29">Bash</span>
<div class="buttons ng-tns-c1976125850-29 ng-star-inserted">&nbsp;</div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c1976125850-29">
<div class="animated-opacity ng-tns-c1976125850-29">
<pre class="ng-tns-c1976125850-29 highlighter-prismjs language-none prismjs-lines-highlighted" tabindex="0" data-dark-theme="true"><code>rtl_test -t</code></pre>
</div>
</div>
</div>
<blockquote data-path-to-node="15">
<p data-path-to-node="15,0"><strong data-path-to-node="15,0" data-index-in-node="0">看到什么算成功?</strong> 如果输出显示了设备信息且没有报错(即使提示有 PLL 差异也是正常的),说明驱动和权限已经搞定。</p>
</blockquote>
<hr data-path-to-node="16">
<h2 data-path-to-node="17">4. 推荐的 SDR 软件</h2>
<p data-path-to-node="18">在 Fedora 上,你可以选择以下几种主流的图形化界面工具:</p>
<div class="horizontal-scroll-wrapper">
<div class="table-block-component">
<div class="table-block has-export-button new-table-style is-at-scroll-start is-at-scroll-end">
<div class="table-content not-end-of-paragraph" data-hveid="0" data-ved="0CAAQ3ecQahcKEwiJsP_f2caTAxUAAAAAHQAAAAAQTQ">
<table data-path-to-node="19">
<thead>
<tr>
<td><span data-path-to-node="19,0,0,0">软件名称</span></td>
<td><span data-path-to-node="19,0,1,0">特点</span></td>
<td><span data-path-to-node="19,0,2,0">安装命令</span></td>
</tr>
</thead>
<tbody>
<tr>
<td><span data-path-to-node="19,1,0,0"><strong data-path-to-node="19,1,0,0" data-index-in-node="0">GQRX</strong></span></td>
<td><span data-path-to-node="19,1,1,0">最经典的 SDR 软件,界面简洁,适合入门。</span></td>
<td><span data-path-to-node="19,1,2,0"><code data-path-to-node="19,1,2,0" data-index-in-node="0">sudo dnf install gqrx</code></span></td>
</tr>
<tr>
<td><span data-path-to-node="19,2,0,0"><strong data-path-to-node="19,2,0,0" data-index-in-node="0">SDRangel</strong></span></td>
<td><span data-path-to-node="19,2,1,0">功能极其强大,支持多种协议解码(数字语音等)。</span></td>
<td><span data-path-to-node="19,2,2,0"><code data-path-to-node="19,2,2,0" data-index-in-node="0">sudo dnf install sdrangel</code></span></td>
</tr>
<tr>
<td><span data-path-to-node="19,3,0,0"><strong data-path-to-node="19,3,0,0" data-index-in-node="0">CubicSDR</strong></span></td>
<td><span data-path-to-node="19,3,1,0">现代化的 UI,支持多频道同时监听。</span></td>
<td><span data-path-to-node="19,3,2,0"><code data-path-to-node="19,3,2,0" data-index-in-node="0">sudo dnf install CubicSDR</code></span></td>
</tr>
</tbody>
</table>
</div>
<div class="table-footer hide-from-message-actions">&nbsp;</div>
</div>
</div>
</div>
<hr data-path-to-node="20">
<h2 data-path-to-node="21">5. 进阶使用:ADS-B 追踪(看飞机)</h2>
<p data-path-to-node="22">如果你想尝试追踪附近的航班,可以安装 <code data-path-to-node="22" data-index-in-node="19">dump1090</code>:</p>
<ol start="1" data-path-to-node="23">
<li>
<p data-path-to-node="23,0,0">安装:<code data-path-to-node="23,0,0" data-index-in-node="3">sudo dnf install dump1090</code></p>
</li>
<li>
<p data-path-to-node="23,1,0">运行:<code data-path-to-node="23,1,0" data-index-in-node="3">dump1090 --interactive --net</code></p>
</li>
<li>
<p data-path-to-node="23,2,0">然后在浏览器输入 <code data-path-to-node="23,2,0" data-index-in-node="9">localhost:8080</code> 即可看到地图上的飞机实时位置。</p>
</li>
</ol>
<hr data-path-to-node="24">
<h2 data-path-to-node="25">常见问题排查</h2>
<ul data-path-to-node="26">
<li>
<p data-path-to-node="26,0,0"><strong data-path-to-node="26,0,0" data-index-in-node="0">找不到设备:</strong> 检查 <code data-path-to-node="26,0,0" data-index-in-node="10">lsusb</code> 命令是否能看到包含 <code data-path-to-node="26,0,0" data-index-in-node="26">Realtek RTL2838</code> 字样的设备。</p>
</li>
<li>
<p data-path-to-node="26,1,0"><strong data-path-to-node="26,1,0" data-index-in-node="0">报错 "Device or resource busy":</strong> 说明内核模块没黑名单成功,手动执行 <code data-path-to-node="26,1,0" data-index-in-node="48">sudo rmmod dvb_usb_rtl2832u</code> 试试。</p>
</li>
</ul>
</div>
</div>

</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:木子欢儿,转载请注明原文链接:https://www.cnblogs.com/HGNET/p/19794667</p><br><br>
来源:https://www.cnblogs.com/HGNET/p/19794667
頁: [1]
查看完整版本: 在 Fedora 系统上使用 RTL-SDR