I.MX6 MAC Address hacking

/**************************************************************************
 *                       I.MX6 MAC Address hacking
 * 说明:
 *     本文记录I.MX6驱动是如何获取MAC地址的。
 *
 *                                  2016-6-24 深圳 南山平山村 曾剑锋
 **************************************************************************/

/*
 * initialize __mach_desc_MX6Q_SABRESD data structure.
 */
MACHINE_START(MX6Q_SABRESD, "Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board")
    /* Maintainer: Freescale Semiconductor, Inc. */
    .boot_params = MX6_PHYS_OFFSET + 0x100,
    .fixup = fixup_mxc_board,
    .map_io = mx6_map_io,
    .init_irq = mx6_init_irq,
    .init_machine = mx6_sabresd_board_init,        --------------+
    .timer = &mx6_sabresd_timer,                                 |
    .reserve = mx6q_sabresd_reserve,                             |
MACHINE_END                                                      |
                                                                 |
                                                                 |
static void __init mx6_sabresd_board_init(void)    <-------------+
{
    ......
    imx6_init_fec(fec_data);                       --------------------+
    ......                                                             |
}                                                                      |
                                                                       |
void __init imx6_init_fec(struct fec_platform_data fec_data)      <----+
{
    fec_get_mac_addr(fec_data.mac);                      ----------+
    if (!is_valid_ether_addr(fec_data.mac))                        |
        random_ether_addr(fec_data.mac);                           |
                                                                   |
    if (cpu_is_mx6sl())                                            |
        imx6sl_add_fec(&fec_data);                                 |
    else                                                           |
        imx6q_add_fec(&fec_data);                                  |
}                                                                  |
                                                                   |
static int fec_get_mac_addr(unsigned char *mac)         <----------+
{
    unsigned int value;

    value = readl(MX6_IO_ADDRESS(OCOTP_BASE_ADDR) + HW_OCOTP_MACn(0));
    mac[5] = value & 0xff;
    mac[4] = (value >> 8) & 0xff;
    mac[3] = (value >> 16) & 0xff;
    mac[2] = (value >> 24) & 0xff;
    value = readl(MX6_IO_ADDRESS(OCOTP_BASE_ADDR) + HW_OCOTP_MACn(1));
    mac[1] = value & 0xff;
    mac[0] = (value >> 8) & 0xff;

    return 0;
}
时间: 2024-10-27 08:20:44

I.MX6 MAC Address hacking的相关文章

I.MX6 recovery mode hacking

/******************************************************************************** * I.MX6 recovery mode hacking * 说明: * 看一下i.MX6 Recovery模式是怎么工作的. * * 2017-6-12 深圳 龙华樟坑村 曾剑锋 ****************************************************************************

【小错误】Device eth2 has different MAC address than expected, ignoring.

今天在搭建rac配置IP的时候报错显示如下: Device eth2 has different MAC address than expected, ignoring.[FAILED] 百度了下,问题解决. 问题原因: 配置文件里的MAC地址和真实的MAC不一样. 含有MAC信息的配置文件是/etc/sysconfig/network-scripts/ifcfg-eth0. 查看本机实际MAC的命令是 ifconfig eth0 解决办法: 查看配置文件/etc/sysconfig/netwo

Ubuntu 下,修改 Mac address

ifconfig    //    check Mac address sudo ifconfig eth0 down sudo ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx sudo ifconfig eth0 up ifconfig    //    check Mac address where is active 這方法重開機之後,會恢復原來的 Mac address

Device eth0 has different MAC address than expected, ignoring

--启动时报 Device eth0 has different MAC address than expected, ignoring --修改mac  -- ifconfig eth0  查看真实的mac   HWaddr 00:BB:BB:BB:BB:BC [[email protected]]# ifconfig eth0      Link encap:Ethernet  HWaddr 00:BB:BB:BB:BB:BC inet addr:192.168.5.109  Bcast:2

I.MX6 MAC地址修改

/*********************************************************************** * I.MX6 MAC地址修改 * 说明: * I.MX6并没有设置好默认的MAC地址,虽然有自动生成MAC地址的方法,但 * 如果出货量大的话,还是可能照成重复的,记录一下怎么设定MAC地址. * * 2016-6-24 深圳 南山平山村 曾剑锋 ****************************************************

I.MX6 U-Boot mkconfig hacking

/**************************************************************************** * I.MX6 U-Boot mkconfig hacking * 声明: * 本文主要是为了知道U-Boot中的mkconfig是如何工作的,是如何将配置 * 中的内容进行汇总,同时又将这些内容放在了什么地方. * * 2015-12-19 深圳 南山区平山村 曾剑锋 ************************************

关于获得本机Mac Address的方法

网络上有讲获得Mac address的方法有如下: 1. 发送ARP命令,利用返回的Mac Address缓冲区得到 2. 用NetworkInterface.GetAllNetworkInterfaces()获得所有网卡(包括虚拟网卡),从而获得相应的Mac address 3. 还有是从本机的注册表中获得: ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("SELECT * FR

Get MAC address using POSIX APIs

#include <stdio.h>#include <unistd.h>#include <netdb.h>#include <arpa/inet.h>#include <stdlib.h>#include <sys/ioctl.h>#include <sys/types.h>#include <sys/socket.h>#include <net/if.h> #define MAXINTERFA

?vmware虚拟机centos网络配置错误,执行/etc/init.d/network start 或 restart 提示Device eth0 has different MAC address than expected, ignoring

vmware虚拟机centos网络配置错误,执行/etc/init.d/network start 或 restart 提示Device eth0 has different MAC address than expected, ignoring 解决方法: 执行:grep -rHi eth0 /etc/udev/rules.d/ It will probably show you a file that has a udev rewrite rule for the eth0 and has