linux查看网口对eth
Ⅰ linux/centos如何查看网卡是100M还是1000M
可以使用ethtool命令进行查看,使用格式ethtool网络接口名。
以下为例,eth0为网卡名,使用ifconfig查看当前使用的网卡。
Speed表示网卡带宽,Duplex表示工作模式,Supportedlinkmodes表示支持的工作模式。
(1)linux查看网口对eth扩展阅读:
ethtool命令的其它用法:
1、查询网络端口位置:ethtool-pethX
这个命令多用于管理多网口的服务器主机,由于背板的网络端口数量大,有时候不知道那个物理端口对应eth0或其他设备号,我们就可以使用这个命令来查询。
用法:ethtool-peth0
效果:设备号eth0对应的物理端口的两个指示灯会闪烁
2、修改网络端口速率:ethtool-s
这个命令多用于手工设置网络速率,一般千兆网卡支持10|100|1000三个速率,单位是Mbps。
用法:ethtool-
效果:将设备号eth0对应的物理端口设置为速率为1000Mbps,全双工工作模式,同时关闭自动协商。
Ⅱ 在Linux下怎么确定哪个网卡对应哪个接口
方法一:查询eth对应驱动的话方法更简单:
root@uitnode2 ~ 0 # ls -l /sys/class/net/eth0/device/driver/mole
lrwxrwxrwx 1 root root 0 Nov 17 20:28 /sys/class/net/eth0/device/driver/mole -> ../../../../mole/e1000
root@uitnode2 ~ 0 # readlink -f /sys/class/net/eth0/device/driver/mole
/sys/mole/e1000
sysfs虚拟文件系统下有很多链接, /sys/class/net/eth0 是一个目录,底下有一个device是符号链接,会指向 /sys/devices/ 下的一个真实设备,它所指向的目录下又有一个 driver 指向 /sys/mole/ 下一个模块名,那就是所使用的驱动程序名。
不过sysfs在最近一系列内核中变化很大,我看到的是2.6.26.2内核,在旧版内核上不一定都有。
root@uitnode2 ~ 0 # uname -a
Linux uitnode2.uit 2.6.26 #2 SMP Tue Sep 2 02:06:17 HKT 2008 x86_64 x86_64 x86_64 GNU/Linux
方法二: dmesg 大法
最全面的要属dmesg了,基本上启动时每个设备的初始化信息都会记录在里面,所以,看这个就可以了。
另外就是
cat /proc/cpuinfo 这是看cpu的详细信息
cat /proc/meminfo 这是看内存的详细信息
不过,仍然达不到cpuz那么详细的程度,不过cpuz是专门干这个的,应该是从bios中获得的信息(或者根据cpu的型号事先统计出来的信息),只要将cpuz移植到linux,应该也具有这种能力了
方法三:ethtool
执行
# ethtool -p eth0
时,eth0对应的网口的灯就会闪烁,你可以分别调用ethtool判断eth1,eth2对应的网口;
注意要在不插网线的时候进行,否则看不出来是否因ethtool引起的闪烁;
这个方法是在 "Redhat Magzine" (红帽杂志)上看到的;管理多网口服务器的一个有效的方法;
需要解决更多linux问题,详情请看 http://www.linuxprobe.com/chapter-00.html
望采纳
Ⅲ ZYNQ+linux网口调试笔记(3)PL-ETH
在ZYNQ上使用gigE Vision协议的网络接口相机。
第一步:调通PS侧网口GEM0(Xilinx BSP默认配好)。
第二步:调通PS侧网口GEM1(见前一篇文档:开发笔记(1))。
第三步:调通PL侧网口(本文阐述)。
第四步:在PL侧网口上验证Jumbo Frame特性,并在应用层适配gigE Vision协议。
根据《xapp1082》可知,PL侧的PHY支持1000Base-X和SGMII两种配置,这两种配置对应两种不同的PHY引脚接口(连接到MAC)。而我们的hdf文件使用的是1000Base-X的配置。
关于网口的Linux驱动,我们在官网找到一份资料: Xilinx Wiki - Zynq PL Ethernet 。资料很长,我们只看与我们相关的2.4.1 PL Ethernet BSP installation for 1000Base-X”这一章节就可以了。
首先导入FPGA设计同事提供的hdf文件:
在弹出的图形界面里,进入Subsystem AUTO Hardware Settings——Ethernet Settings——Primary Ethernet,确认可以看到PL侧网络设备axi_ethernet_0,说明hdf文件里已包含了必要的网口硬件信息:
上图中被选中的网口将成为Linux上的设备eth0。这里我们默认选择ps7_ethernet_0,即使用GEM0作为首选网口。
启用Xilinx AXI Ethernet驱动
进入Device Drivers -- Network device support – 选中Xilinx AXI Ethernet(以及Xilinx Ethernet GEM,这是PS侧网口的驱动)
进入Networking support – 选中 Random ethaddr if unset
进入Device Drivers -- Network device support -- PHY Device support and infrastructure – 启用Drivers for xilinx PHYs
进入~~~~Device Drivers -- DMA Engine Support -– 禁用~~~~Xilinx AXI DMAS Engine~~~ (对应的配置项名为 ~~ CONFIG_XILINX_DMA ~~~)
注意: Xilinx Wiki里对设备树节点的引用有误(&axi_ethernet),导致编译报错,应改为&axi_ethernet_0。
注:PL-ETH驱动所在路径:<project>/build/tmp/work-shared/plnx_arm/kernel-source/drivers/net/ethernet/xilinx/xilinx_axienet_main.c和xilinx_axienet_mdio.c。对应的内核配置项为CONFIG_NET_VENDOR_XILINX和CONFIG_XILINX_AXI_EMAC。
启用ethtool和tcpmp(调试用,非必须):
然后将生成的BOOT.BIN和image.ub拷贝到SD卡根目录下,将SD卡插入板子上,上电运行。
上电后,使用ifconfig eth1查看网口信息,观察MAC地址与设置的一致,且ifconfig eth1 192.168.1.11 up没有报错。
测试网络通路:ping PC是通的。说明网口工作正常。
Linux下eth1(即PL-ETH)的MAC地址有误
问题描述:
开机打印:
注意:
MAC地址是错的,驱动里解析出的是GEM0的MAC地址。
试验发现,即使在system-user.dtsi里不写local-mac-address,也照样解析出的是GEM0的MAC。
而将system-user.dtsi里的local-mac-address改名为pl-mac-address,并将驱动里解析的字符串也对应更改为pl-mac-address,则可以正确解析出来:
Passing MAC address to kernel via Device Tree Blob and U-Boot:
http://zedboard.org/content/passing-mac-address-kernel-device-tree-blob
通过更改u-boot环境变量和设备树,为每个板子设置一个独特的MAC地址:
https://www.xilinx.com/support/answers/53476.html
U-Boot里的环境变量ethaddr会覆盖掉设备树里pl-eth的local-mac-addr字段,从而影响Linux启动后的网卡MAC地址;
但U-Boot里的环境变量ipaddr不会对Linux启动后的配置产生任何影响。因为设备树里根本就没有关于IP地址的配置。
phy-mode怎么会是sgmii?查了下官方的提供的BSP里,也是“sgmii”。说明这个没问题。具体原因不清楚。
@TODO: 设备树里的中断号的顺序如何影响功能?
为何读出来的IRQ号不对呢?这是因为这里读到的不是硬件的中断号,而是经过系统映射之后的软件IRQ number。两者不具有线性关系。
关于中断号的疑问:
Linux上的网口eth0、eth1的顺序,似乎是按照phy地址从小到大来排布的。
Xilinx xapp1082-zynq-eth.pdf (v5.0) July 16, 2018
https://www.xilinx.com/support/documentation/application_notes/xapp1082-zynq-eth.pdf
Xilinx Wiki - Zynq PL Ethernet:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841633/Zynq+PL+Ethernet
Xilinx Wiki - Linux Drivers:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841873/Linux+Drivers
Xilinx Wiki - Linux Drivers - Macb Driver:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841740/Macb+Driver
Xilinx Wiki - Zynq Ethernet Performance:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841743/Zynq+Ethernet+Performance
查到关于Jumbo frame MTU的定义,当前值为9000,可否改大一些?
驱动源码里关于jumbo frame的说明:
设置MTU为9000,发现ping包最大长度只能设为ping 192.168.1.10 -s 1472
https://lore.kernel.org/patchwork/patch/939535/
【完】
Ⅳ 如何查看linux系统的网络接口
方法/步骤
1、进入linux,使用“ cat /etc/services ”命令,可以查看所有服务默认的端口列表信息。
Ⅳ 怎么使用LINUX获取本机的网络接口eth1的IP地址和MAC地址
方法一:
$/sbin/ifconfig
ethX
|
awk
'/inet
addr/
{print
$2}'
|
cut
-f2
-d
":"
方法二:
$/sbin/ifconfig
ethX
|
awk
'/inet
addr/
{print
$2}'
|
awk
-F:
'{print
$2}'
方法三:
$/sbin/ifconfig
ethX
|
sed
-ne
's/\(.*\)addr:\([[:digit:].]*\)\(.*\)/\2/p'
把ethX中的X替换为需要查看网卡的序号,如eth0,eth1...
获得本机所有网卡的
IPv4地址
,方法如下:
$/sbin/ifconfig
|
awk
'{if
(
$1
==
"inet"
&&
$3
~
/^Bcast/)
print
$2}'
|
cut
-f2
-d
":"
如果是
IPv6网络
,把上面的命令做简单修改即可,如:
$/sbin/ifconfig
|
awk
'/inet6/
{print
$3}'
----全部
$/sbin/ifconfig
ethX
|
awk
'/inet6/
{print
$3}'
----单个
Ⅵ 在Linux下怎么查看网络接口的速率
写个脚本查看:脚本如下、加x权限、执行就可看以了
#!/bin/bash
while [ "1" ]
do
eth=$1
RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
sleep 1
RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
clear
echo -e "\t RX `date +%k:%M:%S` TX"
RX=$((${RXnext}-${RXpre}))
TX=$((${TXnext}-${TXpre}))
if [[ $RX -lt 1024 ]];then
RX="${RX}B/s"
elif [[ $RX -gt 1048576 ]];then
RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
else
RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
fi
if [[ $TX -lt 1024 ]];then
TX="${TX}B/s"
elif [[ $TX -gt 1048576 ]];then
TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
else
TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
fi
echo -e "$eth \t $RX $TX "
done
Ⅶ linux下如何区分eth0,eth1,eth2,eth3
ethtool -p eth0
回车后与eth0 相对应的网卡接口旁边的指示灯就会闪烁,这样你就能很快确定eth0 网口的位置(按下Ctrl+C 结束命令,停止闪烁)
同样确定eth1、eth2.。。。