5-openwrt-one mac地址读取与写入

mac地址作为一个路由器的基础信息,需要确保工厂写入唯一的mac地址到路由器指定位置,网卡从指定位置读取mac进行使用。

openwrt的做法是专门开辟了一个factory分区,将mac地址写在该分区,后面以太网eth或者无线wireless的驱动,都从factory分区读取mac地址,进行对应的转换操作。

1、有线网卡eth读取mac地址

代码位于.\drivers\net\ethernet\mediatek\mtk_eth_soc.c,如下:

可以看到通过of_get_ethdev_address函数读取dts中“mediatek,eth-mac”节点的mac地址。

static int mtk_probe(struct platform_device *pdev)
{
   ...
    for_each_child_of_node(pdev->dev.of_node, mac_np) {
		if (!of_device_is_compatible(mac_np,
					     "mediatek,eth-mac"))
			continue;

		if (!of_device_is_available(mac_np))
			continue;

		err = mtk_add_mac(eth, mac_np);
		if (err) {
			of_node_put(mac_np);
			goto err_deinit_hw;
		}
	}
	...
}

static int mtk_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Creator_Ly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值