IP address

matt_damon
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.

Andreas
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

Juni
Hi,

How did you configure it?

seeedo
In Qtopia: FriendlyARM -> Network Settings

stereo_m
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?

matt_damon
I am not sure about linux but it can be changed in registry for WINCE

bob
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

stereo_m
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;
}

gonzalop
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?