Well, most BIOSes are not perfect, but i wish i never started the vicious circle of updating it. But i’ll return to the beginning:
009: My Wind U110 was delivered with this version and all that was wrong was that i noticec that BIOS reported false possible CPU C-States when on battery power (just C2 instead of C6 that cpu supports). But rebooting without AC adapter “solved” it.
10D: This version i downloaded as update from MSIs homepage and after some struggles to update it (finally FirmwareUpdateKit made it real easy … fuk –image /dev/sdb /tmp/biosfiles/*) i had it on my machine… and guess what… it was really disappointing. Eventhough msi fixed the C-State problem, the netbook now refused to suspend!!!
Eventhough all /sys/devices/*/power/wakeup were disabled it now wakes up immediatelly or hangs hard. Before (with version 009) it suspended fine (with just “s2ram -f”) and even had wlan (via rt2860sta module) working still fine afterwards. But now it was impossible to suspend anymore… which makes daily use of netbook really horrible imho.
So i contacted msi and after the first bothering tips if i really updated correctly they provided me the older BIOS version
10C: But this one behaved exactly like 10D in regard to suspend. So after some more mails with msi they sent me the “very” old 009 plus the version 109 and that one is interesting.
109: Here suspend works again and also C-States are reported correctly.. so all could be fine… BUT it wasn’t in all detail: Now WLAN/rt2860sta doesn’t work anymore after suspend and resume. And simply un- and reloading the module sadfully also didn’t help. There were just countless lines like this in the kernel log:
ERROR!!! BBP(viaMCU=1) read R0 fail
After some search in the net i found that this again seems to be BIOS bug happening when the wlan-module is powered off. But there is a ugly workaround for this problem on my machine.
1. make sure pciehp module is loaded with options pciehp_force=1 (which again points to a buggy bios) and also pciehp_poll_mode=1 (without this second parameter the system didn’t seem to be stable after suspend for me)
2. configure pm-utils to stop network on suspend and restart it on resume (otherwise the module cannot be unloaded) and also to unload and reload the module rt2860sta. I further changed the /etc/init.d/network script to also kill wpa_supplicant on stop action so really nobody anymore accesses the device.
If you need help for those steps feel free to contact me.
