Hi,I have been in contact with Enxi Sun at Netsilicon regarding this problem and he said that this is a problem in NET+OS 5.1 initialization code. Could Netsilicon please release a patch that makes it possible to boot without an ethernet cable connected? Best Regards, Fredric M
The part that hangs is (I think) the eth_reset_mii_spec routine in eth_reset.c. This routine contains the code while(mii_negotiate()) which will loop forever if the PHY chip can’t negotiate about the link speed. I don’t know what a good solution for this is, lock the values for 10Mbit or what. The routine contains code that is commented which return error when the negotiation fails but I don’t know why they have changed. If you follow the call to the eth_reset_mii_spec more or less nothing get initiated if the negotiation returns failure so i guess you have to try negotiate at a higher level or something like that if you use that code. Either way, this problem is unacceptable so netsilicon should solve this problem.
Regarding to the message posted on 27th Aug, again i did uncomment out the while condition and run the mii_negotiate(), the waiting time is getting lesser but that’s also not a right way. I really look forward for a any message from Netsilicon. Today is 1st of September. I will note down the day until i read their message.
There is a “timeout = 100000” on line 432 under mii.c for my opinion, i think 100k is too large, we can’t wait for the code to run for 100k times before branching to the apps thread. Hence, did anybody conduct the test to get the nominal value for this “timeout”, is there any statistic data that i can refer to?