cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
16632
Views
23
Helpful
17
Replies

init>> prompt on 2802i Access Point

LeroyW
Level 1
Level 1

Hello,

we have a 2802i AP that keeps booting into init>> prompt:

init>>

Please choose one of the following boards:
1. 3K
2. 2K (new)
3. 2K (proto)
4. Milos
5. 2KH
6. 3KVE (v-sku)
7. 3KH/3KA/4K
8. Duplo
init>>

 If I select 2. 2K (new) the AP boots normally and functions as expected (joins Controller, etc.). But after reload, power-cycle and even mode-button-reset it keeps getting stuck at the init>> prompt.

 

After some poking around in u-boot, I noticed that the board_env variables are not set:

u-boot>> dump_board_env
SF: Detected S25FL032P with page size 64 KiB, total 4 MiB
Board env is unconfigured
u-boot>>

Compared that to a working AP (same model):

u-boot>> dump_board_env
SF: Detected S25FL032P with page size 64 KiB, total 4 MiB
Board ID: 2K
Flags=00000000
EM Ignore: 0
EM Blacklist : pid=00000000, mask=00000000
EM Whitelist : pid=00000000, mask=00000000
u-boot>>

 

How do we set this on the faulty AP? 

I see no option to set this, only to clear (via clear_board_env).

As a side note, where is the documentation on u-boot?

Is TAC/RMA the only option left here? I would very much like it if we were able to fix this ourselves.

 

1 Accepted Solution

Accepted Solutions

the bootloader version should not be affected. 

at this point i cannot help further i would need an AP to test more and check on the command i gave you. 

Open a TAC SR so we can book and AP and help you further. 

Saludos,
Rafael - TAC

View solution in original post

17 Replies 17

patoberli
VIP Alumni
VIP Alumni
This is not documented publicly.
I once had a similar issue and I somewhere posted the solution in this forum, but I currently can't find it.
Can you enter the command set and post the result?
I'm fairly sure that was the command to show the configured variables. One of them is wrong and needs to be corrected.
But an RMA is probably quicker, you anyway have 10 years of warranty on them.

Here are the boot variables:

u-boot>> printenv
BOOT=part1
CASset=max
ENABLE_BREAK=1
FACTORY_RESET=0
MALLOC_len=5
MANUAL_BOOT=0
MEMORY_DEBUG=0
MPmode=SMP
autoload=yes
baudrate=9600
bootcmd=nandboot
bootdelay=3
cacheShare=no
disaMvPnp=no
eeeEnable=no
enaClockGating=no
enaCpuStream=no
enaFPU=yes
enaMonExt=no
enaWrAllo=no
eth1addr=00:50:43:4a:31:3e
eth1mtu=1500
eth2addr=00:50:43:4a:a0:3e
eth2mtu=1500
ethact=egiga2
ethaddr=00:50:43:a0:31:3e
ethmtu=1500
ethprime=egiga2
fdt_high=0x2000000
image_name=part.bin
initrd_high=0xffffffff
led=80
limit_dram_size=yes
loadaddr=0x02000000
loads_echo=0
mtddevname=fs
mtdids=nand0=armada-nand
mtdparts=mtdparts=armada-nand:1m(oops),1m(reserved),-(fs)
nandEcc=nfcConfig=4bitecc
netretry=yes
partition=nand0,2
pcieTune=no
pexMode=RC
stderr=serial
stdin=serial
stdout=serial
yuk_ethaddr=00:00:00:EE:51:81

Environment size: 886/65532 bytes

 I already compared these to a working AP and they seem to be the same.

Rafael E
Cisco Employee
Cisco Employee

This issue was seen on AP with very old bootloader version. I am talking about 3/4 years ago. 

None of the new units should have this problem.

 

You can configure correctly the AP by doing the following: 

At U-boot CLI, do: “progpid 2k”

 

Above should fix the problem 

Saludos,
Rafael - TAC

Thanks for the reply, but the command is not accepted:

u-boot>> progpid 2k
Unknown command 'progpid' - try 'help'
u-boot>>

u-boot version

u-boot>> version
U-Boot 2013.01-gacaad15 (Aug 18 2019 - 20:12:19) SDK version: 2015_T2.0p10
arm-openwrt-linux-uclibcgnueabi-gcc (OpenWrt GCC 4.7.1 r48430) 4.7.1
GNU ld (GNU Binutils) 2.24.0

 Do you have any other suggestions?

I do see the following commands available:

u-boot>> help
? - alias for 'help'
boardinit- Downlod and execute board initialization script
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
bootz - boot Linux zImage image from memory
bubt - bubt - Burn an image on the Boot flash device.

clear_board_env- Clears board env
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
crc32 - checksum calculation
date - get/set/reset date & time
dhcp - boot image via network using DHCP/TFTP protocol
dump_board_env- Dump board env
dump_emserial- Dump EM unique serial number
echo - echo args to console
editenv - edit environment variable
env - environment handling commands
exit - exit script
false - do nothing, unsuccessfully
fdt - flattened device tree utility commands
go - start application at address 'addr'
help - print command description/usage
i2c - I2C sub-system
iminfo - print header information for application image
ir - ir - reading and changing MV internal register values.

itest - return true/false on integer compare
mtdparts- define flash/nand partitions
mtest - simple RAM read/write test
nand - NAND sub-system
nandboot- boot Linux from NAND partition
nboot - boot from NAND device
netboot - boot Linux from network using TFTP/bootp
nfs - boot image via network using NFS protocol
nm - memory modify (constant address)
pci - list and access PCI Configuration Space
pciePhyRead- phyRead - Read PCI-E Phy register

pciePhyWrite- pciePhyWrite - Write PCI-E Phy register

phyRead - phyRead - Read Phy register

phyWrite- phyWrite - Write Phy register

phy_fw_down_to_ram- phy_fw_down - Downloads x3220/3310 Ethernet transceiver PHY firmware to ram. Use .hdr file.

phy_fw_down_to_spi- phy_fw_down - Downloads x3220/3310 Ethernet transceiver PHY firmware to spi. Use .hdr as app and .bin file as slave

phy_type- phy_type - Return PHY type at port index

ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
prog_emblacklist- Program EM blacklist
prog_emcookie- Download and program EM cookie
prog_emeeprom- Program EM EEPROM with raw binary data
prog_emignore- Program EM ignore
prog_emserial- Program EM unique serial number
prog_emwhitelist- Program EM whitelist
prog_flags- Program board env flags
prog_phyfw- Download and program PHY firmware
rcvr - rcvr - Start recovery process (with TFTP server)

reset - Perform RESET of the CPU
resetenv- resetenv - Erase environment sector to reset all variables to default.

run - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv - set environment variables
sf - SPI flash sub-system
showvar - print local hushshell variables
sleep - delay execution for some time
source - run script from memory
temp - temp - Display the device temperature.

test - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true - do nothing, successfully
ubi - ubi commands
ubifsload- load file from an UBIFS filesystem
ubifsls - list files in a directory
ubifsmount- mount UBIFS volume
ubifsumount- unmount UBIFS volume
verify_bl- Cisco Bootloader signature verify
verify_lx- Cisco Image signature verify
version - print monitor, compiler and linker version
whoAmI - - reading CPU ID

Based on your reply, those stick out to me:

prog_emblacklist- Program EM blacklist
prog_emcookie- Download and program EM cookie
prog_emeeprom- Program EM EEPROM with raw binary data
prog_emignore- Program EM ignore
prog_emserial- Program EM unique serial number
prog_emwhitelist- Program EM whitelist
prog_flags- Program board env flags
prog_phyfw- Download and program PHY firmware

But I see nothing related to the Board ID value.

Try to reset it: resetenv
With some luck it works.
Found also my old post! :)
https://community.cisco.com/t5/other-wireless-mobility-subjects/2802i-flashing-green-solution/td-p/3046307
But it doesn't seem to be the same problem source, so yeah, TAC the AP. Then you should have the new one on Monday.

Forgot to mention, that I already tried that. The values I posted above are default values. 

 

In any case, it seems to me that board selection happens before the bootloader is started, so changing any of the bootloader environment variables will likely have no effect - at least in this case.

resetenv will reset only the environmental variable which can be modified using setenv and nothing more. we need to understand the AP IOS bit more.

can you attach the whole boot up messages from AP console?

I am confined to home so i do not have an AP to compare the uboot version you previously sent. 

Saludos,
Rafael - TAC

Sure, I attached it as txt since it's quite a bit of output.

 

Just for your information, the AP is currently only connected to a switch for power.

edit: and I again chose 2 at the init>> prompt

the bootloader version should not be affected. 

at this point i cannot help further i would need an AP to test more and check on the command i gave you. 

Open a TAC SR so we can book and AP and help you further. 

Saludos,
Rafael - TAC

Hi Rafael,

 

i am stuck in the boot process too:

 

Seems to be the partition table ist lost. Or something like that. Do you have an idea to fix?

 

Board configuration:
| port | Interface | PHY address |
|--------|------------|--------------|
| egiga1 | SGMII | 0x01 |
| egiga2 | SGMII | 0x00 |
Net: , egiga1, egiga2 [PRIME]
Hit ESC key to stop autoboot: 0
mtdids not defined, no default present
Error initializing mtdparts!
Error: Unable to ubi mount mtd device fs
u-boot>>

I have got the Partitions ID from another one copy:

 

device nand0 <armada-nand>, # parts = 3
#: name size offset mask_flags
0: oops 0x000000100000 0x000000000000 0
1: reserved 0x000000100000 0x000000100000 0
2: fs 0x00000fe00000 0x000000200000 0

active partition: nand0,2 - (fs) 0x00000fe00000 @ 0x000000200000

 

But how do I get this into the AP? 

Replace (RMA) it, you still have warranty on it. They come with a limited lifetime warranty:

https://www.cisco.com/c/en/us/products/collateral/wireless/aironet-2800-series-access-points/datasheet-c78-736497.html


the progpid is a command to set the board id which is what we need to do but this command will not work in 4800 and above. it will work anything less of 4800. basically this sets the board id environment value which will be used by u boot and i am also strukling to find in 4800 how to set. i have the command but its asking file to download and program. i am not sure what file we need to download a kind of cfg file and so on and i am bit clueless. any thoughts will be highly appreciated.

Review Cisco Networking for a $25 gift card