Hello All, I have configured the IP address to be dynamic. However, when I have multiple MINI2440 devices connected to the network, the IP address for them is same! I am not sure why the DNS is not providing unique IP address to each of them? I restarted and did everything I could think of but still does not work.
IP address
Cause the DHCP Server is given the IP Addresses based on the MAC Address of the Ethernet PHY of the board .... all boards have the same MAC Addresses if they where shipped. Solution give every of your mini2440 a unique MAC-Address. Yours Andreas
Can someone explain how to change MAC adress? Does it need to be compiled in the linux kernel or u-boot? Where (in what file) should I change it before compiling? I have tried to change MAC adress in U-boot with "set ethaddr 08:00:2f:00:00:02" and saveenv, but after changing I can't find the eth0 interface anymore. If I change it back to what it was before, it works fine again. I am running Debian Lenny armel on my mini2440, and I have also tried to change MAC in lenny, with: ifconfig eth0 down hw ether 00:00:00:00:00:01 ifconfig eth0 up But that didn't help, the MAC was according to ifconfig still the same as selected in U-boot. I would like to have the changed MAC also after reboot so I have also tried to add "hwaddress ether 02:01:02:03:04:08" to the file /etc/network/interfaces, but that also didn't help. I have used real MAC adresses from my old not-in-use network cards so the adress type should be right, if that matters. So what is the right way to change MAC?
That is because someone very kindly HARD CODED the mac address The "correct" way to use a mac address is to have an attached EEPROM to the network chip, but that costs money. Mac addresses are supposed to be unique for any given manufacturers encoding. you will find it in : drivers/net/dm9000x.c
Can you explain how to edit the MAC adress from the u-boot/drivers/net/dm9000x.c file? I can't find the mac adress in the file, is it in some other format or what? Or is it possible to edit it in Debian? Is it here? What should I edit? /* Initilize dm9000 MAC, without reset */ int eth_set_mac(bd_t * bd) { int i,oft; printf("MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", bd->bi_enetaddr[0], bd->bi_enetaddr[1], bd->bi_enetaddr[2], bd->bi_enetaddr[3], bd->bi_enetaddr[4], bd->bi_enetaddr[5]); /* fill device MAC address registers */ for (i = 0, oft = DM9000_PAR; i < 6; i++, oft++) DM9000_iow(oft, bd->bi_enetaddr[i]); for (i = 0, oft = 0x16; i < 8; i++, oft++) DM9000_iow(oft, 0xff); /* read back mac, just to be sure */ for (i = 0, oft = 0x10; i < 6; i++, oft++) DM9000_DBG("%02x:", DM9000_ior(oft)); DM9000_DBG("\n"); return 0; }
I'm also having problems changing the mac adress. I think I need to change it in u-boot settings before compiling, but I might be wrong?? Where in drivers/net/dm9000x.c should it be changed? I can't find anything that looks like an mac adress in that file?