在用TI DM365平台开发时,发现reboot不起作用了。
真是奇怪。经过反复测试发现,是下面这个后台进程:
mount -t cifs //1.2.3.4/www /web/html/cifs -o user=tan,pa
它umount的timeout时间太长了,因为原本这个就是cifs server就是不正确的。cifs超时是很长的,估计是5min左右。
因此,看上去似乎reboot就无效。
在重启ipcam后,又会去mount这个错误的cifs server,所以,reboot也是不起作用的。
解决办法:
1、首先,kill 掉feed watchdog的进程sysmonitor。
2、然后再用定制的ipcam_restart()来复位ipcam。
这就是双保险,reboot如果在watchdog timeout的时间内不起作用,那watchdog也会将其复位。为了缩短这个时间,将watchdog timeout时间由60s改为30s。如果某个AP需要超过30s的等待,就必须自行feed watchdog。