Then I discovered that removing the top cover of my case improved the situation. Now it would reboot after 10 minutes to half an hour. When I played a movie however it didn't last more than a couple of minutes.
Then I discovered that Xbian by default overclocks the system. I restored the defaults and still with the top cover removed it didn't crash anymore. It could now play a 50 minute video repeatedly without difficulties.
In the meanwhile I had installed watchdog. When I put the top cover back on the case my RPi would reboot every 15 to 20 minutes, while being idle in the XBMC home screen and still with the default overclock values. I has also added my own script to track the CPU/GPU temperature when my unit crashed. It fluctuated between 42C and 45C. Here is the script that I configured in crontab to run every minute:
Code: Select all
#!/bin/bash
CURRENT_TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
UPTIME=`cat /proc/uptime | awk '{print $1}' | awk 'BEGIN {FS="."} {print $1}'`
TIME=`date +%s`
BOOT_TIMESTAMP=$(($TIME - $UPTIME))
BOOT_TIME=`date -d @$BOOT_TIMESTAMP +"%d-%m-%Y_%H-%M"`
PREVIOUS_TEMP_FILE=~/log/temp_log_${BOOT_TIME}.previous
TEMP_FILE=~/log/temp_log_${BOOT_TIME}
if [ ! -d ~/log ]
then
mkdir ~/log
fi
if [ -f $TEMP_FILE ]
then
mv -f $TEMP_FILE $PREVIOUS_TEMP_FILE
fi
echo $CURRENT_TEMP > $TEMP_FILE
This is the Xbian config.txt:
Code: Select all
arm_freq=840
core_freq=375
disable_overscan=1
gpu_mem_256=100
gpu_mem_512=100
sdram_freq=400
over_voltage=0
Code: Select all
arm_freq=700
core_freq=250
disable_overscan=1
gpu_mem_256=100
gpu_mem_512=100
sdram_freq=400
over_voltage=0