前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志芯片 Wi-Fi/BT MAC地址定制

全志芯片 Wi-Fi/BT MAC地址定制

作者头像
阿志小管家
发布2024-02-02 15:41:36
1420
发布2024-02-02 15:41:36
举报
文章被收录于专栏:全志嵌入式那些事

问题背景 很多Wi-Fi/BT模组默认出厂是不带MAC地址的,整机厂需要根据需求,烧写特定的MAC地址。

MAC地址通路 Linux-4.9后,全志平台模组MAC地址定制流程如下

在这里插入图片描述
在这里插入图片描述

系统启动后,引导程序会加载env中定义的key,并传递给cmdline和内核dts。 如果安全存储中没有mac/wifi_mac/bt_mac这几个key,或者值解析失败,我们将尝试从私有分区加载并解析这些key。在内核空间中,addr_mgt驱动程序读取cmdline或dts中与Mac相关的键,对其进行解析并导出到其他驱动程序以使用。 为了让用户空间可以访问这些地址值,创建了sysfs来保存地址值。

配置 uboot env 请确保env.cfg中有如下配置项存在:

在这里插入图片描述
在这里插入图片描述

dts dts配置参考如下

在这里插入图片描述
在这里插入图片描述

其中,type_addr_xx表示mac地址的来源,值含义如下

  • 0: 不指定类型
  • 1: 使用烧写的mac地址
  • 2: 使用chipid生成的mac地址
  • 3: 使用sysfs写入的地址
  • 其他: 不提供地址

烧写 使用全志烧号工具DragonSN或DragonKey烧写mac/wifi_mac/bt_mac到私有分区或secure storge中。合法的mac地址格式为xx:xx:xx:xx:xx:xx, x 是16禁止值,0-9,a-f。

使用

内核空间

Linux-4.9

  • 读取Wi-Fi MAC地址
代码语言:javascript
复制
int get_wifi_custom_mac_address(char *addr_str)
  • 读取BT MAC地址
代码语言:javascript
复制
int get_bt_custom_mac_address(char *addr_str)
  • 读取以太网 MAC地址
代码语言:javascript
复制
int get_eth_custom_mac_address(char *addr_str)

Linux-5.4

代码语言:javascript
复制
int get_custom_mac_address(int fmt, char *name, char *addr)

fmt: 0为str,1为16进制值 name: “wifi”、“bt”、“eth”

用户空间 可以通过sysfs文件节点访问对应值,linux-4.9下主要节点如下:

代码语言:javascript
复制
root@venus-a1:/sys/class/addr_mgt# ls -l
total 0
-rw-r--r-- 1 root root 4096 2019-01-15 17:22 addr_bt
-rw-r--r-- 1 root root 4096 2019-01-15 17:22 addr_eth
-r--r--r-- 1 root root 4096 2019-01-15 17:22 addr_type
-rw-r--r-- 1 root root 4096 2019-01-15 17:22 addr_wifi

linux-5.4下主要节点如下:

代码语言:javascript
复制
console:/ # ls -l /sys/class/addr_mgt/
total 0
-rw-r--r-- 1 bluetooth net_bt_admin 4096 2020-12-22 19:33 addr_bt
-rw-r--r-- 1 root      root         4096 2020-12-23 13:10 addr_eth
-rw-r--r-- 1 root      root         4096 2020-12-23 13:10 addr_wifi
-r--r--r-- 1 root      root         4096 2020-12-23 13:10 summary

原贴链接:https://bbs.aw-ol.com/topic/768/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档