RK3288 android 7.1.2 使用CPU Serial固定USB以太网MAC地址

diff --git a/kernel/drivers/net/usb/r8152.c b/kernel/drivers/net/usb/r8152.c
old mode 100644
new mode 100755
index 2bb336c..4213617
--- a/kernel/drivers/net/usb/r8152.c
+++ b/kernel/drivers/net/usb/r8152.c
@@ -26,6 +26,7 @@
 #include <linux/mdio.h>
 #include <linux/usb/cdc.h>
 #include <linux/suspend.h>
+#include <asm/system_info.h>
 
 /* Information for net-next */
 #define NETNEXT_VERSION		"08"
@@ -649,6 +650,21 @@ enum tx_csum_stat {
 	TX_CSUM_NONE
 };
 
+int eth_mac_from_system_serial(u8 *addr)
+{
+	if (system_serial_low != 0 && system_serial_high != 0) {
+		printk("[eth]Create an address from the system serial number.\n");
+		addr[0] = (system_serial_high >> 24) & 0xfe;/* clear multicast bit */
+		addr[1] = (system_serial_high >> 16) | 0x02;/* set local assignment bit (IEEE802) */
+		addr[2] = system_serial_low >> 24;
+		addr[3] = system_serial_low >> 16;
+		addr[4] = system_serial_low >> 8;
+		addr[5] = system_serial_low;
+		printk("#############%s: ------------%pM\n",__func__,addr);
+	}
+	return 0;
+}
+
 /* Maximum number of multicast addresses to filter (vs. Rx-all-multicast).
  * The RTL chips use a 64 element hash table based on the Ethernet CRC.
  */
@@ -1048,6 +1064,7 @@ static int set_ethernet_addr(struct r8152 *tp)
 		netif_err(tp, probe, dev, "Invalid ether addr %pM\n",
 			  sa.sa_data);
 		eth_hw_addr_random(dev);
+		eth_mac_from_system_serial(dev->dev_addr);
 		ether_addr_copy(sa.sa_data, dev->dev_addr);
 		ret = rtl8152_set_mac_address(dev, &sa);
 		netif_info(tp, probe, dev, "Random ether addr %pM\n",

技术交流群: 微信号

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 7.1.2(也被称为Nougat)是Android操作系统的一个版本,它的源代码是公开可用的。源码包含了构建和运行Android操作系统所需的所有代码文件和资源。 Android操作系统是一个基于Linux内核的开源平台,用于移动设备和嵌入式系统。它提供了一个统一的操作系统环境,使开发者能够轻松地构建和定制自己的Android设备。 Android 7.1.2源码提供了一套开发工具和框架,使开发者能够创建功能丰富、稳定和安全的应用程序。该版本中引入了一些新的功能和改进,例如通知栏的增强、多任务处理的改进、Doze模式的优化等,以提供更好的用户体验。 通过查看源代码,开发者可以深入了解Android操作系统的内部工作原理,并理解其中的各个组件和模块是如何相互协作的。例如,开发者可以研究Android的用户界面框架、应用程序生命周期管理、通信和存储机制等。 修复和优化Android 7.1.2源码也是可能的,因为它是开源的。开发者可以根据自己的需求和想法对操作系统进行修改,并参与到Android社区中,与其他开发者分享和贡献代码。 总之,Android 7.1.2源码为开发者提供了一个定制和构建Android应用的平台。通过深入了解源码,开发者能够创建出更加出色和创新的应用程序,同时也有机会参与到Android开源社区中,为整个生态系统的发展做出贡献。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值