导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    【网络Tips4】关于Tina网络Wi-Fi MAC地址

    MR Series
    1
    1
    2010
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • RCfly
      三颗芋圆 LV 4 最后由 编辑

      大家好,我是三颗芋圆,始于LWIP,陷于TCP/IP,忠于80211。
      本次Tips谈谈Tina网络的MAC地址。
      目前Tina系统有多种方式可以查看Wi-Fi的mac地址。
      一.如何查看MAC地址
      1)直接使用ifconfig命令
      ifonfig是linux通用的命令,可以查看mac/ip地址,以及网卡状态,数据TX/RX的首发统计。
      ifconfig.png
      PS:初始化过程时从efuse中读取mac地址然后拷贝到一个数组中,ifconfig实际上是从数组中读取的.
      所以当我们通过某个工具写mac地址后,如果没有重新开关网卡执行ifconfig是不会更新mac地址的.

      2)通过节点读取

      root@TinaLinux:/# cat /sys/class/net/wlan0/address 
      40:53:1f:f7:6e:88
      

      3)如果是xradio系列的话,还可以查看xr_wifi.conf文件

      root@TinaLinux:/# cat /etc/wifi/xr_wifi.conf 
      40:53:1f:f7:6e:88
      root@TinaLinux:/# cat ./overlay/upper/etc/wifi/xr_wifi.conf
      40:53:1f:f7:6e:88
      

      二.XRADIO的MAC地址写入方式
      xradio系列的我司是申请了的,分配时前2个字节是一样的,然后系统会随机分配后两个字节.存在冲突的可能(概率低).
      1).从文件获取。
      2).从chipid定制。
      3).从private分区或是securestorge分区定制。
      4).可以驱动加载时带参数:insmod xr829.ko mac_addr=10:22:33:44:55:66(前面不能是11)
      PS:指令将key mac地址烧写到flash(所以内核无法直接读取)->uboot传递键值对到env.cfg->传到cmdline->kernel(driver/misc/sunxi-addr-mgt驱动解析)->具体wifi驱动解析->sysfs

      三.RTL的MAC地址处理
      RTL系列一般是固化到IC中的,如果是模组产可能没有做处理,mac地址都是同一个(所以一般需要dragonSN烧写mac地址).
      RTL8723ds:
      具体MAC address由客户提供,BT MAC offset 0x44 len 6 byte,假设value是00E04CAABBCC
      写入命令:rtwpriv wlan0 efuse_set btwmap,44,CCBBAA4CE000
      不过要提请注意,写efuse的时候一定要小心,一旦写错, IC 就可能废掉了,因为 efuse 空间有限,写满了就废掉了。
      BT efuse 空间是否写满可以通过“rtwpriv wlan0 efuse_get btableraw”判断。
      读取命令:rtwpriv wlan0 efuse_get btfmap
      Rtwpriv 常用指令:
      1). 查看efuse 内容: rtwpriv wlan0 efuse_get realmap
      2). 查看efuse剩余空间: rtwpriv wlan0 efuse_get ableraw
      3). 查看efuse对应位内容: rtwpriv wlan0 efuse_get rmap,C1,01 (读出efuse offset 0xc1 值)
      4). 写efuse 对应位内容: rtwpriv wlan0 efuse_set wmap,C1, 02 (对efuse offset 0xc1写入值: 02)
      5). mac读取: rtwpriv wlan0 efuse_get mac
      6). mac 写入: rtwpriv wlan0 efuse_set mac,00E04C123456 (后面值为对应mac address)

      1 条回复 最后回复 回复 引用 分享 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策