Tip to improve network ready time

R

Roger Levy

I've been sniffing DHCP messages and I have a tip that I haven't seen before.
I'd appreciate if some real experts can comment on my observations.

For a networked device that you will clone you should:
1. Disable APIPA for the entire computer as described in KB244268 by adding
Extra Registry Data to your configuration.
2. Execute FBA with all ethernet cables disconnected, or more prescisely with no
DHCP server available.

If you have DHCP available during FBA your target will get a valid DHCP address
and it will "remember" this address such that after deployment every machine
will ask for this address in its initial DHCP Discover message. At best only
one machine can get the address and if the development network is different than
the deployed network, no machines are likely to be able to get that address.
See below for a comparable description of what happens in this case.

If you do not have DHCP available during deployment but you do not disable APIPA
then your target will ask for a 169.254.x.y address in its initial DHCP Discover
message. I observed the following DHCP message scenario in this case (SP2):
Client Discover with 169.254.x.y requested
Server Offer with different address
Client waits 15 seconds
Client Discover with 169.254.x.y requested
Server Offer with different address
Client waits 35 seconds
Client Discover with no specific address requested
Server Offer with an address
Client accepts address, protocol completes

This protocol sequence wastes 50 seconds before the network is ready that are
not wasted if you follow the 2 steps I recommended.

Roger
 
K

KM

Roger,

Just for my knowledge... With APIPA and DHCP enabled, does the delay on the "first ater cloning" boot occur if you do "ipconfig
/release" just before the cloning (before shutting down the machine to capture the golden image)?
 
R

Roger Levy

Please describe to me exactly how I would issue the "ipconfig /release" because
perhaps due to my relative inexperience I don't see an opportunity to do so.
When I execute FBA, my target goes through several steps such as installing
network components, installing PnP devices, registering components, etc. then it
automatically reboots. The next phase is shorter and it ends with a message box
for me to click in order to reboot and that's when I return to the development
environment to create my .sdi, etc. There is no phase of this process that
allows me to enter a command so I imagine you are referring to some optional
procedure with which I am not familiar. Maybe you are talking about allowing
the target to boot a 3rd time, executing the command, and then doing fbresal?

Roger
 
K

KM

Roger,

No, I was not referring to anything very custom but rather just a little hack during the procedure. See below..
Please describe to me exactly how I would issue the "ipconfig /release" because
perhaps due to my relative inexperience I don't see an opportunity to do so.
When I execute FBA, my target goes through several steps such as installing
network components, installing PnP devices, registering components, etc. then it
automatically reboots. The next phase is shorter and it ends with a message box
for me to click in order to reboot and

Before you click on in that box, can you launch CMD in parallel and type "ipconfig /release" there? (or use Start-->Run if it is
there)
Then, when the ipconfig and done, click OK in that message box immidiately.
I suppose the XP Network Media Sense mode is on (by default) on your image and if you give it too much time, DHCP client service
will grab new IP after 5 minutes.
 
K

KM

Roger,

If you got CMD in your image, and it sounded you did, you won't have problems running ipconfig /release from there. You will just
need to switch to the CMD window when you see the mentioned message box. When you are done with CMD and ipconfig, switch back to the
message box and press OK button there.

If you don't have ipconfig in your image, just copy it over to the image from XPe repository or add appropriate component. Likely
you have already got all the component's required dependencies in your image.
 
D

David Ditch

I'll have to try that in my image (to release the ip config).
I have a problem where when I boot two cloned images they both try to get
the last IP they had and depending on who boots up first, that one gets it
and my units keep swapping IPs.
 
R

Roger Levy

KM,
I don't see what you apparently see. I am looking at a screen right now on
a target device that has just completed FBA. The screen is light blue and
there is some branding and version text at the lower right. There are two
popup windows. One is titled "First Boot Agent" and it has an empty
progress bar labeled "Installing Components..." The other is titled
"FBReseal" and it includes the message "Machine Resealed! Click OK to
reboot" and there is an OK button. There is absolutely nothing else -- no
Start button or CMD window to switch to. So I don't know how I could
execute an "ipconfig /release" from this screen. Note that I do have CMD
and ipconfig in my configuration.

Roger
 
R

Roger Levy

Thanks for the general tip which might be useful for other purposes. It just
seems that my original suggestion of disconnecting the ethernet cable during FBA
is simpler :).

Roger
 
S

Slobodan Brcin \(eMVP\)

Roger,

Each of us must choose simpler approach based on our personal opinion, knowledge and tools available :)
In my case to disconnect device from network I must pass two rooms so I can reach computers to do that (If you wonder then yes I do
not have computers around my desk), this is only one of reasons why I tend to automate things.

Regards,
Slobodan
 
K

KM

Roger,

I am not sure why we are having this discussion. You are the one who created the image and you certainly know more about what's
included there than I do. You also have the control over what is launched (FBA phases, Reseal, Shell app, manual launch).

Forget about Start button. Can you launch CMD just before the reseal through FBA Generic Command (at a phase between 8500 and 12000)
?
 
R

Roger Levy

KM,
Excuse me but we were having this discussion because you asked me questions that
I was trying to answer. Your mail is objecting to the conversation at the same
time that it asks a question that would continue it so you've got me completely
puzzled :).

Seriously, I greatly appreciate your contributions to this group which are
especially helpful to a person like me. I consider myself an expert in my
problem domain but I will never have the time to become an expert in Windows
technology itself so dedicated NG contributors such as you are essential
resources. Nonetheless I started this thread because I thought I had found
something non-evident that might be useful and that I hadn't seen discussed
before.

As an admitted amateur I haven't gotten into the realm of FBA phases, Reseal,
Shell app, manual launch, etc. that you reference. So I described what for me
was the simplest procedure to accomplish my goal -- pull out the ethernet
cable. I'll leave it to others to decide whether my tip is valuable and whether
they want to figure out how to use these processes. I've used the beginner
tutorials as my procedural template and those procedures have presented me with
what I've described which does not include any opportunity to enter "ipconfig
/release" as you originally suggested.

Roger
Roger,

I am not sure why we are having this discussion. You are the one who created the image and you certainly know more about what's
included there than I do. You also have the control over what is launched (FBA phases, Reseal, Shell app, manual launch).

Forget about Start button. Can you launch CMD just before the reseal through FBA Generic Command (at a phase between 8500 and 12000)
?
 
K

KM

Roger,

I am sorry for my previous post if it seemed rude. I kinda forgot that I asked you the question :)

Anyway, thank you for your original tip on DHCP. It is really helpful regardless of any simplified or additional steps I suggested
later.
Frankly, I was just trying to understand more about APIPA as, in my personal experience, it did not seem to work always as stable as
I would want it to.

--
Regards,
KM

PS. I admit I would never be able to express my thoughts in such beautiful English as you just did :)
If we switched to Russian I would probably beat you but this is English NG :)
 
S

Slobodan Brcin \(eMVP\)

Roger,
As an admitted amateur I haven't gotten into the realm of FBA phases, Reseal,
Shell app, manual launch, etc. that you reference.

When you get some time you should allocate few hours in reading about starting things during the FBA. It will save you a lot time on
long runs with XPe projects .
These might sound like some heavy stuff but it is XPe elementary and it is documented in XPe product manual.

Regards,
Slobodan
 
I

IgorN

Roger,
As an admitted amateur I haven't gotten into the realm of FBA phases, Reseal,
Shell app, manual launch, etc. that you reference. So I described what for me
was the simplest procedure to accomplish my goal -- pull out the ethernet
cable.
You've got to bear in mind that some NIC drivers effectively disable the
whole IP stack when they sense no cable attached.
I must admit this DHCP thingie is a good suggestions, something to write
down for future reference :)

Igor
 
J

Jay Tanner

Igor,
As I understand this tip, it is not a problem if the IP stack is
disabled. The objective is to prevent the FBA machine from storing an
address in its registry that cloned machines will use either in an
initial Discover or Request DHCP message. This is the mechanism whereby
machines tend to get the same address from a DHCP server each time
they're booted. Either of the messages can specify a desired IP address
and the point is that a request for such an address likely cannot be
fulfilled. There seems to be retries and delays on the part of the DHCP
client if the request for the desired address is not granted. So
whether it's possible for the FBA machine to "forget" its IP addresses
via an "ipconfig /release" or whether the stack is not enabled during
FBA or whether the DHCP server is disabled or whether the ethernet cable
is unplugged probably all produce the same result. Remember however
there were two parts to this tip and the other part is to disable APIPA
via the registry.

Jay
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top