Yuhang Zheng
RTL8211F芯片4芯网线对接千兆协商成千兆问题

问题背景:

目前接到客户反馈,在OK3588平台使用百兆网线连接千兆设备无法正确切换成百兆,它还是协商成千兆,造成网络无法联通。且使用ethtool工具强制配置成百兆之后可以联通。

但是使用百兆网线连接百兆设备,可以正常协商成百兆。

解决思路:

接到问题之后,首先是网上寻找有没有类似的问题,然后就看到了这个文章:

参考文章https://blog.csdn.net/Emo_snaf/article/details/120762203

根据这个文章,得到的修改思路是:修改读取Link Partner的能力函数genphy_read_lpa(),增加判断GBCR (1000Base-T Control Register, Address 0x09)的bit 9,也就是MII_CTRL1000寄存器的ADVERTISE_1000FULL位,检查自己是否支持Advertise 1000Base-T Full-Duplex能力,如果不支持,则去修改读到的对方Link Partner 1000Base-T Full Duplex的能力为不支持千兆。这样自然程序后面也就会把速度协商为百兆了。

ComfyUI-APISR部署记录

最近公司搞了一个RTX4070 ti super的电脑,空闲的时候可以让我们用来跑跑AI的大模型,因为之前逛Github的时候看到过一个给动漫超分的项目,所以这次就试着搭起来往这台电脑上跑跑啦!最终结果可以搞成功了,为了防止以后忘了怎么搭建,就稍微的记录一下过程吧!

1、下载 ComfyUI以及ComfyUI Manager

ComfyUI Manager:https://github.com/ltdrdata/ComfyUI-Manager

ComfyUI:https://github.com/comfyanonymous/ComfyUI

首先是安装ComfyUI,可以参看项目页面下面的

高版本系统使用pip命令安装python模块报错

在Ubuntu 23.04运行 pip 命令(使用 sudo apt install python3-pip 安装)时,出现以下错误:

$ pip install --user <foobar>
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

如果想在用户范围( --user )而不是系统范围安装软件包怎么办呢?

可以参考这篇文章:3 Ways to Solve Pip Install Error on Ubuntu 23.04

简而言之,有三种方法可以解决这个问题。

为Valine评论增加邮件通知

之前给自己的博客添加了留言板功能,用的就是Valine来实现的。

本来以为自己的小破博客很少会有访客来留言,不过最近一段时间有几个人在留言板问了一些问题,自己总是不能及时的看到,后来想了想,看看能不能增加一个通知的功能呢,有人留言的时候我就能及时的回复了。

然后就在网上找到了如下的文章:

https://blog.csdn.net/AC916305619/article/details/105239277

这个文章已经写的很好啦,不过由于文章是2020年的,Leancloud有一些菜单的布局都变化了很多,所以部署的时候绕了不少弯子,所以我这里想着再重新整理一篇,也算是自己做个记录吧,如果能帮助到需要的朋友就更好啦!话不多说,下面就开始吧!

PicGo图床SFTP上传图片配置更新

日前,发现之前一直使用的typora设置通过PicGO来实现sftp图床上传的功能不能用了,也不知道是什么原因,所以干脆直接卸载了重装。

然后下载了最新的PicGO版本为2.4.0-beta.6,结果发现SFTP的插件也更新了,最新的为:

https://github.com/imba97/picgo-plugin-sftp-uploader

后来在【插件设置】上搜索“sftp”,然后找到了该插件,下载了半天都下载不下来。后来想到它这个是从github上去下载的,还好【PicGO设置】里面可以配置代理,加速下载插件。

安装好插件之后,在配置插件的SFTP上传设置的时候,发现他的配置界面变了,不再是之前博客的文章中为typora设置sftp图床上传写的那样了,而是要通过一个json文件来配置,结果自己废了好半天才搞好。

查看CVS格式波形文件的工具分享

平时使用示波器抓波形的时候,有时候会需要将示波器的波形保存下来,如果保存照片的话,经常是只能截取一小部分,而且局部细节也无法保留,分析起来非常麻烦。

示波器一般可以将波形保存为CVS格式的文件,这个文件可以使用表格打开,但是不如直接看图像比较形象直观。后来在网上了解到SPICE Explorer这个软件可以直接查看csv格式的文件,在这个软件里面可以缩放波形,查看波形的细节。

但是这个软件是要收费的,后来废了半天劲才找到了学习版,下面就分享给大家一起使用。

使用chroot命令切换arm64的文件系统

在嵌入式系统的开发中,现在大多数的文件系统的打包方式都是使用mkfs.ext4命令来将文件系统目录打包成ext4格式的img镜像,如果有时想要在现成的文件系统中直接增加一些东西的话,我们可以直接操作打包好的镜像来增删文件,而不需要再次重新编译来再使用SDK重新走一遍完整的打包镜像的过程。

一般需求

我们直接使用qemu工具即可,在Ubuntu开发环境中使用以下命令安装qemu工具

sudo apt-get install qemu-user-static

首先可以先检查一下文件系统镜像是否是可以直接挂载的格式:

$ file ubuntu22.04_rootfs.img 
ubuntu22.04_rootfs.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)

这种就是raw ext4 image,即经常说的raw image。其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大。

Ubuntu22上WiFi问题笔记

目前在Ubuntu22.04上解决奇怪的问题,查阅了一些资料,现在把这几天了解到的内容汇总记录一下,以免时间长了忘记。

基于NetworkManager的WiFi STA和AP操作命令:

Linux使用单核心启动的方法

日前在解决问题的时候,因为要排除某些因素,所以想要减少Linux系统中使用的CPU的核心,之前在LS1028平台,可以通过TEST_SEL_B和cfg_svr[0]直接更改其变成其他的型号,参见以下内容:

image-20230920170823720

image-20230920172145742

比如可以通过将cfg_svr[0]置低以变成LS1018,以实现将双核变成单核的效果。