分类 随手记 下的文章

从七月份开始我在手机上通过Via浏览器使用必应搜索时响应非常缓慢(间歇性),而且在我的Edge浏览器上遇到了相同的问题(但是在PC上Edge浏览器使用代理后解决了问题,而手机出现连接中断)。
通过Ping测试和Web直接访问确定无论是www.bing.com还是cn.bing.com都可以在手机和PC上正常响应请求,因此网络问题暂时排除。

观察通过cn.bing.com页面搜索关键词“你好世界”得到请求链接为:
https://www.bing.com/search?q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C&form=QBLH&sp=-1&pq=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C&sc=10-4&qs=n&sk=&cvid=C0CF3A940E544E51803E83A679BCB081&ghsh=0&ghacc=0&ghpl=
而我在Via浏览器上使用必应搜索是通过直接在cn.bing.com/search?q=后添加关键词,PC端Edge则是通过www.bing.com域名以%s参数为搜索关键词{bing:baseURL}search?q=%s&{bing:cvid}{bing:msb}{google:assistedQueryStats}构造URL。
综上所述,可能是构造URL的时候参数由于微软更新服务器出现了问题。
随后挂上代理通过搜索引擎查询又刚好看到这篇文章Bing搜索突然变得很慢 - Microsoft Community
似乎手机和PC遇到问题的原因是不完全一样的?

通过不断的测试,以你好世界为关键词,进行搜索得到正确响应所需的最小参数数量的URL是https://cn.bing.com/search?q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C&cvid=3c98a5db8b2d4cfdad53d30f28b73706
也就是只需要q和cvid参数。那么Edge里搜索引擎的请求URL改为填写:https://cn.bing.com/search?q=%s&{bing:cvid}即可。
但是问题又来了,Via的自定义URL根本不支持%s参数替换关键词......WTF。更有趣的是,就在我撰写这篇文章的时候,我发现我在Via浏览器直接使用cn.bing.com/search?q=的构造速度又恢复正常了,那么显然是官方服务器的问题了。

人民日报:中国人民解放军空军正在穿越台湾海峡
IMG_20220803_002656_764.jpg
IMG_20220803_002700_383.jpg

人民日报(People's Daily)是中国共产党中央委员会机关报。人民日报作为党和政府的喉舌,作为中国对外文化交流的重要窗口,作为展现蓬勃发展社会主义新中国的舞台,人民日报积极宣传党和政府的政策主张,记录中国社会的变化,报道中国正在发生的变革。摘自百度百科

🤔渲染战争气氛的是官媒,呼吁冷静的还是官媒。

今天看到群友发的截图,觉得很有趣。
基于认同价值的价值观导向让这群小朋友能和谐的聚在一起。
-2d0c28312f2501a6.jpg

给自己的行为找借口特别是能自动脑补虚构事实的人是最为恐怖的,因为在这类人脑子里他的一切行为都是正当的。和这样的人打交道,就像你在和一个能说出抛开事实不谈......这样句式的人辩论,毫无意义。特别是对方大脑里甚至可能会理性思考并将自己放在受害者或者说弱者的角度提出其他扭曲的价值观。
此类情况出现在某些人因自己目的未能完成而歇斯底里的发泄情绪时。
个人认为🤔这个应该也算一种精神疾病吧,特殊的生活环境造就千奇百怪的人。看着手上又新增的伤口还能淡定的写博客记录和感慨,总觉得自己也不太正常了。
推一本书:实用辩论技法大全 出自实用文库编委会

没想到无意间路过那附近的路口能看到那个身影,我知道她搬家到那个社区了,但是一直没再联系也没再碰面。
真是造化弄人,她终于长高了,不再是那个一年长一厘米的159小女生。我完全不怀疑自己是不是认错人了,路过的时候我看到了她半个正脸,还有那条熟悉的裙子 而且我听到她说了一声再见,这个声音绝对错不了。
也许大家都是对方人生里的过客,但也确实给对方的生活增添别样的滋味。不知道我们的刘同学能不能碰到一个这样的女孩,带他走过那一片绝望的荒漠。但是若真有,我未免也太自私了吧xd。
只要岁岁平安,即使生生不见。
愿君安好。

这是我写的DS18B20用户态驱动

Goodspeed最近好像比较清闲,所以这位有点闲的同学跑来远程我的OrangePi Zero2 完成了一份正经的单总线驱动。实现后效果如下:

root@orangepizero2:~# cd /sys/bus/w1/devices/28-0721c061a6ac/
root@orangepizero2:/sys/bus/w1/devices/28-0721c061a6ac# ls
alarms eeprom_cmd hwmon power temperature
conv_time ext_power id resolution uevent
driver features name subsystem w1_slave
root@orangepizero2:/sys/bus/w1/devices/28-0721c061a6ac# cat w1_slave
bb 01 4b 46 7f ff 0c 10 74 : crc=74 YES
bb 01 4b 46 7f ff 0c 10 74 t=27687

显而易见大约27摄氏度,详细过程会在他的博客写好后在下方公开。(人比人气死人:)

给香橙派 Zero 2 适配 1-wire 总线

给香橙派 Zero 2 适配 1-wire 总线————William Goodspeed
在向Goodspeed抱怨此事之前,香橙派官方4群里邹明燊先生也曾经写过一个dts文件,也是根据其他已经支持1-wire的设备简单改写的(如下),但是我通过orangepi-add-overlay xxx.dts 添加后会在日志中看到错误信息,即我上一篇文章里写被占用的哪些错误信息,并且经过测试dts生成的dtb文件没有正常工作。而Goodspeed提供的截图中可以看到,这个dts文件并没有写错,只是设置的GPIO不同。

/dts-v1/;
/plugin/;

/ {
    compatible = "allwinner,sun50i-h616";

    fragment@0 {
        target = <&pio>;
        __overlay__ {
            w1_pins: w1_pins {
                pins = "PC9";
                function = "gpio_in";
            };
        };
    };

    fragment@1 {
        target-path = "/";
        __overlay__ {
            onewire@0 {
                compatible = "w1-gpio";
                pinctrl-names = "default";
                pinctrl-0 = <&w1_pins>;
                gpios = <&pio 2 9 0>; /* PC9 */
                status = "okay";
            };
        };
    };
};

二者的主要不同在于Goodspeed是在 arch/arm64/boot/dts/allwinner/overlay/Makefile 中加入一行 sun50i-h616-w1-gpio.dtbo,make dtbs让构建系统编译新的 overlay,而邹明燊先生试图让我直接通过orangepi-add-overlay将改写好的单总线支持dts文件编译并自动添加到overlay路径。
这两者方法不太一样,Goodspeed的方法是从orange-pi-5.16-sunxi64 linux分支源码中自动编译生成dtbo文件,而邹明燊先生是自己写dts从写好的dts去编译得到dtbo文件。但是不知道为什么后者无法生效,从内核日志里的报错看是和pinctl冲突了,也就是说比pinctl抢先占用了pin,但是理论上应该先由pinctl统一管理,驱动应该基于pinctl运行。从这点看,由linux分支源码去自动编译可能会得以避开这一问题,但是具体避开抢占问题的原理就不得而知了,我也不打算深究。

Goodspeed编译好的单总线设备树overlay文件

prebuilt-dtbs.tar

关于linux设备树,请参考如下内容深入浅出理解Linux设备树(DTS)
Dts:DTS即Device Tree Source,是一个文本形式的文件,用于描述硬件信息。一般都是固定信息,无法变更,无法overlay。
Dtsi:可以理解为dts的公共部分,添加、变更非常灵活。Dtsi包含在dts中。
Dtb:Dtb编译出来的二进制
Dtbo:Overlay编译出来的二进制
dtbo-base:指定overlay是以哪个dtb为base来覆盖的。
Node:树的节点
Property:属性

OrangePiZero2IO 2022-07-11T10:09:56.png

研究一番发现官方没有现成的单总线驱动可用,必须得自己写一个驱动驱动单线设备。

 +------+-----+----------+------+---+  Zero 2  +---+------+----------+-----+------+
 | GPIO | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | GPIO |
 +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
 |      |     |     3.3V |      |   |  1 || 2  |   |      | 5V       |     |      |
 |  229 |   0 |    SDA.3 |  OUT | 1 |  3 || 4  |   |      | 5V       |     |      |
 |  228 |   1 |    SCL.3 |  OUT | 1 |  5 || 6  |   |      | GND      |     |      |
 |   73 |   2 |      PC9 |  OUT | 1 |  7 || 8  | 1 | OUT  | TXD.5    | 3   | 226  |
 |      |     |      GND |      |   |  9 || 10 | 1 | OUT  | RXD.5    | 4   | 227  |
 |   70 |   5 |      PC6 |  OUT | 1 | 11 || 12 | 1 | OUT  | PC11     | 6   | 75   |
 |   69 |   7 |      PC5 |  OUT | 1 | 13 || 14 |   |      | GND      |     |      |
 |   72 |   8 |      PC8 |  OUT | 1 | 15 || 16 | 1 | OUT  | PC15     | 9   | 79   |
 |      |     |     3.3V |      |   | 17 || 18 | 1 | OUT  | PC14     | 10  | 78   |
 |  231 |  11 |   MOSI.1 |  OUT | 1 | 19 || 20 |   |      | GND      |     |      |
 |  232 |  12 |   MISO.1 |  OUT | 1 | 21 || 22 | 1 | OUT  | PC7      | 13  | 71   |
 |  230 |  14 |   SCLK.1 |  OUT | 1 | 23 || 24 | 1 | OUT  | CE.1     | 15  | 233  |
 |      |     |      GND |      |   | 25 || 26 | 1 | OUT  | PC10     | 16  | 74   |
 |   65 |  17 |      PC1 |  OUT | 1 | 27 || 28 |   |      |          |     |      |
 |  272 |  18 |     PI16 |  OUT | 1 | 29 || 30 |   |      |          |     |      |
 |  262 |  19 |      PI6 |  OUT | 1 | 31 || 32 |   |      |          |     |      |
 |  234 |  20 |     PH10 | ALT3 | 0 | 33 || 34 |   |      |          |     |      |
 +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
 | GPIO | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | GPIO |
 +------+-----+----------+------+---+  Zero 2  +---+------+----------+-----+------+

端口占用情况:
已占用:
PC1,pin PC1 already requested by onewire@0; cannot claim for 300b000.pinctrl:65
PC5,pin PC5 already requested by onewire@0; cannot claim for 300b000.pinctrl:69
PC9,pin PC9 already requested by onewire@0; cannot claim for 300b000.pinctrl:73
PC6, pin PC6 already requested by onewire@0; cannot claim for 300b000.pinctrl:70
PC8,pin PC8 already requested by onewire@0; cannot claim for 300b000.pinctrl:72
PC10,pin PC10 already requested by onewire@0; cannot claim for 300b000.pinctrl:74
PC11,pin PC11 already requested by onewire@0; cannot claim for 300b000.pinctrl:75
PC12,PC13是两个板载LED
PH3,w1-gpio onewire@0: gpio_request (pin) failed