Just compiled new kernel 3.1.1 last weekend for i586 arch and works perfectly on my axioo notebook. All hardware working as I expected and stable enough since I already use it for 4 days without any fuss. Suspend and hibernate also perfectly running well and can wake up ethernet and my iwl-5100 without difficulties. Also, the intel graphics card on this notebook quite working more happy and snappier without any stuttering during using kwin plasma desktop effects. this is very good.
I’m not including the complete 3rd party kernel drivers at this time and also the aufs patch so I cannot remaster for some time being until I can find some free time. maybe next weekend or in the airport lounge because I have flight schedule next monday, along with bfs patch and pae kernel. Just recently, I miss the flight and since then I always come one hour earlier before boarding and gives me more time on airport lounge to do something else … but yeah, of course if only i brought my i7 notebook, not this axioo notebook because the battery sucks and cannot complete the compile within an hour. 😀
The only problem after using this 3.1.1 kernel although not too mission critical is the net_applet not showing the network connection status accurately. The icon status on the taskbar stay inactive although I can browse the internet and reading my email. 🙂 This problem has also appeared in kernel 2.6.39 if I remember correctly, but it works fine on kernel 2.6.38 and below.
Yesterday, I have time to investigate this, and it seems at this 3.x series kernel mapped the network routes that goes to /proc/net/routes output in reversed.
[root@jfklixs-domain ~]# cat /proc/net/route Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT eth0 00000000 050D0A0A 0003 0 0 0 00000000 0 0 0 eth0 000D0A0A 00000000 0001 0 0 0 00FFFFFF 0 0 0 lo 0000007F 00000000 0001 0 0 0 000000FF 0 0 0 eth0 0000FEA9 00000000 0001 0 0 1002 0000FFFF 0 0 0 eth0 000AA8C0 00000000 0001 0 0 0 00FFFFFF 0 0 0 [root@jfklixs-domain ~]#
eth0 00000000 should be listed at last, not on first, thus network::tools::get_routes() cannot read it and net_applet see the network as down whereas it’s up.
I’m not doing perl programming so looking for patch at mageia bugzilla (thanks tv 🙂 ) and creating my own patch :
--- lib/network/tools.pm.orig 2011-11-01 22:13:45.588528869 +0700 +++ lib/network/tools.pm 2011-11-01 22:19:30.689503038 +0700 @@ -263,7 +263,12 @@ sub get_routes() { my %routes; - foreach (cat_("/proc/net/route")) { + # jfdesign - fix reading routes on both older and newer kernels (2.6.39+) + #foreach (cat_("/proc/net/route")) { + my @routes = cat_("/proc/net/route"); + require bootloader; + @routes = reverse(@routes) if bootloader::cmp_kernel_versions(c::kernel_version(), "2.6.39") >= 0; + foreach (@routes) { if (/^(S+)s+([0-9A-F]+)s+([0-9A-F]+)s+[0-9A-F]+s+d+s+d+s+(d+)s+([0-9A-F]+)/) { if (defined $3) { $routes{$1}{gateway} = hex($3) ? host_hex_to_dotted($3) : $routes{$1}{network} } if (defined $2) { $routes{$1}{network} = host_hex_to_dotted($2) }
I name it as net_applet-routes-fix.diff and place it as Patch12 on spec file
Patch12: net_applet-routes-fix.diff
%patch12 -p0
rebuild the rpm and now the net_applet show correctly for both of my kernel.