打印
[嵌入式linux]

TFTP无法下载大文件到开发板(网上找了很多方法不见效,求救

[复制链接]
3134|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhenqi2008|  楼主 | 2014-6-22 10:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是我安装TFTP步骤:
1,拿出系统关盘,安装这2个软件,一个是服务端,一个是客户端,
tftp-0.39-2.i386.rpm
tftp-server-0.39-2.i386.rpm
2,修改启动配置文件
不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。
修改文件/etc/xinetd.d/tftp。主要是设置TFTP服务器的根目录,开启服务。
修改后的配置文件如下:
service tftp
{
        disable = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /home/kernel -c
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
说明:
     其中处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。
3,创建tftp根目录,关闭防火墙,启动tftp-server。
/etc/init.d/iptables stop        //关闭防火墙
service xinetd restart          //重启 xinetd 服务
重启xinetd服务,因为TFTP服务受控与xinetd, xinetd是管服务的服务,它是不开端口的。
验证一下TFTP是否起来了:
[root@localhost tftp_root]# netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
      
tcp        0      0 :::22                       :::*                        LISTEN      2828/sshd                  
udp        0      0 0.0.0.0:69                  0.0.0.0:*                               10887/xinetd        
udp        0      0 0.0.0.0:69                  0.0.0.0:*                               10863/in.tftpd      
udp        0      0 0.0.0.0:69                  0.0.0.0:*                               10778/in.tftpd  
可以看到69端口已经打开,说明服务启动正常。
4,你可以登陆其他测试以下,
tftp 192.168.2.202
tftp>get
tftp>put
tftp>q


测试步骤:

下面是我的操作及测试TFTP和NFS服务有没有打开:
[root@localhost /]# service nfs restart

关闭 NFS mountd:                                         [确定]

关闭 NFS 守护进程:^[                                     [确定]

关闭 NFS quotas                                           [确定]

关闭 NFS 服务:                                           [确定]

启动 NFS 服务:                                           [确定]

关掉 NFS 配额:                                           [确定]

启动 NFS 守护进程:                                       [确定]

启动 NFS mountd:                                         [确定]

[root@localhost /]# service xinetd restart

停止 xinetd:                                            [确定]

启动 xinetd:                                             [确定]

  
[root@localhost /]# /etc/init.d/iptables status

防火墙已停

[root@localhost /]# tftp 192.168.2.202

tftp> get abc.c

tftp> q

[root@localhost /]#

  

防火墙也已经关闭   

  

U-Boot> ping 192.168.2.202

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

host 192.168.2.202 is alive

板子能够与linux服务器PING 通

  

U-Boot> printenv

bootdelay=3

baudrate=115200

ethact=macb0

ethaddr=00:22:33:45:43:33

filesize=217580

fileaddr=71100000

bootcmd=nand read 0x72000000 0x200000 0x200000 ;nand read 0x71100000 0x400000 0x

300000 ;bootm 0x72000000

ipaddr=192.168.2.44

serverip=192.168.2.202

bootargs=mem=64M console=ttyS0 115200 root=/dev/nfs rw nfsroot=192.168.2.202:/ho

me/zzq ip=192.168.2.44:192.168.2.202:192.168.2.1:255.255.255.0::eth0:off
Environment size: 402/131067 bytes

以上为板子所设置的环境变量

U-Boot> ping 192.168.2.202

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

host 192.168.2.202 is alive

U-Boot> tftp 0x72000000 uImage

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

TFTP from server 192.168.2.202; our IP address is 192.168.2.44

Filename 'uImage'.

Load address: 0x72000000

Loading: #T T T #T T T T T #T T T T T #T #T T T T T #T T T T T T #T #T T T T T T

T T T T #T ##T T T

Retry count exceeded; starting again

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

TFTP from server 192.168.2.202; our IP address is 192.168.2.44

Filename 'uImage'.

Load address: 0x72000000

Loading: #T T T #T T #T T #T T T T T T T #T T T T T #T T T T T T T T

下载超时不能成功
但我在共享目录中新建一个其他的文件:234.c  可以下载成功 这能不能说明我的TFTP服务器已经打开了。


U-Boot> tftp 0x72000000 234.c

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

TFTP from server 192.168.2.202; our IP address is 192.168.2.44

Filename '234.c'.

Load address: 0x72000000

Loading: #

done

Bytes transferred = 2921 (b69 hex)





相关帖子

沙发
zhenqi2008|  楼主 | 2014-6-22 10:37 | 只看该作者
小文件传送没有问题,大文件老是超时。在windows下的服务器传送大文件也是没有问题的。

使用特权

评论回复
板凳
zhenqi2008|  楼主 | 2014-7-15 08:55 | 只看该作者
数据包大小的问题  修改一下MTU可以正常传输了

使用特权

评论回复
地板
后学| | 2014-7-22 11:07 | 只看该作者
用ftp下大文件

使用特权

评论回复
5
zhenqi2008|  楼主 | 2014-7-26 22:00 | 只看该作者
后学 发表于 2014-7-22 11:07
用ftp下大文件

嗯 可能跟我的网络环境有关系  TFTP问题已经解决了 FTP还没研究过

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

21

帖子

1

粉丝