[c-nsp] Configuration register 0x2 sanity check

John Neiberger jneiberger at gmail.com
Thu Sep 23 01:18:55 EDT 2010


The engineer said that occasionally the 4K will boot to the first
image in flash instead of the one specified by the boot variable,
which is something our engineers have seen before. In fact, we saw it
last night, but I suspect that is because someone had the register set
to 0x2101.

I guess I really don't know why the TAC engineer was so insistent on
using 0x2 instead of 0x2102, but she was very clear on that. That's
why I wanted to see if anyone else had ever heard of that on these
switches. It's not something I had ever heard before.

Thanks!
John

On Wed, Sep 22, 2010 at 11:01 PM, Dale Shaw
<dale.shaw+cisco-nsp at gmail.com> wrote:
> Hi John,
>
> On Thu, Sep 23, 2010 at 2:13 PM, John Neiberger <jneiberger at gmail.com> wrote:
>> The engineer said that on all Cat 4K
>> devices, we should be using 0x2 as the configuration register. I told
>> her that I normally used 0x2102, but she said not to use that on these
>> switches, that 0x2 was the recommended setting on all 4K platforms.
>>
>> Does that sound right to you all? It seemed overly general to me, but
>> apparently this boot issue is a known problem and using a setting of
>> 0x2 is a reliable workaround.
>>
>> Any thoughts?
>
> Breaking it down..
>
> The configuration register contains 16 bits. The 4 least significant
> bits (bits 0-3) make up the boot field. If set your config-register to
> 0x2, you're flipping bit 1 on and leaving all other bits set to 0. All
> values from 0x2 to 0xF (inclusive) in the boot field result in the
> same behaviour.
>
> (best viewed with a fixed-width font):
>
>
>             boot
> ------------|----
> 000000000000|0000
>            |
>
> 0000 = 0x0 (does not autoboot)
> 0001 = 0x1 (boot first image in flash)
> 0010 = 0x2 (boot based on 'boot system ..' commands)
> 0011 = 0x3  |
> 0100 = 0x4  |
> 0101 = 0x5  |
> 0110 = 0x6  |
> 0111 = 0x7  |
> 1000 = 0x8  |
> 1001 = 0x9  |
> 1010 = 0xA  |
> 1011 = 0xB  |
> 1100 = 0xC  |
> 1101 = 0xD  |
> 1110 = 0xE  |
> 1111 = 0xF  V
>
> OK, so what does a config-register of 0x2102 do?
>
> 0x2102 (hex) = 0010000100000010 (binary).
>
> The 'on' bits (i.e. set to '1') are bits 13, 8, 1
>
> bit 1  = part of the boot field (as explained above)
> bit 8  = unused on cat4k
> bit 13 = determines how the router responds to a netboot failure (off
> by default)
>
> So my take on this is that you're not likely to see much of a
> functional difference between 0x2102 and 0x2 -- the important bit
> (literally!) is bit 1, which is set/on with 0x2 and 0x2102.
>
> Maybe the cat4k has some special .. features .. that make flipping
> bits 8 and 13 on a problem. Did the engineer explain why? Some
> platforms behave differently when bit 1 is flipped. The cat4k doesn't
> fall back to booting from flash, whereas other platforms do. I can see
> a problem if you had bad 'boot system' statements but aside from that,
> based on the docs, I don't see an issue.
>
> See: http://www.cisco.com/en/US/partner/docs/switches/lan/catalyst4500/12.2/52sg/configuration/guide/supcfg.html#wp1021899
>
> cheers,
> Dale
>



More information about the cisco-nsp mailing list