Commit Graph

183 Commits

Author SHA1 Message Date
Stone c486fa561c 初始Seq=0,TCP测试仍然没有通过 2014-09-20 06:05:22 +00:00
Stone dc670f4460 不能修改主监听Socket的端口,否则可能导致收不到后续连接数据 2014-09-20 06:01:40 +00:00
Stone 01755ce183 缓冲区必须略大,否则接收数据时可能少一个字节
PC到设备的Ping通过,UDP测试通过
2014-09-20 04:00:51 +00:00
Stone e8c76bcea2 增加数据流类,使用内存数据流重构TinyIP 2014-09-20 02:49:48 +00:00
Stone 3d771313e6 UDP收发数据基础测试通过 2014-09-20 01:21:08 +00:00
Stone c61424f2a8 考虑到可能有通用端口处理器,也可能有专用端口处理器(一般在后面),这里偷懒使用倒序处理 2014-09-19 20:27:45 +00:00
Stone 4fd3365c80 修正RenewDHCP失败的错误,传递的参数应该是Tip。
UDP/TCP初始化端口为0,以处理所有数据包
2014-09-19 20:25:37 +00:00
Stone dd4a4c3fc4 修正缓冲区偏移错误,处理Ping请求成功,测试通过 2014-09-19 19:50:54 +00:00
Stone cb485cc2d5 修正列表模版的BUG 2014-09-19 19:17:40 +00:00
Stone 18af792703 成功处理ARP请求,PC段获得设备端MAC地址
PC向设备的Ping请求失败
2014-09-19 18:39:23 +00:00
Stone 4a5615cff0 修正MAC的初始化错误 2014-09-19 16:18:19 +00:00
Stone 9e6d0a8c6d 不要那么严格,只要有源MAC地址,即使不是发给本机,也可以使用 2014-09-19 16:15:05 +00:00
Stone adcaeb52d4 发送以太网数据包时,缓冲区buf的地址是以太网头部以后的地址,而不是整个以太网包的地址 2014-09-19 15:25:56 +00:00
Stone b9655f710d MAC地址首字节奇数表示组地址,这里用偶数
必须有Arp,否则无法响应别人的IP询问
2014-09-19 15:08:06 +00:00
Stone 4fe4d95ca3 有些家用路由器会发送错误的len,大于4字节,导致覆盖前后数据。
经测试,解决DHCP得不到网关地址的问题。其实就是len过长,读取DNS的时候把网关地址给覆盖了
2014-09-19 10:48:05 +00:00
Stone f32791f5bf 仅处理本连接的IP和端口。
DHCP测试可以获取IP和DNS等,但是得不到网关
2014-09-19 09:52:55 +00:00
Stone f92f0f734a 优化掉一些长整型乘除法 2014-09-09 12:13:23 +00:00
Stone d683880a97 完成TinyIP所有功能拆分,编译通过过DHCP测试通过,ARP未通过
貌似ARP代码和Ping代码未详细检查
2014-09-01 15:44:19 +00:00
Stone fce22cbcd2 拆分以后的TinyIP终于全部编译通过,未测试 2014-09-01 14:28:37 +00:00
Stone 0d1c5d19fd 逐步拆分NetPacker的功能 2014-09-01 04:08:40 +00:00
Stone 2e9774bfec 重构以太网TinyIP,编译未通过 2014-08-31 19:55:13 +00:00
Stone f85a280b95 Enc28j60实现ITransport接口,编译通过,测试未通过 2014-08-26 14:44:09 +00:00
Stone 12f2f3162d Ping测试通过,原来是需要计算校验 2014-08-25 15:40:16 +00:00
Stone e4f6aced28 ICMP校验码验证通过,收到Ping响应,抓包软件没抓到发出的包,但是抓到了响应包。
代码流程还有点问题,没有及时拿到Ping响应
2014-08-25 15:30:56 +00:00
Stone 19b6c94db8 返回值指示是否向对方发送数据包 2014-08-25 14:25:09 +00:00
Stone 046add8a0a 返回值指示是否向对方发送数据包 2014-08-25 14:16:22 +00:00
Stone c97540b52c Ping之前根据ARP解析IP得到MAC,编译通过,测试未通过。
发出的ICMP数据包,网络抓包没有抓到
2014-08-25 14:07:15 +00:00
Stone b40c836031 完善AddArp,测试通过 2014-08-25 07:52:45 +00:00
Stone 5061c40fac 可记录ARP表,内网设备太多了…… 2014-08-25 04:09:00 +00:00
Stone ccf256b0ff 增加ARP缓存表支持,编译通过,未测试 2014-08-25 03:22:52 +00:00
Stone 5b008f3491 由Sys实现显示字符串和二进制数据的函数 2014-08-21 14:50:17 +00:00
Stone 162145cc22 支持广播数据包,测试通过 2014-08-21 12:24:49 +00:00
Stone 958b4f9b86 修正内存拷贝的BUG 2014-08-21 11:54:17 +00:00
Stone 5935ebf393 DHCP租约过了一半以后重新获取IP地址 2014-08-20 04:41:49 +00:00
Stone 160defecb2 检查内存需要用到那个数组,搬回Sys里面去 2014-08-19 09:30:47 +00:00
Stone bd18d8cf0c 修正UDP协议中处理数据长度不对的BUG,测试通过 2014-08-18 12:53:07 +00:00
Stone 34b3bc7784 RST是对方紧急关闭,这里啥都不干 2014-08-18 12:35:22 +00:00
Stone 183a520786 根据新的ID格式进行调整 2014-08-18 11:21:20 +00:00
Stone a55bb3fa0f 增加主动Ping功能支持,未测试 2014-08-15 11:16:02 +00:00
Stone 5a06199c16 通过宏定义选择TinyIP关闭不需要使用的模块,默认开启所有模块 2014-08-13 15:17:03 +00:00
Stone d8d9807b12 ARP/ICMP/TCP/UDP 测试通过
简化发送数据包的函数
2014-08-13 13:58:55 +00:00
Stone 92061debde ARP/ICMP/TCP/UDP 测试通过
各种事件增加负载数据参数,方便直接使用
2014-08-13 13:12:48 +00:00
Stone e23e220cd8 增加各种事件,编译通过,未测试 2014-08-13 10:06:11 +00:00
Stone f6ddca8e8c ICMP发送数据包之前需要先加上自己头部的长度 2014-08-13 09:16:59 +00:00
Stone 02a53ae958 增加错误检测,如果SPI不对,就不启动网络 2014-08-13 08:59:09 +00:00
Stone eadc47588d 暂时先屏蔽扩展功能,编译通过,测试通过 2014-08-13 08:21:11 +00:00
Stone 6aa57b3006 增加Tcp和Udp,尝试扩展 2014-08-12 15:56:52 +00:00
Stone ebc113ab9b TCP收发正常,注意移位运算的优先级比加法还低 2014-08-12 15:31:20 +00:00
Stone 58efdec628 UDP收发都测试通过
太杯具了,收到的数据包可能有多余数据,这两个长度可能不等
修正TCP长度计算的BUG
大量增加参数断言,避免各种漏洞
TCP未通过
2014-08-12 15:19:36 +00:00
Stone be87cbe9cf UDP默认发数据也不需要校验,诡异!
DHCP使用前先清空一次更安全
2014-08-12 13:27:59 +00:00
Stone 8599e9dc09 此时指向的是负载数据后的第一个字节,所以第一个opt不许Next 2014-08-12 13:07:33 +00:00
Stone bb774c2828 收到非UDP数据包,可能会搞乱缓冲区,所以每次发送的时候,需要重新设定协议
精简无用代码
2014-08-12 11:23:25 +00:00
Stone dcedcf9ff3 优化Tcp序列号的实现,精简无用代码 2014-08-12 05:02:56 +00:00
Stone c69c02ed06 不等2860启动,直接发数据包,加上超时重试机制,这样子比等待来得更快 2014-08-11 19:27:57 +00:00
Stone 7812e5f80e 多次测试表明,对于DHCP不得不去掉UDP的校验,不知道是不是2860的配置问题 2014-08-11 18:57:51 +00:00
Stone 614be66140 2860启动需要不少时间,等待1秒,DHCP非常稳定的获取了IP地址。
最大的坑就是2860启动需要等待时间
2014-08-11 18:50:29 +00:00
Stone ee8e2dc312 在不使用UDP校验的情况下,终于收到了offer,但是发出去Request时收不到响应,手机上的DHCP是有udp检验的 2014-08-11 17:59:26 +00:00
Stone a8bf82bf95 重构DHCP可选参数,2860启动后必须延迟一段时间,否则无法发出数据包 2014-08-11 17:14:57 +00:00
Stone a4cdb93262 完善发送协议数据包的程序,避免上层犯下低级错误 2014-08-11 15:03:31 +00:00
Stone 815d4a1977 使用结构体改造DHCP代码,测试未通过。
该DHCP源代码由家瑜编写,经测试是通过的
2014-08-11 13:39:52 +00:00
Stone 452c0cb747 总算ping通了,原因是设置RemoteMac的实际不对,太迟了一点 2014-08-11 12:00:01 +00:00
nnhy 1c242d8040 调整TinyIP以适应新的多任务架构 2014-08-10 19:23:03 +00:00
Stone e662316033 只能一个人ping通,具体提现是ARP无法正常工作,但是抓包工具看到正常响应了 2014-08-09 17:12:30 +00:00
Stone 3e8ffb9821 网络抓包看到UDP正确响应,但是软件收不到 2014-08-09 16:41:29 +00:00
Stone b45b90e484 Ping测试通过,Tcp/Udp接收数据通过,Udp发送数据失败 2014-08-09 15:46:42 +00:00
Stone 51dc9f0677 利用网络封包机改进TinyIP 2014-08-09 13:49:31 +00:00
Stone d63274c5e6 网络头部增加网络封包类,编译通过 2014-08-09 13:13:57 +00:00
Stone 7b569be8e4 增加以太网实现类,准备把Ethernet协议提取出来成为公用 2014-08-09 12:33:54 +00:00
Stone 9bd0c952fe 精简UDP相关代码 2014-08-09 11:55:15 +00:00
Stone b117883331 UDP测试通过 2014-08-09 11:36:01 +00:00
Stone 2515194fe6 修正可选域的计算方式,可以收到一点点telnet上来的数据了 2014-08-09 11:10:28 +00:00
Stone c8cff1a5b3 直接响应来源端口 2014-08-09 09:33:39 +00:00
Stone 9b357eea48 精简用不到的全局变量 2014-08-09 09:11:06 +00:00
Stone d0678e3c4e 用结构体处理部分Tcp代码,Ping通过,未测试Tcp部分 2014-08-09 08:50:43 +00:00
Stone 9cabc07a4f 用结构体处理部分Tcp代码,Ping通过,未测试Tcp部分 2014-08-09 08:33:29 +00:00
Stone 0fd967c25a 网络序是大端 2014-08-09 07:41:00 +00:00
Stone 1ed4019b64 Ping通过。这里不能直接用sizeof(ICMP_HEADER),而必须用len,因为ICMP包后面一般有附加数据 2014-08-09 07:29:17 +00:00
Stone 04163c2966 Ping通过。注意memcmp相等返回0 2014-08-09 06:29:39 +00:00
Stone 739bbf695b 增加以太网结构体,利用结构体改进ARP测试通过 2014-08-09 06:06:49 +00:00
nnhy fadcce792f 增加RTC、定时器、看门狗,未实现 2014-08-08 19:30:42 +00:00
nnhy ab8c1597bf 合并DHCP功能,编译通过,未测试 2014-08-08 19:18:25 +00:00
nnhy c5ae829621 代码格式化 2014-08-08 18:16:17 +00:00
nnhy 3ec2340d49 增加精简TinyIP协议 2014-08-08 18:08:06 +00:00