红联Linux门户
Linux帮助

linux2.6.x at91rm9200启动无法识别MAC的BUG解决方法

发布时间:2007-07-25 00:22:43来源:红联作者:DominSer
在移植linux2.6.13和2.6.20版本的时候,发现了9200在启动时无法识别到MAC的BUG。在网友dandan的帮助下解决了该问题。现在将该问题的解决方法告诉大家:

源码修改/linux2.6.20/
drivers/net/arm/at91_ether.c作以下修改
static void __init get_mac_address(struct net_device *dev)
{
static char def_mac[]={0x00,0x15,0xf2,0x9d,0x66,0x80};
/* Check SpecificAddress
1 */
if (unpack_mac_address(dev,
at91_emac_read(AT91_EMAC_SA1H),at91_emac_readAT91_EMAC_SA1L))
)
return;
/* Check SpecificAddress
2 */
if (unpack_mac_address(dev,
at91_emac_read(AT91_EMAC_SA2H),
at91_emac_read(AT91_EMAC_SA2L))
)
return;
/* Check SpecificAddress
3 */
if (unpack_mac_address(dev,
at91_emac_read(AT91_EMAC_SA3H),
at91_emac_read(AT91_EMAC_SA3L))
)
return;
/* Check SpecificAddress
4 */
if (unpack_mac_address(dev,
at91_emac_read(AT91_EMAC_SA4H),
at91_emac_read(AT91_EMAC_SA4L))
)
return;
memcpy(dev>dev_addr,&def_mac,6);return;
printk(KERN_ERR "at91_ether: Your bootloader did not configure a MAC address.\n");
}
文章评论

共有 0 条评论