Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: MAC ADDRESS being reported at 0000000

25 views
Skip to first unread message

KM

unread,
Aug 13, 2004, 1:00:44 PM8/13/04
to
Emmanuel,

Did you network driver get successfull installed?
Check our FBAlog and SetupAPI log files.
Also check Device Manager if you happen to include it in the image.

KM

> We have succesfully build an image for a standard PC platform, the only
> problem being that the IPCONFIG /all reports that the MAC address is
0000000,
> which is obviosuly not the case.
>
> Any idea what could cause this ?


Emmanuel Gonnet

unread,
Aug 13, 2004, 3:29:02 PM8/13/04
to
It seems everything else is fine as we can actually use the network in the
lab, I'll check the logs soon.

KM

unread,
Aug 13, 2004, 4:19:28 PM8/13/04
to
Emmanuel,

Just FYI...

There is another utility in XPe Repository: getmac.exe. You can use it to see the MAC addresses (doesn't fix your IPConfig issue,
though).

You can include the tool into your image either manually, or copy though your component or TD Extra Files option, or through "Server
Command Line Tools" component.

--
Regards,
KM, BSquare Corp.

Emmanuel Gonnet

unread,
Aug 13, 2004, 4:43:03 PM8/13/04
to
OK, we found as well a tool to edit the MAC address, does XPe converts
(remap) the phyisical address ? Maybe there is a configuration that would
allow XPe to auto-detect the physical address as opposed to making it blank
by default ?

KM

unread,
Aug 13, 2004, 5:32:11 PM8/13/04
to
Emmanuel,

Not sure I understand your message below.
In any case, you can enumerate adapter and use GetAdaptersInfo to get the hardware address info.

Or even through a sending ARP request (SendARP).
Here is a short sample code for you from MSDN:

//
// Link with ws2_32.lib and iphlpapi.lib
//

#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <iphlpapi.h>


int __cdecl main()
{
HRESULT hr;
IPAddr ipAddr;
ULONG pulMac[2];
ULONG ulLen;

ipAddr = inet_addr ("192.168.25.31");
memset (pulMac, 0xff, sizeof (pulMac));
ulLen = 6;

hr = SendARP (ipAddr, 0, pulMac, &ulLen);
printf ("Return %08x, length %8d\n", hr, ulLen);

size_t i, j;
char * szMac = new char[ulLen*3];
PBYTE pbHexMac = (PBYTE) pulMac;

//
// Convert the binary MAC address into human-readable
//
for (i = 0, j = 0; i < ulLen - 1; ++i) {
j += sprintf (szMac + j, "%02X:", pbHexMac[i]);
}

sprintf (szMac + j, "%02X", pbHexMac[i]);
printf ("MAC address %s\n", szMac);

delete [] szMac;

return 0;

Emmanuel Gonnet

unread,
Aug 16, 2004, 8:53:02 AM8/16/04
to
Thanks KM, we;ll try this.
What I meant was if a program can read the MAC address properly, what would
prevent IPCONFIG to do the same, aren'they both using the same system call
through a win32 API ?

Slobodan Brcin (eMVP)

unread,
Aug 16, 2004, 9:50:02 AM8/16/04
to
Hi Emmanuel,

I have no idea what is that you want to accomplish. Do you want to make IPConfig work?
Or you need a way to read physical MAC address.

There is not a single Win32 API call for this.
There is one thread on similar matters that illustrate how same thing can be done using different API's and technologies.

Anyhow if you want to read hardware MAC value that can be done trough WMI or by sending OID_802_3_PERMANENT_ADDRESS to network
adapter minidriver.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/network/hh/network/23ethoid_3784184a-5f52-4c1a-b510-c7da2299b871.xml.asp

Address resolution protocol is too high in food chain to give you accurate info since it shows MAC address that is currently used on
the network.
This address can be changed in BIOS or Windows and it represent current MAC address that can be obtained as
OID_802_3_CURRENT_ADDRESS.

Actual "translation" is done in hardware itself as well in higher level protocols. (For instance IP address is directly translated
to MAC address)
On receipt of packed adapter must be aware which MAC address is in use so it accept only current MAC address and not the hardware
one.

Best regards,
Slobodan

"Emmanuel Gonnet" <Emmanue...@discussions.microsoft.com> wrote in message
news:8D97C93C-5324-4FF7...@microsoft.com...

Emmanuel Gonnet

unread,
Aug 16, 2004, 10:07:03 AM8/16/04
to
Thanks Slobodan,

We do not really have a problem with IPConfig reporting a bad MAC address,
our true problem is that the XPe image does not seem to be supported by some
DHCP server or wireless routers. What we think is that some of those
equipements use the MAC address as an identifier so they do not work when the
address is reproted as null. An XP Pro/2000 OS seems to be OK on the same
hardwar,e so we are wondering how we could have the XPe exhibit the same
behaviour (detecting and reporting a valid MAc address) and not have to worry
with some post clonig edition.

Thanks for your help.

Slobodan Brcin (eMVP)

unread,
Aug 16, 2004, 11:01:29 AM8/16/04
to
Hi Emanuel,

This problem should not be related to MAC addresses. (Unless all of your devices use same MAC number).
MAC address can't be null and it always have some value (usually unique number worldwide).

Connect device to some computer ping them and use arp -a to see MAC number associated with your device. (You will see 6 byte number
that is not null)

Best regards,
Slobodan

"Emmanuel Gonnet" <Emmanue...@discussions.microsoft.com> wrote in message

news:FA4BDC4A-2B22-4A9C...@microsoft.com...

C.@discussions.microsoft.com Sorin C.

unread,
Aug 16, 2004, 2:11:02 PM8/16/04
to
Well,

I tried to use arp -a and got no result (from command line).
Anyway, for the same computer on Win 2000 Pro if I run "ipconfig /all" I get
the MAC address, while in XPe it shows only zeroes and the computer cannot
access the network. For now the work around is to manually set the MAC
address like 00 00 00 00 00 01. Upon doing this the computer can "see" the
network, but this is not a desired solution. Either XPe has a bug or I missed
some tiny component involved in this.

Emmanuel Gonnet

unread,
Aug 16, 2004, 2:37:04 PM8/16/04
to
Thanks all , we have apparently found the problem: We verified the driver as
you recommended and AOpen has indeed release a new driver that corrects the
issue. It means the component database of the XPe development kit needs to be
upgraded.

Thanks for you help/recommendations

Slobodan Brcin (eMVP)

unread,
Aug 16, 2004, 2:48:25 PM8/16/04
to
Hi Emmanuel,

Glad to hear that.

> It means the component database of the XPe development kit needs to be upgraded.

Not exactly. It means that you should know that component database maintained by MS trough QFE's is related to MS drivers and
binaries only. All other drivers are generic ones or with reduced functionality, and you should always make components by yourself
from new drivers or try to find them on third party sites like www.xpefiles.com

Best regards,
Slobodan

"Emmanuel Gonnet" <Emmanue...@discussions.microsoft.com> wrote in message

news:7FC291EB-8CCB-43D8...@microsoft.com...

Slobodan Brcin (eMVP)

unread,
Aug 16, 2004, 2:58:11 PM8/16/04
to
Hi Sorin,

I meant that you should use arp on computer that is connected trough network to computer with XPe, but now it is not important.

Unfortunately Konstantin, me and others usually assume that you are using same drivers on XPe as you would on XP Professional. (It
rarely occur to us that someone did not do that)
There are no tiny or not tiny components involved in this problem.
There is a hardware (Which you have tested from Win2000 and it is working).
There is a NDIS driver/minidriver pair that is used for driving particular network adapter. (This is usually third party driver
solution).
If you write pure program (driver) that executes in kernel space it can trough NDIS interface use and access network, so there are
no other components needed. (I have written such beast for our company purposes).

So as you have seen it was a driver problem, and make sure that you don't stumble on similar problems with other hardware
components.

Best regards,
Slobodan

"Sorin C." <Sorin C.@discussions.microsoft.com> wrote in message news:90AEF4E6-7E67-447A...@microsoft.com...

Sorin C.

unread,
Sep 9, 2004, 5:19:03 PM9/9/04
to
Just one more detail in case someone else runs into the same problem.
The NIC card was a onboard SIS 900 PCI. There are 3 (three) components in
XPe with this name that were added to the build. However when I updated the
build with the new driver from AOpen I noticed one more component in
Component Designer: "Integrated 10/100 Ethernet Controler"
Maybe missing this one makes the MAC Address all zeros.

Thanks and Best regards.

"Slobodan Brcin (eMVP)" wrote:

> Hi Emmanuel,
>

0 new messages