Hi, I'm using mini6410 with Wince 6 and I need to change mac address because in all boards I have it is the same -> so I can't use it in the same network. I try to change Network address in HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms\NetworkAddress in BSP without success. I try also to change this value directly inside wince (via regedit) without success. In both case value is correctly saved, but MAC address used in network protocol (what I can see in my DCHP server) is always the same. Someone had solved this problem? Thanks in advance. Fred.
Mac Address Problem
Tuxerito, thanks for link, I found it where in driver source code, it is in dm9isa.cpp. -------------------------------------------- U16 eeprom[] = { 0xaae0,0dec8,0x5163}; if( uWordAddress < sizeof( eeprom ) ) return eeprom[uWordAddress]; else return 0; It is right. Run Time mac address is E0 AA C8 DE 51 63. I have changed "0xaae0,0dec8,0x5163" and build and installed to Mini6410, but it is same, not changed. Mac Address is still E0 AA C8 DE 51 63. I have searched in all driver files, but I don't find another where. Please help me. Thanks.
While i am booting xp sp3, CLIENT MAC ADDR: B8 B8 N8 B8 6F 6F GUID: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF PXE-E51: No DCHP or proxyDCHP offers were receievd PXE-M0F: Exiting PXE ROM. error occurs and system does not bypass this error. I cant able to boot the system. Kindly help me to solve this problem.
Hi..Mehmet, can you described again..how to change mac address?? thankyou for your valueable information. Dian
Apologies for reviving a dead thread. This was a problem that also bothered me for a bit. It appears that the driver attempts to load parameters from an EEPROM to the DM9000 configuration registers on startup. However, there does not seem to be such an EEPROM so the driver contained a "hack" that loaded a fixed MAC address into the DM9000 register when that particular regsier address was called. The code for this can be found in "dm9isa.cpp" under "DeviceReadEeprom". However, I would want to adjust the MAC address in the registry if possible. I found that the driver does indeed access the registry and loads the MAC address into the correct reegister on startup. This piece of caode can be found in "driver.cpp" under the function "EDriverInitialize". The actual line that seems to do this is: m_pLower->DeviceRetriveConfigurations(hconfig); However, a little after this, this line is executed: m_pLower->EDeviceLoadEeprom(); where I believe the hardcoded MAC address is then written into the DM9000 registers overriding the previous value loaded from the windows registry. To correct this, I modified the following code in "EDeviceLoadEeprom" located in "device.cpp" for(n=0;n<(DIM(m_szEeprom)/sizeof(EEPROM_DATA_TYPE));n++,pcurr++) { *pcurr = DeviceReadEeprom(n); } // of for offset n where I changed the for loop to: for(n=6;n<(DIM(m_szEeprom)/sizeof(EEPROM_DATA_TYPE));n++,pcurr++) { *pcurr = DeviceReadEeprom(n); } // of for offset n I believe this skips the first 6 bytes that contain the MAC address in the DM9000 so that it is not overwritten. Although the whole procedure seems superflous as I dont think is an eeprom to read from in the first place. This was after a lot of tinkering so I am unsure if I left anything out. Please note that this will probably set the MAC address on bootup to 00:00:00:00:00:00 if there is nothing in the Windows registry.
Hello Mltk, I changed my code snippet as you suggested. But still no luck. MAC address remains the same for all the devices. Can anybody suggest how can i change the MAC address for mini 2440 boards in windows ce platform.
There is an app 'imac.exe' that should make it possible to change the MAC for us. The app if from friendlyarm but I can't find it anywhere. Would anyone be so kind to post this app online? Thanks, Durk
In Windows CE 6.0 it's easy Change in regristy HKEY_LOCAL_MACHINE->COMM->DM9CE1->PARAMS-> SoftwareMacAdress that you want. Be sure to set to 1 UseSoftwareMac in the same Key.