PING问题解决方法_20190305
文 : 韦东山
我们深受windows、ubuntu、开发板之间互PING问题的困扰, 特别为这个问题录了视频(https://v.qq.com/x/page/h0505eg7z0m.html) 无奈还是有很多很多同学不看视频直接发问,或者说看了视频也解决不了问题,所以我再试图用几页文档解决这个问题。 这是ping问题解决方法最新文档,遇到问题首先看这里,也希望这是最后一个文档。
根据网线不同的连接情况大致可以分为3种情况: 一、 Windows通过WIFI上网,开发板离无线路由器很近 二、 Windows通过WIFI上网,开发板离无线路由器很远 三、 Windows不使用WIFI网卡
每种情况都可以分为网线连接,VMWare里选择的网卡,设置IP和验证 四部分,下面我们分别来讲解,请大家根据自己的具体情况来选择。
一. Windows通过WIFI上网,开发板离无线路由器很近
1.1 网线连接
如下图接线(开发板的网线,一定接到路由器,不要接到电脑): 如果你只想让Windows和Ubuntu互通,可以不接开发板的网线。
1.2 VMWare里选择WIFI网卡
如果你只想让Windows和开发板互通,可以不启动VMWare,当然也就不用去设置VMWare和Ubuntu。
很多电脑有多网卡,比如WIFI网卡、有线网卡。 在这种连接情况下,VMWare必须选择桥接模式、必须选择WIFI网卡。 如下图操作(VMware版本不同,菜单可能有所差别,请自行寻找;新版vmware player没有菜单项去选择网卡,请安装对应的pro版本):
1.3 设置IP
Windows的WIFI网卡IP、ubuntu的IP、开发板的IP,三个IP必须处于同一网段(何为同一网段?就是前面的IP都一样,就最后面3位不同)。 a. Windows的IP一般都是自动分配的,在命令行执行:ipconfig,确定它的IP, 假设为192.168.1.10 b. Ubuntu的IP需要手工设置,在Ubuntu的终端执行:ifconfig ,确定网卡名, 可能是eth0、eth4、ens33,假设是ens33 再执行:
sudo ifconfig ens33 192.168.1.100 // 配置网卡IP为192.168.1.100
c. 开发板运行UBOOT时、运行LINUX时, 它们的IP需要分别设置,这两个阶段的IP没有联系, 这两个阶段不会同时运行,所以它们的IP可以相同。
如果开发板正在运行UBOOT,执行以下命令设置IP:
set ipaddr 192.168.1.123
save
如果开发板正在运行LINUX,执行以下命令设置IP:
echo “ifconfig eth0 192.168.1.123” >> /etc/init.d/rcS
reboot
1.4 验证
① 验证Windows和Ubuntu互通: 在Windows命令行执行:
ping 192.168.1.100
// ping Ubuntu,如果有数据返回就表示通了,如下图:
注意:Windows ping Ubuntu 不通可以执行如下命令关闭Ubuntu防火墙在尝试(下同,不在重复):
sudo ufw disable
// 输入密码123456再回车
反过来ping如果不通可以尝试关闭Windows防火墙(方法请百度,下同,不在重复)
② 验证Windows和“正在运行uboot的开发板”互通(第②③步,只要做一个就可以): 注意:UBOOT不回应PING数据,所以你是PING不通UBOOT的, 只能在UBOOT去PING别的电脑。
如果显示“alive”就表示通了。 有时候Windows有防火墙导致PING不通,可以尝试去PING ubuntu的IP。
③ 验证Windows和“正在运行Linux的开发板”互通(第②、③步,只要做一个就可以): 类似第①步,在Windows命令行下PING开发板的IP。 注意,开发板必须启动进入了Linux,它才能被Windows PING通。
二. Windows通过WIFI上网,开发板离无线路由器很远
2.1 连接网线
2.1.1 Windows电脑和开发板的网线,都接到另一个集线器或路由器
强烈建议买一个网络集线器,很便宜的,20块钱之内;土壕可以买一个路由器代替集线器。 如下图接线(开发板和电脑的网线,接到网络集线器,开发板和电脑不要用网线直连): 如果你只想让Windows和Ubuntu互通,请看上一章(第1章):不需要接开发板网线,不需要买集线器。
2.1.2 电脑和开发板用网线直连(不建议)
我不想再买网络集线器了(强烈建议不要这样做,否则使用过程中麻烦时不时发生): 如果你只想让Windows和Ubuntu互通,请看上一章(第1章):不需要接开发板网线,不需要买集线器。
电脑和开发板的网线直连时,
这是要特殊对待的情况!
如果电脑和开发板用网线直连,开发板上的程序,必须使能网卡!
否则,Windows里看到的有线网卡就有一个红叉。
红叉表示"断开",
都"断开"了你别再问我为什么PING不通。
所以, 如果电脑和开发板用网线直连,开发板上的程序,必须使能网卡: a. 如果你要在开发板上玩UBOOT: 原生UBOOT是个奇葩, 它平时不使能网卡, 只有在使用网络命令那一小会,才使能网卡。 所以,必须更换为"全程使能网卡的UBOOT", 我们提供的JZ2440的uboot,已经全程使能网卡了, 你可以在它的前2行打印信息里看到:enable Ethernet alltime
b. 如果你要在开发板上玩LINUX, 这个LINUX必须有网卡驱动,必须配置了网卡, 可以在开发板里执行类似这样的命令:
ifconfig eth0 192.168.1.123
2.2 VMWare里选择有线网卡
如果你只想让Windows和开发板互通,可以不启动VMWare,当然也就不用去设置VMWare和Ubuntu。
很多电脑有多网卡,比如WIFI网卡、有线网卡。 在这种连接情况下,VMWare必须选择桥接模式、必须选择有线网卡。 如下图操作(VMware版本不同,菜单可能有所差别,请自行寻找;新版vmware player没有菜单项去选择网卡,请安装对应的pro版本):
2.3 设置IP
注意注意注意:Windows中的WIFI网卡、有线网卡,它们2个IP的网段绝不能相同! WIFI网卡的IP一般是自动分配的,一般都是192.168.1.xxx, 那么我们就把有线网卡IP设为 192.168.2.xxx,不能跟WIFI网卡在同一网段。 Windows的有线网卡IP、ubuntu的IP、开发板的IP,三个IP必须处于同一网段。
a. Windows的有线网卡IP怎么手工设置请自行百度,假设为192.168.2.10
b. Ubuntu的IP需要手工设置,在Ubuntu的终端执行:ifconfig ,确定网卡名, 可能是eth0、eth4、ens33,假设是ens33 再执行:
sudo ifconfig ens33 192.168.2.100
// 配置网卡IP为192.168.2.100
c. 开发板运行UBOOT时、运行LINUX时, 它们的IP需要分别设置,这两个阶段的IP没有联系, 这两个阶段不会同时运行,所以它们的IP可以相同。
如果开发板正在运行UBOOT,执行以下命令设置IP:
set ipaddr 192.168.2.123
save
如果开发板正在运行LINUX,执行以下命令设置IP:
echo “ifconfig eth0 192.168.2.123” >> /etc/init.d/rcS
reboot
2.4 验证
① 验证Windows和Ubuntu互通: 在Windows命令行执行:
ping 192.168.2.100
// ping Ubuntu,如果有数据返回就表示通了,如下图:
② 验证Windows和“正在运行uboot的开发板”互通(第②③步,只要做一个就可以): 注意:UBOOT不回应PING数据,所以你是PING不通UBOOT的, 只能在UBOOT去PING别的电脑。
③ 验证Windows和“正在运行Linux的开发板”互通(第②③步,只要做一个就可以): 类似第①步,在Windows命令行下PING开发板的IP。 注意,开发板必须启动进入了Linux,它才能被Windows PING通。
三. Windows不使用WIFI网卡
3.1 连接网线
3.1.1 Windows通过有线网卡接路由器上网,开发板离路由器很近
如果你只想让Windows和Ubuntu互通:不需要接开发板网线。
3.1.2 Windows通过有线网卡接路由器上网,开发板离路由器很远
强烈建议买一个网络集线器,很便宜的,20块钱之内;土壕可以买一个路由器代替集线器。 如果你只想让Windows和Ubuntu互通,请看3.1.1节:不需要接开发板网线,不需要买集线器,但是电脑的网线必须接到路由器(这样网卡才不是断开状态,才可使用)。
3.1.3 不上网,Windows电脑和开发板的网线,都接到集线器或路由器
开发板和电脑,使用网线连接,通过集线器或路由器互连: 如果你只想让Windows和Ubuntu互通:不需要接开发板网线,但是电脑的网线必须接到路由器或集线器(这样网卡才不是断开状态,才可使用)。
3.1.4 电脑和开发板用网线直连(不建议)
我不想再买网络集线器了(强烈建议不要这样做,否则使用过程中麻烦时不时发生): 如果你只想让Windows和Ubuntu互通,但是又没有集线器或路由器:仍需要用网线连接电脑和开发板(这样网卡才不是断开状态,才可使用)。
电脑和开发板的网线直连时, 这是要特殊对待的情况! 如果电脑和开发板用网线直连,开发板上的程序,必须使能网卡! 否则,Windows里看到的有线网卡就有一个红叉。 红叉表示"断开", 都"断开"了你别再问我为什么PING不通。
所以, 如果电脑和开发板用网线直连,开发板上的程序,必须使能网卡: a. 如果你要在开发板上玩UBOOT: 原生UBOOT是个奇葩, 它平时不使能网卡, 只有在使用网络命令那一小会,才使能网卡。 所以,必须更换为"全程使能网卡的UBOOT", 我们提供的JZ2440的uboot,已经全程使能网卡了, 你可以在它的前2行打印信息里看到:enable Ethernet alltime
b. 如果你要在开发板上玩LINUX, 这个LINUX必须有网卡驱动,必须配置了网卡, 可以在开发板里执行类似这样的命令:
ifconfig eth0 192.168.1.123
3.2 VMWare里选择有线网卡
如果你只想让Windows和开发板互通,可以不启动VMWare,当然也就不用去设置VMWare和Ubuntu。
很多电脑有多网卡,比如WIFI网卡、有线网卡。 在这种连接情况下,VMWare必须选择桥接模式、必须选择有线网卡。 如下图操作(VMware版本不同,菜单可能有所差别,请自行寻找;新版vmware player没有菜单项去选择网卡,请安装对应的pro版本):
3.3 设置IP
Windows的有线网卡IP、ubuntu的IP、开发板的IP,三个IP必须处于同一网段。 a. 设置Windows的有线网卡IP: 如果有线网卡接到路由器,那么它的IP一般会自动分配, 可以在Windows命令行下执行 ipconfig 查看,假设为192.168.1.10;
如果有线网卡的IP没有自动分配,可以手工设置,方法请自行百度。 也假设为192.168.1.10
b. Ubuntu的IP需要手工设置,在Ubuntu的终端执行:ifconfig ,确定网卡名, 可能是eth0、eth4、ens33,假设是ens33 再执行:sudo ifconfig ens33 192.168.1.100 // 配置网卡IP为192.168.1.100
c. 开发板运行UBOOT时、运行LINUX时, 它们的IP需要分别设置,这两个阶段的IP没有联系, 这两个阶段不会同时运行,所以它们的IP可以相同。
如果开发板正在运行UBOOT,执行以下命令设置IP:
set ipaddr 192.168.1.123
save
如果开发板正在运行LINUX,执行以下命令设置IP:
echo “ifconfig eth0 192.168.1.123” >> /etc/init.d/rcS
reboot
3.4 验证
① 验证Windows和Ubuntu互通: 在Windows命令行执行:
ping 192.168.1.100
// ping Ubuntu,如果有数据返回就表示通了,如下图:
② 验证Windows和“运行uboot的开发板”互通(第②、③步,只要做一个就可以): 注意:UBOOT不回应PING数据,所以你是PING不通UBOOT的, 只能在UBOOT去PING别的电脑。
如果显示“alive”就表示通了。 有时候Windows有防火墙导致PING不通,可以尝试去PING ubuntu。
③ 验证Windows和“运行Linux的开发板”互通(第②③步,只要做一个就可以): 类似第①步,在Windows命令行下PING开发板的IP。 注意,开发板必须启动进入了Linux,它才能被Windows PING通。
总结:情况这么多,不知道你有没有看晕,还是不清楚的话还是看视频吧。我们已经尽力了。
-END-
- word2vec理论与实践
- GMP大法教你重新做人(从入门到实战)
- Highway Networks
- CTF---编程入门第一题 循环
- Z.ExtensionMethods 一个强大的开源扩展库
- 【干货】神经网络SRU
- AutoMapper 使用实践
- CTF---安全杂项入门第二题 A记录
- PyTorch(总)---PyTorch遇到令人迷人的BUG与记录
- 手把手带你进入TOP20的商超销售预测
- 【干货荟萃】机器学习&深度学习知识资料大全集(二)(论文/教程/代码/书籍/数据/课程等)
- 逆天通用水印扩展篇~新增剪贴板系列的功能和手动配置,卸除原基础不常用的功能
- 【专知-Java Deeplearning4j深度学习教程06】用卷积神经网络CNN进行图像分类
- 万恶的剪贴板==》为存储而生
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- React使用代理解决跨域问题
- React登录跳转遇到的问题
- 响应式架构与 RxJava 在有赞零售的实践
- Centos 7搭建Gitlab服务器超详细Centos 7搭建Gitlab服务器超详细(搭建成功)
- Netty之旅二:口口相传的高性能Netty到底是什么?
- 前端知识复习(一)
- Powershell运行脚本报错:此系统上禁止运行脚本
- git rebase解决合并冲突
- npm相关操作
- Angular html property的值如何被更新的
- Centos 7 使用mailx发送邮件
- Centos 7 备份MySQL
- Centos 7 备份MySQL/MongoDB并发邮件脚本
- Nginx启动报错:sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object
- 有赞美业店铺装修前端解决方案