On Sun, Jun 26, 2022 at 1:25 PM Gregory Nutt <spudan...@gmail.com> wrote: > > Sounds like nothing is calling netinit_bringup(). Normally this is part > of the console initialization: > > nsh_altconsole.c: netinit_bringup(); > nsh_consolemain.c: netinit_bringup(); > nsh_telnetd.c: netinit_bringup(); > nsh_usbconsole.c: netinit_bringup(); > > So perhaps it is not called in this configuration? > > netinit_bringup() starts the monitor thread that brings up the network, > including the DHCP interactions. Is the netinit pthread running? > > There are lots of other possibilities: Does the driver have a MAC address?
Thanks for the reply. Update: I now believe CONFIG_NETINIT_THREAD_PRIORITY was too low. By default it is set to 80. In the debugger, in netinit_bringup(), I manually bumped sparam.sched_priority all the way up to 250 and now the network configuration seems to run. I tried such a high value just for testing but I think it should be lower than that for real usage. I wonder what task with a priority higher than 80 was preventing netinit_thread() from running? Seems like a deadlock situation where something else is waiting for the network to come up, but it doesn't because netinit_thread() never gets a chance to run. This also explains why I had trouble hitting a breakpoint in netinit_thread(). There was nothing wrong with the debugger; rather that function never got a chance to run due to priorities... Thoughts? Cheers, Nathan