
ETH基础
ETH基础
unsv29
嵌入式软件开发、物联网...
展开
-
测试socket之[3]:单网卡双IPsocket udp测试
不同网段和同网段都一样的,下面举例是不同网段的:单片机IP 192.168.6.60, 192.168.8.60【1】fd1 = bind(port:1111, ip:0);【2】fd2 = bind(port:2222, IP:192, 168, 6, 60);【3】fd3 = bind(port:3333, IP:192, 168, 8, 60);那么对于【1】,电脑发送到两个IP+端口1111, 单片机都可以收到。单片机发送到电脑,那么单片机用哪个IP呢?答...原创 2020-08-06 11:11:46 · 442 阅读 · 1 评论 -
测试socket之[2]:单网卡非端口复用之组播
由于设计的socket的bind 功能是:创建socket并绑定IP和port,所以setsockopt只能放在bind的后面。对于加入和离开组播来讲,用setsockopt针对的不是哪个socket(尽管setsockopt的有一个参数是socket描述符),setsockopt针对的是某个网卡。bind绑定的是端口和某个特定组播地址(当然如果组播地址设置为0那么就是任意组播地址),这样端口和组播地址建立了对应关系。比如这样:【1】fd1 = bind(port:1111, mult.原创 2020-08-05 12:50:33 · 400 阅读 · 1 评论 -
[转载]网络-UDP,TCP数据包的最大传输长度分析
https://blog.youkuaiyun.com/yichu5074/article/details/80991635https://blog.youkuaiyun.com/ycc541/article/details/51357012转载 2020-07-28 20:58:33 · 451 阅读 · 0 评论 -
UDP TCP 流程 链接收集
《TCP/UDP的套接字Socket通信工作流程》《基于TCP/UDP的socket编程流程》原创 2020-07-18 21:54:28 · 152 阅读 · 0 评论 -
MBED udp通信相关 2020-07-13 16:01:52
test_igmp_Snd = udp_new();err = udp_bind(test_igmp_Snd, IP_ADDR_ANY, TEST_IGMP_SERVER_PORT);udp_recv(test_igmp_Snd, test_igmp_recCallback, NULL);test_igmp_recCallback(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port.原创 2020-08-02 17:21:54 · 294 阅读 · 0 评论 -
网卡与IP各种组合
单网卡双IP:双网卡单IP:双网卡双IP:原创 2020-06-24 14:45:12 · 630 阅读 · 3 评论 -
[转载]将Windows网络适配器共享网络的ip:192.168.137.1 改为其他IP
http://www.10qianwan.com/articledetail/403314.html我试了一下 bat那个方法 .结果:成功将192.168.137.1 变为192.168.1.1 并且不用重启电脑。运行bat之后,进入更改适配器选项, 在网络连接里面的 WLAN点击右键属性,...转载 2020-06-15 11:08:45 · 3023 阅读 · 0 评论 -
telnet开发计划
(1)短链接,单个链接(不允许多用户)(2)长时间无命令,则自动关闭。(3)命令与usart shell尽可能兼容(4)趁这个机会弄懂lwip tcp细节(5)测试手机端telnet工具 以及各种电脑telnet工具兼容性。...原创 2020-06-04 07:58:29 · 203 阅读 · 0 评论 -
TELNET 链接收藏
基于stm32 lwip + Telnet 调试打印LwIP应用开发笔记之九:LwIP无操作系统TELNET服务器以太网实现Telnet远程登录实验lwip -telnet移植原创 2020-06-03 13:41:31 · 195 阅读 · 0 评论 -
一头 一头百兆全双工 自动协商 测试
电脑自带网卡是100M强制全双工,DP83848是自适应,那么给DP83848重新上电,DP83848会是啥?答:dp83848是百兆全双工。那么电脑自适应,就有DP83848是100M全那么电脑100 half 有DP83848是100 half电脑是10M全 有DP83848 是10M全嗨嗨嗨!!!看看华为的说法:《FAQ-交换机设备电口对接一端处于强制全双工状...原创 2020-04-15 15:59:11 · 4668 阅读 · 1 评论 -
stm 32 组播 哈希表过滤
以下一家之言,未必准确!STM32 MAC multicast 过滤有/** @defgroup ETH_Multicast_Frames_Filter ETH Multicast Frames Filter * @{ */#define ETH_MULTICASTFRAMESFILTER_PERFECTHASHTABLE 0x00000404U#de...原创 2020-03-26 19:56:26 · 1688 阅读 · 0 评论 -
新装了wireshark后 龙卷风为什么找不到网卡了?
在《抓mqtt之 wireshark3.2.2 64bit的nacap与winpcap》里面,没有装npcap,刚刚试验igmp,需要龙卷风试验,结果龙卷风找不到网卡了,于是重启电脑也不行,也是把在wrieshakr安装目录里npap装上,提示wincap将被替代掉。结果龙卷风还找不到网卡,只是显示两个虚拟网卡,然后点了点下拉菜单,哦 ,原来都在下拉菜单里。...原创 2020-03-26 09:26:35 · 2057 阅读 · 0 评论 -
wireshark 3.2.2 抓取USB数据
在《抓mqtt之 wireshark3.2.2 64bit的nacap与winpcap》里面提到了USBpcap,那么现在想用wireshark抓取USB数据,就必须安装usbpcap了。找了一下wrieshak安装路径下没有找到单独的安装包,于是考虑重新装一遍wireshark。因为我在《抓mqtt之 wireshark3.2.2 64bit的nacap与winpcap》已经安装了一遍,...原创 2020-03-24 07:27:06 · 4029 阅读 · 0 评论 -
抓mqtt之 wireshark3.2.2 64bit的nacap与winpcap
系统是WIN10,今天安装win3.2.2 64 BIT原先电脑里面是wireshark1.12.8看样子我的Wireshark1.12.8的winpcap版本是4.1.3,那么winPCAP和npcap区别呢?《Wireshark 捕捉本地数据 --WinPcap切换NPcap》那么还是先安装npcap试试吧。假如以后wireshark1.12.8还能正常使用,那就可以...原创 2020-03-23 13:46:12 · 1893 阅读 · 0 评论 -
以太网接收寄存器相关需要深入研究,
如下: ETH_InitStructure.ETH_LoopbackMode = ETH_LoopbackMode_Disable; ETH_InitStructure.ETH_RetryTransmission = ETH_RetryTransmission_Disable; ETH_InitStructure.ETH_AutomaticPadCRCStrip = ET...原创 2020-03-10 07:52:24 · 214 阅读 · 0 评论 -
网络编程高低字节颠倒
接收一堆数,有些需要颠倒字节,比如U8 jieshou_data[1000];收到的数扔到这个数组里,但是里面有些数需要颠倒后,再给应用使用。查查网上:http://www.360doc.com/content/14/1113/16/16170632_424843985.shtmlhttp://blog.sina.com.cn/s/blog_b87e685b0102wcsq....原创 2020-03-07 15:27:02 · 636 阅读 · 0 评论 -
NETIF_FLAG_UP 与 NETIF_FLAG_LINK_UP咋用?
首先看一下注释(这个是靠谱的):/** Whether the network interface is 'up'. This is* a software flag used to control whether this network* interface is enabled and processes traffic.* It must be set by the st...原创 2020-02-22 07:56:48 · 2417 阅读 · 1 评论 -
打算正式进军telnet, 20200220
为什么要开发telnet? 一是为了调试,或者查看一些信息,进行一些命令处理。 二是感觉这个比较简单一点,开发起来可能比较容易。 三是顺便好好理解一下lwip的tcp发送接收。 四是telnet本身属于一个标准,client那头在电脑端有标准的软件。目前状况: 网上有一些简单例子,但没有特别权威的lwip的t...原创 2020-02-20 09:29:18 · 172 阅读 · 0 评论 -
分析lwip回调数据结构
struct tcp_pcb *tcp_client_pcb;tcp_client_pcb = tcp_new();tcp_recv(tcp_client_pcb,TCP_Client_Recv);voidtcp_recv(struct tcp_pcb *pcb, tcp_recv_fn recv){ if (pcb != NULL) { LWIP_ASSERT("in...原创 2019-12-02 08:19:46 · 362 阅读 · 0 评论 -
方便调试lwip之记录几个tcp状态代码
近来调试tcp,源码中查看几个变量状态有点不方便,把这些状态提取出来,更方便查看,代码如下:这个头文件可能1.4.1没有。新一点的才有。#include "lwip/priv/tcp_priv.h"typedef struct a { uint32_t tcp; enum tcp_state state; /* TCP state */ \}b;;b tcp_activ...原创 2019-10-14 11:51:17 · 728 阅读 · 0 评论 -
mqtt 记录(emqx作为服务器)
20190929(1)搞了差不多两天吧STM32当客户端然后找服务器。看了个各个服务器比较的文章,里面有个emqtt感觉功能挺全的。找了emqx-windows-v3.2.3下载下来。然后安装。也没记下来看了哪个网站的文章,反正很简单,就是一句启动指令 。F:\emqx-windows-v3.2.3>cd emqxF:\emqx-windows-v3.2.3\emq...原创 2019-09-29 22:03:58 · 1670 阅读 · 0 评论 -
lwip心得-无法connnect原因
20190929(1)在试验tcp echo client的过程中发现, connect之后再也无法connect了。查看返回值发现原因是端口已经被占用了。所以一旦connect之后就要通过写代码进行tcp_close(2)在试验tcp echo client的过程中发现,首次就无法connnect成功,原因是以太网硬件相当于没有初始化完毕,就是我那个检测link up 或者lin...原创 2020-08-02 17:00:55 · 2267 阅读 · 0 评论 -
花了两个小时将lwip1.4.1 升级为2.0.3
2019.09.28没想到这么顺利!原计划是用一到两天。主要是lwip代码兼容性比较好,就有个结构体需要修改,将ip_addr改为ip4_addr。别的就没啥了!之所以没有升级到V2.1.2 是因为我看了 V2.0.3和V2.1.2的app大概差不多。主要改的是core。2.0.3和V2.1.2的开发时间是交叉的。就是说在开发2.1.2的过程中也在修复V2.1.2的b...原创 2019-09-28 16:40:55 · 1985 阅读 · 0 评论 -
这两天调代码的收获 关于IGMP,内存分配等等 组播MAC映射
(1)IP_ADDR_ANY应该已经搞懂了。设置为IP_ADDR_ANY或者唯一的IP 对于FTP速度似乎没有提升。(2)关于内存,看样子,需要更加合理的分配了。优先考虑的是未来程序变大以后,需要在哪里增加内存。就要把外部的1M内存充分利用起来。内存对速度的影响到底有多大?除了写fatfs文件需要考虑速度,别的地方似乎没有必要考虑速度。总之,要把1M内存充分利用起来。(3)关于组播,目前看...原创 2019-08-31 20:40:18 · 570 阅读 · 0 评论 -
IGMP小结(2)
20190831以前写过一个小结关于LWIP的IGMP阶段性小结。这次呢,当然希望更深入一些。(1)在lwipopts.h里面加上#define LWIP_IGMP 1#define LWIP_RAND lwip_rand然后建立一个lwip_rand函数(2)添加igmp_init函数(3)添加if ((localt...原创 2020-08-02 16:58:06 · 891 阅读 · 0 评论 -
VMWARE的桥接模式
自己理解的,可能不太完善。不管怎样 先记录下来。第一个试验:单片机有线网口(192.168.3.99)-----电脑WIN10有线(192.168.3.199)------虚拟机WIN7(192.168.3.123)(0)原理上感觉就像是在WIN10和WIN7之间有个交换机。(1)桥接模式要在一个网段,比如这3个都是192.168.3.*(2)在vmware软件里面找到“虚拟网...原创 2019-07-25 09:11:32 · 573 阅读 · 0 评论 -
https://github.com/RT-Thread-packages/micropython
https://github.com/RT-Thread-packages/micropython原创 2018-10-10 14:20:20 · 1075 阅读 · 0 评论 -
LWIP之DP83848的配置
STM32的例子,先用官网的例子,文件名大概叫这个en.stsw-stm32070ETH_BSP_Config(1)ETH_GPIO_Config,配置腿,还配置MII还是RMII模式(2)ETH_MACDMA_Config2.1ETH_AutoNegotiation_Enable2.2 DMA2.3ETH_Init这个函数有三个寄存器要特意指出,BCR,BSR,...原创 2018-09-18 08:42:50 · 9693 阅读 · 0 评论 -
DP8348与TPLINK无线传输丢帧
印象里TPLINK无线快速发送的话丢帧很多,这是大概去年做了个实验我得出的结论。但从今天做的一个实验看,可能是DP83848配置问题,就是10M、100M切换之类的问题。DP83848配置以及PCB设计看样子不是那么不容易的。从网上搜索的资料看,很少有人完全弄明白DP838848配置的。我目前的想法是多多搜集例子,综合一下大家的做法。多搜集优秀的例子,各种开发版的例子,还有NXP芯...原创 2018-09-10 20:18:17 · 669 阅读 · 1 评论 -
【转】Lwip 断连,连接几次后不通及偶尔不通的问题.
https://blog.youkuaiyun.com/hecong_kit/article/details/24415693新加这个函数,并在tcp_in函数里调用一下.出现不通的原因是在网络状态不流畅的情况下,连续连接N次后,LWIP默认不在连接,新建一个变量//自己做一个函数struct tcp_pcb *tcp_find_distant(void){#if LWIP_AUTO_FRE...原创 2018-09-09 21:18:31 · 6765 阅读 · 2 评论 -
2018年技术规划调整
增加两项:(1)主要完成 bootloader。一个bootloader兼顾RS232/以太网/CAN,在同一个上位机。不弄USB更新程序。上位机下半年要着手开发,边开发边调整,难度未知,但是基本可控。一个bootloader要注重通用性,最好与CPU无关。(2)MQTT为什么要研究MQTT,一个是与以太网相关,会加深对网络的理解,另一个是可能会将控制引入手机端。(3)发表论文一篇,发明专利一篇重...原创 2018-04-28 13:49:00 · 576 阅读 · 0 评论 -
FTP client的 quit demand怎么发不出来了?
FTP client的 quit demand怎么发不出来了?原创 2018-04-27 08:12:28 · 336 阅读 · 0 评论 -
ie ftp打开方式
弄个注册表 内容为Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_INTERNET_SHELL_FOLDERS]"iexplore.exe"=dword:00000001Windows Reg...原创 2018-04-26 10:30:57 · 708 阅读 · 0 评论 -
节奏转换就是这么快,我打算放弃CCP,转向UDS的bootloader了!
看了一些资料,都提到现在流行的bootloader都是用UDS的。不知道原因。今天我再次看了CCP的代码,感觉写的还是很清晰的,但是流程不很清晰。主要是BOOTLOADER的流程不清晰。容易出问题。所以打算转向UDS了。当然CCP的已经经验在UDS里面说不准也可以体现出来,还是自己敲代码可以控制得住。UDS的代码估计网上不容易找到,即便找到了我也不想用了。自己写靠谱!!!现在研究协议,框架。UDS...原创 2018-04-10 10:42:22 · 4096 阅读 · 6 评论 -
发送文件有时候卡主,啥原因?可能涉及到lwip_tcp
找一些用的上的链接,如下:TCP输入输出函数1《LwIP协议栈源码详解——TCP/IP协议的实现》 [转载]关于LWIP协议栈连续多次tcp_write后失败的解决过程原创 2018-03-08 19:51:42 · 629 阅读 · 0 评论 -
FTP:文件传输协议(指令及响应代码)
http://blog.youkuaiyun.com/wyi23/article/details/964636文件传输协议(FTP)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。 FTP 的主要功能如下:提供文件的共享(计算机程序 / 数据);支持间接使用远程计算机;使...转载 2018-03-07 10:57:55 · 1828 阅读 · 0 评论 -
Server发送RST指令,why?
TCP关闭连接close socket发送RST导致client读取结果失败TCP连接关闭时不发FIN包的奇怪行为分析 这个问题以前遇到过,给出上面两个链接作为参考。2018.03.12 通过断点找到位置了,在TCP_IN.C里面有: if (pcb != NULL) {//DO something}else { /* If no matching PCB was found, send ...原创 2018-03-06 11:06:24 · 1393 阅读 · 0 评论 -
FTP交互流程与开发思考[3]
2018.03.05----------------------得出的测试时结果为:(1)当传输数据量小于或者1460则,必须”同时“采用以下两种行为:a是当收到客户端的RETR指令后发送sendfileb是发生poll时候发送sendfile根据测试看出,小于或者等于1460时,b用于”挥手“(2)当传送数据量大于1460可以采用a和b,或者仅仅采用a,或者仅仅采用b。-------------...原创 2018-03-06 09:09:01 · 504 阅读 · 0 评论 -
FTP开发的出现的意外情况统计
(1)服务器发送文件给客户端,由于客户端已经存在该文件,所以传送的文件将客户端文件覆盖掉,但是如果客户端文件处于打开状态则,FILEZIIIa爆出错误:在message log界面显示“Error: File transfer failed”。在transfer queue界面的Fail transfers栏显示的原因为:“could not start transfer”。经过测试发现这种情况不...原创 2018-03-06 08:42:22 · 701 阅读 · 0 评论 -
TCP/IP程序经常挂掉咋整?
写FTP个别情况下会挂掉,有时候无法显现list文件名,有时候甚至ping不通。(一般在传输文件中途断开客户端导致服务器TCP错误,进入TCP错误的那个回调函数)。一般来讲,最好的作法是弄清缘由,看看错误的真正原因是啥。但是博主水平太有限了。目前看比较靠谱的作法是重启TCP/IP相关部分。(1)事实上DP83848有个中断函数就是检测link是否断开的。如果断开可以进行相应的处理。(2)另外一旦发...原创 2018-03-02 22:17:51 · 505 阅读 · 0 评论