After NDK stack is successfully brought up, used, and then shutdown (or reboot), subsequent attempts to bring the NDK stack back up from software fail, and can only recover with a System Reset (or power cycle).
This has been observed on stack version 2_21_02_43 and 2_21_01_38
Steps to reproduce:
- Using a C6678 EVM, load and run the client_cvmc6678l project (DHCP mode was used)
- After the NDK stack comes up and receives an IP address, connect via telnet
- Issue 'shutdown' command (or 'reboot')
- Observe NDK stack shutdown (or reboot) messages in CCS
- Do a pause, restart, and run
NDK stack initialization after a shutdown will look something like this:
<...>
Ethernet subsystem successfully initialized
Ethernet eventId : 48 and vectId (Interrupt) : 7
Verify_Init: Expected 16 entry count for gTxFreeQHnd queue 736, found 31 entries
Verify_Init: Expected 0 entry count for Queue number = 899, found 1 entries
Verify_Init: Expected 0 entry count for Queue number = 4095, found 2 entries
Warning:Queue handler Verification failed
Registration of the EMAC Successful, waiting for link up ..
Service Status: DHCPC : Enabled : : 000
Service Status: Telnet : Enabled : : 000
Service Status: HTTP : Enabled : : 000
Service Status: DHCPC : Enabled : Running : 000
00000.000 PBM_free: Invalid Packet
00000.000 PBM_enq: Invalid Packet
Above procedure repeated with reboot:
<...>
Ethernet subsystem successfully initialized
Error allocating Tx free descriptors
Tx setup failed
Error: Unable to register the EMAC
NIMUIOCTL Failed with error code: -22
<after a delay of ~60 seconds>
Service Status: DHCPC : Failed : : 000
Service Status: Telnet : Enabled : : 000
Service Status: HTTP : Enabled : : 000