Many users of Nokia770 claim that the device work unstable as LinuxMCE Orbiter. The Orbiter crashes very often, especially on Video screen. So, I decided to make a brief research to make device more stable. Here is a few suggestions.
- Apply WLAN memory corruption bugfix.
It’s well-known bug long time ago but it was fixed just in the latest OS2007HE. There is a package which can also apply WLAN memory corruption bugfix. To check if your device is ok run following command:
dmesg | grep CX3110x
The output should be similar to this:
Unloaded CX3110x driver, version 0.8
CX3110x chip variant: STLC4370
CX3110x: firmware version: 126.96.36.199.a.13.14
Loaded CX3110x driver, version 0.8.1-bug2006-fix1
- Enable swap.
In the most of the cases when the Orbiter crashes there is no enough memory for the application. You can increase it by adding swap. Go to Control Panel –> Memory and chose tab ‘Virtual’. You find there an information about available memory on the MMC card, box to activate swap and the list of offered sizes. Tick the box, chose appropriate size and press ‘Ok’. Swap will be created on the MMC card and system starts to use it. Note: before remove the MMC card you should deactivate swap!.
In my test the Orbiter works stable with swap 48Mb. It didn’t crash on the Video screen at all.
- Use seat belt.
Seat belt is a small script for Nokia770 which changes the way memory is allocated making more use of caches and swap. As result it prevents crashes of the browser and other programs.
- Using access point with support WLAN Power Save Mode.
Nokia770 uses Power Save Mode to save energy. If access point doesn’t support that mode properly the device can loose physical connection – Connection Manager may show high quality signal but device is not accessible from LAN.
That what Nokia770 owners can do to make their devices more stable. From my side I have to profile the Orbiter application, find the memory leak places and fix them together with Chris. The fist step is already done. Next version of the Orbiter will use 16bit SDL surface instead of 32bit. It also should improve performance and stability of the application.