Yuhang Zheng
tcpdump使用示例

前言介绍:

tcpdump - dump traffic on a network(转储网络上的流量)

tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具

tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息

为docker pull命令增加代理

如果 docker 所在的环境是通过代理服务器和互联网连通的,那么需要一番配置才能让 docker 正常从外网正常拉取镜像。然而仅仅通过配置环境变量的方法是不够的。本文结合已有文档,介绍如何配置代理服务器能使docker正常拉取镜像。

本文使用的docker 版本是19.03

问题现象

如果不配置代理服务器就直接拉镜像,docker 会直接尝试连接镜像仓库,并且连接超时报错。如下所示:

$ docker pull busybox
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled 
while waiting for connection (Client.Timeout exceeded while awaiting headers)
IEEE802.3和Ethernet II帧的区别

一、IEEE802.3和Ethernet II帧的区别

在这里插入图片描述

概念:
1、以太网上使用两种标准帧格式。第一种是上世纪80年代提出的DIX v2格式,即Ethernet II格式。第二种是1983年提出的IEEE 802.3格式。

2、两种格式得区别在于Ethernet 格式种包含一个Type字段,标识以太网帧处理完之后将被发送到哪个上层协议进行处理,IEEE 802.3格式种,同样位置是长度字段。

3、Ethernet II 格式相对使用广泛。

4、从Type/Length字段值可以区分两种帧类型:当Type字段值小于等于1500(0x05DC)时,帧使用的是IEEE 802.3格式。当Type字段值大于等于1536(0x0600)时,帧使用的是Ethernet II格式

LS10XX的RCW参数修改方法

在使用LS10xx系列核心板开发项目的过程中,有时候需要根据自己的需求修改一些引脚功能或者一些引脚设置,难免有需要修改RCW(Reset ConfigurationWord)的时候。本文就是根据平时开发的经验谈一下LS10xx系列开发板修改RCW参数修改的方法。

针对三个平台的修改的RCW文件位置分别为:

LS1012平台:

flexbuild/packages/firmware/rcw/ls1012ardb/R_SPNH_3508/rcw_1000_default.rcw

LS1043平台:

flexbuild/packages/firmware/rcw/ls1043ardb/RR_FQPP_1455/rcw_1600_qspiboot.rcw

LS1046平台:

SerDes为1040_5559的rcw配置文件:
packages/firmware/rcw/ls1046ardb/FORLINX/rcw_1800_qspiboot_1040_5559.rcw
SerDes为1133_5559的rcw配置文件:
packages/firmware/rcw/ls1046ardb/FORLINX/rcw_1800_qspiboot_1133_5559.rcw
Linux内核编程广泛使用的前向声明(转载)

前向声明

编程定律

先强调一点:在一切可能的场景,尽可能地使用前向声明(Forward Declaration)。这符合信息隐蔽的原则。

一个例子

regmap

那么前向声明究竟是个什么鬼?在内核写代码和看代码的童鞋,经常发现Linux内核里面充斥着这样的代码,比如

include/vim linux/regulator/driver.h

LS1046网口RCW及网口配置修改示例

LS1046网口RCW及网口配置修改示例   本文要解决的问题: 由于LS104x系列开发板引入了【复位控制字】Reset configuration word (RCW)的配置方法,通过这种配置方法客户可以方便的进行引脚的功能定义,也就是实现引脚的PinMUX功能。 LS104x平台所特有的SerDes Module也是要通过RCW来进行配置,从而将不同的SerDes通道选择为不同的功能。以LS1046A为例,可配置的两路SerDes有: 1046_Serdes1 1046_Serdes2 但是这个被称为RCW的配置方法还有很多客户还不是很了解,所以本文以一个LS1046A的实际需求为例,来详细说明一下修改的过程以供客户后续定制参考。

千兆网之SGMII解析

这一篇文章就是简单解析一下SGMII这种接口的内容。

SGMII即Serial GMII,串行GMII,收发各一对差分信号线,时钟频率625MHz,在时钟信号的上升沿和下降沿均采样。

首先是硬件底板连接图。

其次是网口座子和PHY芯片的模式选择引脚以及PHY地址的接线图:

查阅AR8031的数据手册,先看硬件定义如下:

可见此接口引脚数量为4个,收发各一对差分信号线。

参考时钟RX_CLK由PHY提供,是可选的,主要用于MAC侧没有时钟的情况,一般情况下,RX_CLK不使用,收发都可以从数据中恢复出时钟。

其实,大多数MAC芯片的SGMII接口都可以配置成SerDes接口(在物理上完全兼容,只需配置寄存器即可),直接外接光模块,而不需要PHY层芯片,此时时钟速率仍旧是625MHz,不过此时跟SGMII接口不同,SGMII接口速率被提高到1.25Gbps是因为插入了控制信息,而SerDes端口速率被提高是因为进行了8B/10B变换,本来8B/10B变换是PHY芯片的工作,在SerDes接口中,因为外面不接PHY芯片,此时8B/10B变换在MAC芯片中完成了。8B/10B变换的主要作用是扰码,让信号中不出现过长的连“0”和连“1”情况,影响时钟信息的提取

基于i.MX6X的音频驱动分析(一)ALSA and ASOC基本概念

ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,它提供了linux操作系统的音频与MIDI功能 。

在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。

alsa的软件体系结构

图1.1 alsa的软件体系结构