树莓派4B频繁遭遇系统假死

2021-07-23 作者:

This post talks about the frequently-happened X hang on the combination of newly updated Raspbian (Pi-OS) Buster and Raspberry Pi 4B, which was NEVER experienced on the Pi 3B (not 3B+) and same OS version after 30 + reboot tests.

PS: Pls note that’s X hang, not kernel hang or panic.

Summary: Pi 4B might has compatbilty issue with unbranded display that provides non-standard EDID info, which Pi 3B obviously has no problem to cooperate with.

本文聊一下最近颇为折磨的Pi 4B图形界面假死问题。当然,所谓假死就是X挂了,但kernel活着,从ssh可以很好的登录管理看日志的情况。

硬件是Pi 4B,操作系统是Raspbian (Pi-OS) Buster 升级最新。在上百次重启中,85%都会X hang。但有趣的是,Pi 3B(不是3B+)用同一块TF卡启动,测试30+次重启,无问题。

既然不是kernel hang,那么故障发生时总要看下log,所得如下:

可以说基本是稳定复现,每次都是Xorg先挂。随后呢,其他进程可能不挂,也可能跟着挂。

就“Xorg Tainted”做了大量的检索,升级OS,升级eeprom都试过,依然无果。只能继续看log继续碰运气。

完整阅读本篇»

Raspbian上snapd狂吃CPU问题

2020-07-22 作者:

To get rid of  snapd  on Raspbian/RaspberryPi OS Buster, since it eats lots of cpu power, especially on the old hardware, like a Pi 2B.

一台年迈的Pi 2B,运行着时时更新的Raspbian Buster,兢兢业业给娃做文件服务器,不亦乐乎。

一天apt dist-upgrade之后,就发现system load频繁升高,系统空载就能吃掉大致一个核的性能。top后画风大致是这样的。

于是很想了解这货在干嘛,消耗这么多脑力,思考人生么?

看起来是想回家拉点什么私货回来(api.snapcraft.io),但还是搞不懂,走io就走io,连续几天24小时一直吃那么多cpu是什么鬼?

完整阅读本篇»

两机rsync定时单向只增同步

2020-05-27 作者:

事出有因

  • 老房子装修没布网线,远在北卧192.168.1.128(wifi连接)是娃的网课机,需要播放音视频及office文档;该机wifi连接不算可靠(一堵大量钢筋砖混承重,一堵普通轻体),好的时候24Mbps,偶发连接不稳定的时候会断开;而路由器已经更新为口碑产品Netgear R6700
  • 另有树莓派192.168.1.127(有线LAN,可靠连接)作为7×24文件服务器,用于从ddns接收外来课件,并对1.128提供文件共享服务

问题澄清

  • 课件播放过程中,偶发wifi信号问题导致卡顿

问题思路

  • 由于wifi中断为偶发,大部分情况下连接OK
  • 采取让1.128机器定时(每1小时)去1.127机器同步课件的思路
  • 前者存储大(HDD),后者小(TF),设计为单向同步;后者新增,前者同步,后者删除,前者保留

具体实现

测试以上脚本工作ok后,将其加入crontab,每小时定时执行

后续计划

  • 观察课件同步效果,有问题检查log,总之能用技术解决的问题,就别给人找事干
  • 目前wifi网卡为Intel AC9260 M.2,两根8dBi天线;有空可以考虑升级到带延长线的磁性吸盘12dBi天线,增强wifi稳定性
完整阅读本篇»

基于Flask的简易webtelnet和webssh

2020-02-25 作者:

Chinese version README of the Github repo – flask-remote-terminal.

简而言之,一台具备多用户支持的,仅限使用telnet/ssh,访问远程固定地址的,web终端。

演示截图:


有啥稀罕的

  • 只可访问远程地址,非本机终端
  • 目前仅限telnet(支持十几年前老设备用)和ssh访问,代码中也可增加其他协议,但始终受控
  • 仅限访问固定远端地址(IP/域名),代码config可配,一旦服务运行后不可更改
  • 服务端session存储pid和fd等,用于多用户支持


参考项目


需求如此“扭曲”,何解

通过web终端去管理一台特定的中转机,其多数端口是(在特定时间段内)代理到真正需要管理的目标机。具体需求如下:

  • 同多数web terminal一样,浏览器即开即用,免安装
  • 只允许访问特定地址(中转机),避免被抓肉鸡
  • 只允许使用telnet和ssh进行连接,不可自选其他客户端命令,在此基础上允许用户自行输入用户名和端口号
  • 只用于远程连接,在用户exit退出终端后,也无法回到shell操作提供该服务的server
完整阅读本篇»

树莓派HDMI强制输出

2019-06-19 作者:

因为前几天用Raspbian自带安装VLC播放1080p MP4严重卡顿,调研了一下;发现默认安装VLC是不带硬件解码的,也即没有发挥BCM2XXX ARM的GPU硬解码能力。
那么最简洁的解决方案是什么:命令行下omxplayer加上GUI外壳TBOplayer,试了一下果然很流畅而且占用cpu个位数,解H264编码的MP4和MKV文件都很流畅(且测试用的是pi2而非pi3)。

但这里边还有个小问题,树莓派如果上电时不接HDMI,物理口上是没输出的;这是个普遍问题,相信对于一个嵌入式设备,很多人都有类似需求(比如关屏不关盒),那么何解呢?

sudo vi /boot/config.txt

完整阅读本篇»

让树莓派用上移动LTE | RaspberryPi Connect TD LTE

2016-02-18 作者:

很多人用树莓派接联通3G(WCDMA),这样的话,E261量很大很足

还有电信网络(CDMA2K),可以用EC122

可是移动3G/LTE,google找不到相关资料

其实huawei的USB adapter基本都复用了ID,所以基本上只要能买到华为的货,支持哪家的网都不是问题(甚至不需要升级usbmodeswitch版本,不需要自己build代码)

Fisherworks选了E3276s-861,为数不多的支持移动TD 2G/3G/4G/LTE的卡

注意不要随便选那种号称3网的usb卡,对移动的支持恐怕只限于2600MHz,1900不覆盖,到二三线地区估计够呛


 

树莓派wheezy/jessie系统,使用sudo apt-get install ppp usb-modeswitch来安装关键的usb-modeswitch,还有sakis3g/umtskeeper(这个就不写怎么装了,一搜一大把)

随便找一个接联通E261的教程就行,要改的有以下两点~

  1. 设备ID,E261被usbmodeswitch切换过ID后是12d1:1346,而E3276s-861切换后是12d1:1506
  2. CUSTOM_APN,联通是3gnet,移动是cmnet

然后就没有然后了,拨号接通享受网络

pic

 

完整阅读本篇»