您尚未登录。

楼主 #1 2019-12-14 08:08:33

BMN李
会员
注册时间: 2018-03-22
已发帖子: 71
积分: 61

以太网mac地址设置为随机,会影响联网吗?

现在的情况是我们自己测试以太网是正常工作的,但是寄到客户那里就用不了了。

安卓7.1.2 RK3288

离线

#2 2019-12-14 08:11:16

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,350
积分: 9202

Re: 以太网mac地址设置为随机,会影响联网吗?

随机数的种子是什么?如果种子一样那么就不随机了哦,

还有,有些交换机/路由器会限制 mac地址的前缀,所以不是任何一个mac地址都可以。

你固定前面三个字节,后面三个字节随机试一试。





离线

楼主 #3 2019-12-14 08:16:17

BMN李
会员
注册时间: 2018-03-22
已发帖子: 71
积分: 61

Re: 以太网mac地址设置为随机,会影响联网吗?

晕哥 说:

随机数的种子是什么?如果种子一样那么就不随机了哦,

还有,有些交换机/路由器会限制 mac地址的前缀,所以不是任何一个mac地址都可以。

你固定前面三个字节,后面三个字节随机试一试。

/**  * eth_random_addr - Generate software assigned random Ethernet address 

* @addr: Pointer to a six-byte array containing the Ethernet address  * 

* Generate a random Ethernet address (MAC) that is not multicast 

* and has the local assigned bit set.  */

static inline void eth_random_addr(u8 *addr)

  get_random_bytes(addr, ETH_ALEN); 

  addr[0] &= 0xfe; /* clear multicast bit */ 

  addr[0] |= 0x02; /* set local assignment bit (IEEE802) */

}

#define random_ether_addr(addr) eth_random_addr(addr)

/**
* eth_hw_addr_random - Generate software assigned random Ethernet and
* set device flag
* @dev: pointer to net_device structure
*
* Generate a random Ethernet address (MAC) to be used by a net device
* and set addr_assign_type so the state can be read by sysfs and be
* used by userspace.
*/
static inline void eth_hw_addr_random(struct net_device *dev)
{
dev->addr_assign_type = NET_ADDR_RANDOM;
eth_random_addr(dev->dev_addr);
}

现在mac地址每次上电都会改变。

离线

楼主 #4 2019-12-14 08:25:31

BMN李
会员
注册时间: 2018-03-22
已发帖子: 71
积分: 61

Re: 以太网mac地址设置为随机,会影响联网吗?

晕哥 说:

随机数的种子是什么?如果种子一样那么就不随机了哦,

还有,有些交换机/路由器会限制 mac地址的前缀,所以不是任何一个mac地址都可以。

你固定前面三个字节,后面三个字节随机试一试。

设备在我们这边是正常的,在用户那边有问题。不可能一直让用户去去做测试,想考虑全面点然后尽可能一次搞定。

离线

#5 2019-12-14 08:26:01

nuvoton
会员
注册时间: 2019-06-17
已发帖子: 59
积分: 59

Re: 以太网mac地址设置为随机,会影响联网吗?

https://github.com/torvalds/linux/blob/master/include/linux/etherdevice.h

/**
 * eth_random_addr - Generate software assigned random Ethernet address
 * @addr: Pointer to a six-byte array containing the Ethernet address
 *
 * Generate a random Ethernet address (MAC) that is not multicast
 * and has the local assigned bit set.
 */
static inline void eth_random_addr(u8 *addr)
{
	get_random_bytes(addr, ETH_ALEN);
	addr[0] &= 0xfe;	/* clear multicast bit */
	addr[0] |= 0x02;	/* set local assignment bit (IEEE802) */
}

用 linux 的接口调用的, 感觉冲突应该比较少才对哦。

离线

#6 2019-12-14 08:31:32

我思故我在
会员
注册时间: 2019-09-03
已发帖子: 244
积分: 243.5

Re: 以太网mac地址设置为随机,会影响联网吗?

也有可能是一些网络设备限制了某些MAC地址.

离线

#7 2019-12-14 08:34:37

xgui
会员
注册时间: 2019-09-07
已发帖子: 224
积分: 224

Re: 以太网mac地址设置为随机,会影响联网吗?

用不了了具体是什么情况?没有获取到IP地址/网关吗?能不能用其他电脑ping通?客户换个端口试一试?

或者是网线问题呢, 或者是 10/100/1000Mbps兼容问题

在家里冥思苦想是没有意义的, 现场的问题千奇百怪。

离线

楼主 #8 2019-12-14 15:49:30

BMN李
会员
注册时间: 2018-03-22
已发帖子: 71
积分: 61

Re: 以太网mac地址设置为随机,会影响联网吗?

我思故我在 说:

也有可能是一些网络设备限制了某些MAC地址.

你是说设置了黑白名单或者ip和mac地址绑定什么的人为操作?

离线

楼主 #9 2019-12-14 15:53:29

BMN李
会员
注册时间: 2018-03-22
已发帖子: 71
积分: 61

Re: 以太网mac地址设置为随机,会影响联网吗?

xgui 说:

用不了了具体是什么情况?没有获取到IP地址/网关吗?能不能用其他电脑ping通?客户换个端口试一试?

或者是网线问题呢, 或者是 10/100/1000Mbps兼容问题

在家里冥思苦想是没有意义的, 现场的问题千奇百怪。

获取不到ip,开启了dhcp的。路由器、交换机都试了都不行。网线在其他联网设备上是可以用的。这个兼容问题不确定。

现在就是想找到大概的可能性,好一一排查。

离线

#10 2019-12-14 15:57:11

firstman
会员
注册时间: 2019-04-06
已发帖子: 279
积分: 279

Re: 以太网mac地址设置为随机,会影响联网吗?

BMN李 说:

获取不到ip,开启了dhcp的。路由器、交换机都试了都不行。网线在其他联网设备上是可以用的。这个兼容问题不确定。

现在就是想找到大概的可能性,好一一排查。

那试一试动态mac, 静态给一个固定IP, 看是否可以联网。

如果可以联网,说名很可能是因为发不出去 广播/组播包, 导致无法用 dhcp获取ip地址,因为dhcp是基于 广播/组播的。

有些网络管得严,什么组播广播全禁用了,还分割成vlan,情况复杂着呢。

最近编辑记录 firstman (2019-12-14 15:57:45)

离线

楼主 #11 2019-12-14 22:52:30

BMN李
会员
注册时间: 2018-03-22
已发帖子: 71
积分: 61

Re: 以太网mac地址设置为随机,会影响联网吗?

firstman 说:

那试一试动态mac, 静态给一个固定IP, 看是否可以联网。

如果可以联网,说名很可能是因为发不出去 广播/组播包, 导致无法用 dhcp获取ip地址,因为dhcp是基于 广播/组播的。

有些网络管得严,什么组播广播全禁用了,还分割成vlan,情况复杂着呢。

如果mac地址改用固定的呢?

离线

楼主 #12 2019-12-16 19:40:37

BMN李
会员
注册时间: 2018-03-22
已发帖子: 71
积分: 61

Re: 以太网mac地址设置为随机,会影响联网吗?

解决了。是硬件的问题。连不上网络的是1000M网,100M的没问题。就是那个clk串联电阻太大了,gmac的 clk  rxclk txclk。信号幅度被销掉了,改成0R 立马就好了。牺牲网速的话,也可以软件上改,dts里设置max-speed=100。

离线

#13 2019-12-16 19:53:02

nuvoton
会员
注册时间: 2019-06-17
已发帖子: 59
积分: 59

Re: 以太网mac地址设置为随机,会影响联网吗?

BMN李 说:

解决了。是硬件的问题。连不上网络的是1000M网,100M的没问题。就是那个clk串联电阻太大了,gmac的 clk  rxclk txclk。信号幅度被销掉了,改成0R 立马就好了。牺牲网速的话,也可以软件上改,dts里设置max-speed=100。

感谢分享, 看来以后研发部要配一台有 1Gbps口的路由器.

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn