在linux 嵌入式开发中,用tftp向硬件传输文件时,会遇到 transfer timedout的问题,试了很多方法,最后是下面这个操作成功解决。
1.重启硬件reboot
2.在重启时长按esc键
3.ipconfig 获取ip地址
4.ping 192.168.0.6检查是否可以ping通
5.ping通后就可以输入tftp命令
原来是遇到了硬件服务器未打开的问题。
如果上述方法没有解决,下面总结了其他人针对不同原因的解决方法:
1、服务器防火墙未关闭
防火墙开启会导致,网络可以ping通,但无法使用tftp命令。所以必须要关闭防火墙,使用下面的命令可以查看防火墙状态。
sudo ufw status
如果返回是
Status: active
说明防火墙开启
如果返回是
Status: inactive
说明防火墙关闭。
如果防火墙开启,采用下面的命令可以关闭防火墙。
sudo ufw disable
2、tftp服务器没有准备好
由于某种原因,tftp服务器没有准备好也会导致tftp服务失败。
使用下面的命令可以重启tftp服务器
sudo service tftpd-hpa restart
参考链接:https://blog.csdn.net/bhniunan/article/details/104081412