Linux Crash/Hang on Bay Trail/J1900/N2940, j1900n2940
In recent years, linux kernel, especially after 4.1, will be randomly suspended and crashed on the Bay Trail platform, and j1900 will be tested first. The crash is very frequent, and will be suspended without warning before the crash, the console does not.
This problem has been quarrelled at bugzilla.kernel.org. From the beginning of 2015 to the present, it has not been completely solved. There are several temporary solutions, but they cannot be guaranteed to work.
Summarize the solutions that may be useful after j1900 testing.
Solution 1:
Add the following to the kernel flag:
intel_idle.max_cstate=1
It is tested that it is valid on ubuntu 14.04 and 15.10, and the power consumption will slightly increase. However, it is invalid on ubuntu 16.04 and still crashes, but the interval between crashes becomes longer.
Edit/etc/default/grub and add a line:
GRUB_CMDLINE_LINUX="intel_idle.max_cstate=1"
Solution 2:
Kernel flag plus:
processor.max_cstate=1 intel_idle.max_cstate=0
Or
processor.max_cstate=1
The effect is unknown because it has not been tested for a long time. References
Solution 3:
Kernel flag:
intel_idle.max_cstate=5
Add:
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turboecho 1 > /sys/devices/system/cpu/cpu0/cpuidle/state3/disableecho 1 > /sys/devices/system/cpu/cpu1/cpuidle/state3/disableecho 1 > /sys/devices/system/cpu/cpu2/cpuidle/state3/disableecho 1 > /sys/devices/system/cpu/cpu3/cpuidle/state3/disable
Disabling state3 is in testing and the effect is unknown.
Cpuidle state does not seem to be changed after login. Permission denied is always prompted, and sudo is not supported.