0%

家里先前运行Manjaro ARM的R3300-M最近出现了开机一段时间后SSH无法登陆的问题,于是备份必要文件后重刷系统。原本以为不需要再水一篇文章,不过刷机过程中遇到了一些问题,有必要记录下来。

镜像选择

之前我写过一篇文章建议使用generic镜像,我记得当时试验很顺利。不过我发现最新版的generic镜像 extlinux.ext 文件结构发生了较大变化,不仅取消了DTB文件指定,而且启动参数也精简了许多,毫无意外启动失败了。我参照之前的格式修改,结果无法发现root分区,这肯定就行不通了。于是换用Vim2镜像,这个也有坑。测试了22.12和22.10版本,启动时提示 reserved mem:failed to allocate memory for node ‘linux,cma’ 错误导致启动失败进入 emergency shell。几经测试后 vim2 22.08 是能够正常使用的最新版本,开机后直接更新系统换主线内核即可。针对dtb文件区别我进行了简单试验,试验结果如下:

  1. 当前使用的dtb文件与Manjaro-ARM-minimal-generic-22.12.img中提供的meson-gxbb-p201.dtb文件,反编译后得到的dts文件经过diff比较是完全一致的,符合预期。
  2. 当前使用的dtb文件与Manjaro-ARM-minimal-vim2-22.08.img中提供的meson-gxbb-p201.dtb文件,反编译后得到的dts文件diff结果如下:
diff current.dts vim2-08.dts
50c50
<                       size = <0x00 0x10000000>;
---
>                       size = <0x00 0x38000000>;

对应dts文件中此部分:

# Manjaro-ARM-minimal-generic-22.12.img
linux,cma {
        compatible = "shared-dma-pool";
        reusable;
        size = <0x00 0x10000000>;
        alignment = <0x00 0x400000>;
        linux,cma-default;
};
# Manjaro-ARM-minimal-vim2-22.08.img
linux,cma {
      compatible = "shared-dma-pool";
      reusable;
      size = <0x00 0x38000000>;
      alignment = <0x00 0x400000>;
      linux,cma-default;
};

至于 Manjaro-ARM-minimal-generic-22.12.img 与 Manjaro-ARM-minimal-vim2-22.12.img dtb差异就比较悬殊了,大量的的phandle值不同,而且新增了 ** system-suspend** 、 rtc@a8soundvrtc 内容。

Manjaro ARM提供了manjaro-arm-tools这一工具,可以提供打包应用,制作系统镜像等功能。有空可以为R3300-M定制一份配置文件。

编译WIFI驱动

sudo pacman -S git make gcc bc
git clone https://github.com/jwrdegoede/rtl8189ES_linux.git
cd ~/rtl8189ES_linux/
make -j$(nproc) ARCH=arm64 KSRC=/usr/lib/modules/$(uname -r)/build
sudo cp 8189es.ko /usr/lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/
sudo depmod -a
sudo modprobe 8189es

较之前的版本补充了依赖关系安装。nproc是一个用于获取CPU线程数的小程序,用来全速编译很便利。

连接WIFI

过去我使用 networkmanager 提供的 nmtui 连接WIFI,优点比较直观。这次换用 wpa_supplicant 连接无线网络。
刚才编译加载好无线驱动后使用 ip a 查看,可以看到无线网卡名称为 wlan0 ,使用 sudo iw wlan0 scan 可以扫描到附近的全部无线热点,说明无线网卡已经正常驱动,接下来用pacman安装wpa_supplicant。安装程序会自动创建 /etc/wpa_supplicant/ 这个目录,该目录目前还是空的,需要自行创建WIFI配置文件。

假设要连接SSID为 ASUS ,密码为 12345678 的这个WIFI,首先生成配置文件:

wpa_passphrase "ASUS" "12345678" 


network={
        ssid="ASUS"
        #psk="12345678"
        psk=a0efc361219475143ca336c62571c833d81e72b952db56e373a5c255ebff7e00
}

/etc/wpa_supplicant/ 这个目录下创建 wpa_supplicant.conf ,然后把上门的输出内容复制进去保存。然后执行命令连接:

sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &

这个命令是很直观的,使用wlan0这个无线网卡,根据 /etc/wpa_supplicant/wpa_supplicant.conf 配置连接WIFI,并作为后台进程执行。

当然每次开机手动连接WIFI是不方便的,很自然的想法是利用systemd创建service。事实上 wpa_supplicant 也提供了服务:


systemctl cat wpa_supplicant
# /usr/lib/systemd/system/wpa_supplicant.service
[Unit]
Description=WPA supplicant
Before=network.target
After=dbus.service
Wants=network.target
IgnoreOnIsolate=true

[Service]
Type=dbus
BusName=fi.w1.wpa_supplicant1
ExecStart=/usr/bin/wpa_supplicant -u -s -O /run/wpa_supplicant

[Install]
WantedBy=multi-user.target
Alias=dbus-fi.w1.wpa_supplicant1.service

但是这个服务达不到期望目的。参考 Difference between systemd wpa_supplicant.service and wpa_supplicant@wlan0.service? 一文,这个服务主要是用于服务 networkmanager 的。由于我不打算安装使用 networkmanager ,所以这个服务没有意义。真正有意义的是 wpa_supplicant@.service ,而且值得特别指出,这是个动态服务:

systemctl cat wpa_supplicant@.service
# /usr/lib/systemd/system/wpa_supplicant@.service
[Unit]
Description=WPA supplicant daemon (interface-specific version)
Requires=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
Before=network.target
Wants=network.target

# NetworkManager users will probably want the dbus version instead.

[Service]
Type=simple
ExecStart=/usr/bin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -i%I

[Install]
WantedBy=multi-user.target

至此思路就清楚了。首先执行 ps aux | grep wpa 找到并杀死刚才连接WIFI执行的后台进程,然后将 /etc/wpa_supplicant/wpa_supplicant.conf 重命名为 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf ,最后执行 sudo systemctl enable --now wpa_supplicant@wlan0 激活服务就大功告成。注意体味下此处动态服务的妙用。

重新安装hexo

sudo pacman -S npm
sudo npm install hexo-cli -g
sudo npm install hexo-deployer-git --save

这里补充的主要是GitHub使用密钥同步问题:

  1. 修复密钥权限

$HOME/.ssh目录下的私钥 id_rsa 导回后默认权限为644,程序会抱怨权限太宽,需要手动改成600。成功后测试输出如下:

ssh -T git@github.com
Hi xiaofami! You've successfully authenticated, but GitHub does not provide shell access.
  1. 修改 .git/config文件

.git 位于你的hexo目录。我修改后的config文件内容如下:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = git@github.com:xiaofami/xiaofami.github.io
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "blogSource"]
        remote = origin
        merge = refs/heads/blogSource

修改之前 url 一行使用的是https格式,所以无法跳过手动输入验证步骤。按照上述形式修改为git即可。

由于众所周知的原因,公众号LOGO需要修改成黑白色。可以使用ImageMagick这个工具来实现,在此之前我们曾用它进行过图片格式转换,同样便利。

magick 0.jpg -colorspace Gray 1.jpg #Windows下
convert 0.jpg -colorspace Gray 1.jpg #Linux下

提及WinPE,可能许多人用过微PE、大白菜这些国产PE进行安装系统、扫描磁盘、重置系统密码等操作,其特点是轻量快速,不过功能也相对较少。本文分享的这个WinPE来自俄罗斯,侧重于大而全。先上下载地址: magnet:?xt=urn:btih:9338AEBDF8E747DE63C9A26D985CD2B68944B352

帖子参见这里,是俄文的:https://nnmclub.to/forum/viewtopic.php?t=1521692 目前最新版本为 WinPE 10-8 Sergei Strelec (x86/x64/Native x86) 2022.01.03 [En] ,完整下载要3.88GB,内置了WinPE10x64、WinPE10x86、WinPE8x86、WinPE8x86(Native) 以及大量实用工具,开箱即用。

U盘制作工具推荐ventoy。

Manjaro ARM 22.10 发布啦!其亮点之一便是6.0内核的更新。我的R3300-M小红盒已更新。如果需要全新安装,可以下载GENERIC镜像: https://github.com/manjaro-arm/generic-images/releases/download/22.10/Manjaro-ARM-minimal-generic-22.10.img.xz

对于S905盒子而言,GENERIC镜像缺失了一些必须的启动文件。这些文件我已经打包,需要下载解压缩后放到启动分区:https://tccmu.com/2022/08/04/manjaro2206/bootfiles.tgz

以R3300-M为例,将 u-boot-s905 重命名为 u-boot.ext ,然后修改 extlinux.conf 使用 meson-gxbb-p201.dtb 就可以了。镜像中的dtb文件支持allwinner、amlogic、apple、broadcom、nvidia和rockchip,有对应设备的可以自行测试。

简单测试来看,ODROID内核表现稳定(6.0.1-1-MANJARO-ARM-ODROID) ,更新后重启正常。主线内核的那个盒子更新后重启失败,可能电源管理存在一点点问题。

自己的晾衣绳天线一直使用300Ω电视扁馈线馈电,直接引进电台室接巴伦,然后接同轴线到电台。几天的FT8操作中发觉电磁干扰有些严重,经常发着发着就没输出了,ALC跳到100。于是对扁馈线进行了裁短取直,巴伦也扔到了室外,使用同轴线引入室内连接电台。
裁短扁馈线后,天线系统的阻抗发生了变化。原本在十米段可以自然谐振,现在需要开启天调才能20W输出。不过优点是40米段的SWR降低了,配合天调SWR可以降到1。估计发射效率不会高,不过晚些时候还是试试看能不能通联。
天线系统调整后干扰问题有所缓解,不过没有完全消除。鉴于我们的天线是平衡式天线,这种干扰有可能直接来自于天线的正常发射,属于直接干扰,并非由于不平衡电流产生的射频干扰。于是使用铝箔纸将HUB、音频线、CAT线尽可能严密包裹了起来,仅外露接口,效果有待进一步观察。不过调整后在20米段首次收到了来自美国的信号,而且成功通联 W6XB ,猜测是调整馈线后损耗减少的缘故。
在查阅资料过程中发现了几篇有价值文献,供大家共同参考学习:

  1. https://www.physics.princeton.edu/pulsar/K1JT/FT8_Operating_Tips.pdf
  2. https://www.w8ji.com/coaxial_line_and_shielded_wires.htm
  3. https://www.w8ji.com/radiation_resistance.htm
  4. https://www.w8ji.com/verticals_and_baluns.htm
  5. https://content-files.shure.com/KnowledgeBaseFiles/troubleshooting-rfi-jim-brown-ham.pdf

特别是讲同轴线的那篇,对于同轴线工作原理不熟悉的朋友一定要认真阅读,否则很难理解射频泄露的原因和应对办法。一言以概之,无论天线是否平衡,电流一定是平衡的,发射出去多少电流,就要有相对应数量的电流汇入地网系统,这些感应电流会自发。读懂了这篇文章,相信你会对国内一些ham售卖的端馈天线和垂直天线有新的认识。
第五篇详细介绍了射频干扰,建议完整阅读。

LOTW注册及使用办法网上已有许多教程,本文仅结合自身使用进行适当补充。

备份证书

首次使用TQSL时按照提示步骤会生成一个证书,请将其导出保存,文件名为 呼号-key-only.p12。这个证书如果不保存,后续导入tq6证书后就会消失。配合呼号-key-only.p12呼号.tq6 两个证书,可以在任意电脑上鉴权。TQSL本身也提供了包括证书、台站、设置在内的一键导入导出功能,不过谨慎一点没坏处。

下载QSL记录

用邮件中的密码登录 https://lotw.arrl.org/lotwuser/default ,点击屏幕左侧的 Download Report,可以下载名为 lotwreport.adi 的QSL记录。这个文件可以直接使用TQSL逐条查看,也可以导回你用来操作FT8的软件,比如FT8CN ,从而在软件中直观看到通联的确认情况。(只有完成QSL才是一次完整的通联!)

查询特定呼号更新LOTW记录的时间

假如有一个与我们通联过的友台迟迟没有确认QSL,可以进入 Find Call页面,输入对方呼号查询他更新QSO记录的时间。如果显示 “No log data found “,说明对方大概率没注册过LOTW,可以去qrz.com查询日志。如果显示更新时间为几天前,不妨再耐心等上几天。现在数字通信模式流行,软件承担起了记录通联日志的工作,发生遗留的情况很罕见。

最近用协谷G90S试验了FT8通联,顺便测试天线效果。首先上通联记录:

这个是到昨天为止的记录,今天的记录晚上再上传。总体而言,通联日本很轻松(距离1700km左右),CQ几下就有ham主动联系。国内通联过河南、湖南、湖北、广东、江苏、浙江、云南,传播情况没有想象中理想,估计是秦岭以及横断山脉的缘故。
至于操作频率,我主要在14.074MHz、21.074MHz以及28.074MHz操作。14.074MHz无需天调20W满载输出,最远通联VK2PAA(澳大利亚),距离9000公里;21.074MHz需要开天调,输出功率17W左右,最远通联3D2USU(斐济),距离8800公里;28.074MHz无需天调,输出功率18W左右,最远通联BA7LIP(广东),距离2300公里。在10.136MHz也有一些和日本、俄罗斯远东地区的通联,不过电台此时的输出功率不到10W,所以浅尝辄止。除了FT8常用的这几个频点,最近发现有香港ham在50米段操作,当然我在50米段没有多少功率,只能看热闹。
设备方面,使用了协谷G90S电台,红米K30U手机(运行FT8CN),搭配晶华USB声卡分线器(TYPE-C接口)和BH4FRV制作的ACC音频线使用,整体效果令人满意。手机最好用备机并切换到飞行模式,避免手机提示音甚至铃声被意外发送。G90S虽然最大功率只有20W,不过FT8模式轻松通联1000+公里,供新晋B证的爱好者熟悉短波操作足矣。

馈线是天线系统的重要组成部分,在SWR较高的情况下,馈线由于介电损耗发热损失大量功率,同时带来散热负担。另外,合理调整馈线长度可以实现阻抗变化。业余无线电天线系统中,常用的馈线类型有同轴线(coax)和梯线(ladder line)两种,不过后者在国内少见,本文主要介绍ladder line。

首先进行简单的数学分析。假设有一个中央馈电的doublet天线,在操作的几个业余段之中,馈电点阻抗变化为50~5000Ω,采取50Ω的同轴线馈电,则SWR范围为1~100!如果使用阻抗为450Ω的梯线,那么SWR最大值仅为11.1。由于SWR极值大大地减小了,线损也减小了,所以梯线适合于多频段操作。具体损耗可以参考 kv5r 制作的表格。(链接到上一篇翻)

不同于同轴线,梯线属于平衡馈线。对于在中央馈电的平衡式天线,梯线上左右两股导线中的电流幅度相同,相位相反,所以相互抵消,不会产生辐射。当然这是理想情况,不过只要梯线距离天线不太近,平行长度不多,共模电流的影响就可以忽略。

另外梯线的走线需要稍加注意:

  1. 不要拖地,会影响阻抗;
  2. 尽量不要弯折,不过 kv5r 说不要太过教条,他实测打了几个弯依然工作良好;
  3. 与金属导体,保持一段距离,有几英寸的距离足够了。

梯线的长度需要纳入考虑。通过合适调整馈线长度,可以确保在操作的各个频段内避开阻抗极值点,减小天调压力并提高天线系统效率。关于天线系统普遍存在两个认知误区:

  1. 天线必须谐振,效率才高;
  2. 天调只是一个通过SWR欺诈诱骗电台输出功率的幻术师,实际发射出去的功率并不多。

这两个观点都是错误的。第一点参阅《天线手册》即可。第二点,在天调端阻抗超过50Ω时,发射效率普遍可以达到90%以上;超过500Ω时,超过95%。为了使天调得到合适阻抗,可以通过调整梯线长度实现。例如,按照波长八分之一的奇数倍调整梯线长度。一般天调的说明书中也会提到合理修剪馈线长度以避开阻抗极值。需要注意,当天调获得的阻抗值很低时,天调的效率会急剧降低。

最后附上 WB8IMY 现身说法的一篇好文:The lure of the ladder line,对梯线盛赞不已。

不过对于国内的ham而言买到梯线貌似不太容易。我在几大国内平台上没有找到450Ω这种梯线,300Ω的twin lead线,即过去的电视馈线倒是一大堆,我正在用的就是这种线。它的最大缺点是铜线实在太细了,对于我的20W电台而言问题还不算大,高功率电台可能不适合。kv5r 给出了DIY几种不同阻抗梯线的方法,可以参考。

初次制作偶极子天线的朋友可能会纠结于线材的选择。铜线被普遍使用,性能优良,但是价格较贵。不锈钢绳坚固耐用,但是电阻率3倍于同规格铜线,对于天线指标会产生何种程度影响?制作天线的线材应该用裸线还是带绝缘层?其他种类的线材又表现如何? Ian Jackson - VK3BUF 对多种线材进行了细致测试,并发布于 What’s the best wire for a dipole?,具有很高的参考价值。
直接归纳结论:

  1. 以21.2MHz为目标制作的半波长偶极子天线,不同材料对应的长度不同,7股2.5mm裸铜线的单臂长度最长,为3437mm;2股带刺铁丝网线单臂长度最短,为3265mm,二者相差172mm。不过适当修剪使得各个天线都谐振在21.2MHz后,各天线的增益差异不超过2dbm(除了MIG welding wire,估计没人用到),大概对应S表一个格子的三分之一。所以天线材料对于天线性能影响可以忽略不计。
  2. 线材的绝缘层会增加天线的电气长度和阻抗。
  3. 不锈钢绳是权衡各个因素后的最佳天线材料。
    下一篇讨论Ladder Line

之前测试天线发射指标一直不理想,14MHz的SWR始终降不下来。经过学习后得知馈线的屏蔽层也需要连接。之前由于没有 SL16-J的公对公连接头,所以仅仅使用六角螺丝刀连接了内导体,外屏蔽层为开路状态。使用铜线连接屏蔽层后天线终于可以自然谐振在14MHz,算是一大收获,接收效果也有改善。等到连接头到货后估计还能减少一些损耗,SWR也会更稳定。
再来审视下这个天线的特性。这个天线如果不考虑馈线,和一个折叠偶极子天线(folded dipole antenna)并无别样。折叠偶极子天线相较于普通的偶极子天线具备如下优点:

  1. 阻抗高,约300Ω,与传输线匹配更好;
  2. 带宽更高;
  3. 信噪比更高。

不过普通的偶极子天线使用同轴线(coax)馈电,我的这个天线使用双头线(ladder line),馈电位置都是天线中央。这种搭配双头线使用的天线,一般称之为双联天线(doublet antenna),它具备如下特点:

  1. 馈线是天线的一部分。虽然对馈线长度要求并不严格(假设天线左臂右臂长度均为L1,馈线长L2),当L1+L2等于操作频率的四分之一波长时,阻抗匹配最好,此时馈线末端呈现的阻抗大概为50Ω;
  2. 馈线使用平行线(双头线),以减小损耗。一般可选450Ω或600Ω传输线,不过电视用的300Ω馈线也可以。需要指出,电视的300Ω馈线便宜易得,约合1.2元/米,前面两种国内没发现哪里有卖。不同于同轴线,双头线易受环境干扰。尽量将其远离金属、不要与房屋外墙平行放置、不要放在地上,也不要大角度弯折甚至缠起来,否则会发生预期之外的阻抗变化或者电磁泄露;
  3. 由于双头线损耗较小,所以双联天线在配合天调的情况下比较适合多段操作。

想更深入了解 doublet antenna 推荐阅读 Introducing the “All-Band” Doublet:What the Student and the Instructor Should Keep in Mind

另外在查找 doublet antenna 天线资料时发现了另一类有意思的天线: Wide-Band Folded Dipole,简称 WBFD,即宽频折叠偶极子天线。它与普通FD天线的区别在于在馈电点正对面插入了一个阻值800至900Ω的无感电阻,然后配合1:16的变换器实现阻抗匹配,以得到宽广范围内较低的SWR值。不过代价是增益比同规格 doublet antenna 低了约6.3dB。而且低SWR不总意味着天线能够高效发射,在操作频率低于某一阈值时,天线指标迅速恶化,作为低SWR的代价,无感电阻承受了大部分功率。感兴趣可以移步至Notes on the Terminated Wide-Band “Folded Dipole”深入了解。

最后在此缅怀作者 L. B. Cebik, W4RNL,本文引用的两篇文献均出自他的手笔,愿他安息。