maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   MeeGo / Harmattan (https://talk.maemo.org/forumdisplay.php?f=45)
-   -   [Announce] kernel-plus for Harmattan (https://talk.maemo.org/showthread.php?t=86543)

juiceme 2013-11-14 09:25

Re: [Announce] kernel-plus for Harmattan
 
Quote:

Originally Posted by pishta74 (Post 1386187)
I'm not using it as a dumb-phone, neither being a sceptic, just asking how it looks "at a glance". I don't really need "just" a phone with a different file system or iptables support. Wouldnt have anytnig against that 3.x kernel though ;)
Thanks

OK :), but basically what I said stands, there's no visible difference to the normal phone usage. Usually kernel features are something that you need extra functionality/applications to make use of.

Let's take a small steps at a time, and eventually (after a long time and huge workload ) a 3.x version might emerge :D

Props for Hurrian to do the hard part, I'm just enjoying being along for the ride....

nieldk 2013-11-14 09:33

Re: [Announce] kernel-plus for Harmattan
 
Quote:

Originally Posted by juiceme (Post 1386194)
props for hurrian to do the hard part, i'm just enjoying being along for the ride....

+1 :) ...............

Hurrian 2013-11-14 13:33

Re: [Announce] kernel-plus for Harmattan
 
The newest build (first post) has been updated with CONFIG_WL12XX_SDIO_TEST=m.

/lib/modules/2.6.32.61-plus has also been pre-depmodded to avoid help thread user posts.

USB Ethernet client drivers, have been disabled - USB Host support on N9/50 looks like it's nonexistent, so to trim some fat, I'm removing them from the kernel image (some of them look like they're set to =y. Yikes!)

I'd also appreciate some "lsmod" dumps from N9 and N950s of different hardware revisions - pastebin them and PM them to me! I suspect some more drivers from Harmattan device prototypes still have configs enabled inside rm581_defconfig.

The source patches will be updated soon enough - I think I may have resolved the build errors encountered when CONFIG_OPPTIMIZER is enabled. Give me some more time.

That aside, as a dev I normally don't ask for contributions, but you may have heard about Typhoon Haiyan - the storm has pretty much smashed a large part of the more southern part of my country, and hundreds of thousands are in dire need of support rebuilding after the devastation. I'd appreciate it if you can put a beer or two's worth of $LC_MONETARY toward charities part of the relief efforts ;)

juiceme 2013-11-15 13:28

Re: [Announce] kernel-plus for Harmattan
 
Quote:

Originally Posted by Hurrian (Post 1386338)
The source patches will be updated soon enough - I think I may have resolved the build errors encountered when CONFIG_OPPTIMIZER is enabled. Give me some more time.

Thanks, I can confirm that now the patches compile cleanly ;)

nieldk 2013-11-17 13:53

Re: [Announce] kernel-plus for Harmattan
 
Could you please patch power kernel with these :)

OK, to get packet injection complete (mac80211 module), and to speedup injection, we need two patches to kernel/net/wireless/chan.c and kernel/net/mac80211/tx.c

Fix negative (-1) channel:
apply this patch to kernel/net/wireless/chan.c

Code:

diff --git a/net/wireless/chan.c b/net/wireless/chan.c
index b01a6f6..09d979b 100644
--- a/net/wireless/chan.c
+++ b/net/wireless/chan.c
@@ -49,9 +49,12 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
 {
        struct ieee80211_channel *chan;
        int result;
+        struct wireless_dev *mon_dev = NULL;
 
-        if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR)
+        if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) {
+                mon_dev = wdev;
                wdev = NULL;
+        }
 
        if (wdev) {
                ASSERT_WDEV_LOCK(wdev);
@@ -76,5 +79,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
        if (wdev)
                wdev->channel = chan;
 
+        if (mon_dev)
+                mon_dev->channel = chan;
+
        return 0;
 }


Speedup injection
apply this patch to kernel/net/mac80211/tx.c

Code:

diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 0855cac..221bed6 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -677,11 +677,19 @@ int tid;
 
        /*
          * Packet injection may want to control the sequence
-        * number, if we have no matching interface then we
-        * neither assign one ourselves nor ask the driver to.
+        * number, so if an injected packet is found, skip
+        * renumbering it. Also make the packet NO_ACK to avoid
+        * excessive retries (ACKing and retrying should be
+        * handled by the injecting application).
+        * FIXME This may break hostapd and some other injectors.
+        * This should be done using a radiotap flag.
          */
-        if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR))
+        if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) &&
+          !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) {
+                if (!ieee80211_has_morefrags(hdr->frame_control))
+                        info->flags |= IEEE80211_TX_CTL_NO_ACK;
                return TX_CONTINUE;
+        }
 
        if (unlikely(ieee80211_is_ctl(hdr->frame_control)))
                return TX_CONTINUE;


juiceme 2013-11-17 18:18

Re: [Announce] kernel-plus for Harmattan
 
I'm on the road now but unless Hurrian is quicker to respond I'll patch those when I get home :)

Hurrian 2013-11-17 22:37

Re: [Announce] kernel-plus for Harmattan
 
Patched, new kernel released ;)

This release includes major changes - see the first post for details!

We are slowly approaching equivalency to 2.6.34 series...

jalyst 2013-11-18 05:55

Re: [Announce] kernel-plus for Harmattan
 
Excellent efforts everyone! @Hurrian, how's your hand nowadays? :)

www.rzr.online.fr 2013-11-18 07:40

Re: [Announce] kernel-plus for Harmattan
 
Is there a git repo somewhere of kernel to track ?

Hurrian 2013-11-18 11:40

Re: [Announce] kernel-plus for Harmattan
 
Quote:

Originally Posted by jalyst (Post 1387193)
@Hurrian, how's your hand nowadays? :)

Healed up just fine - a bit of scarring, but it's a lesson ;)

Quote:

Originally Posted by www.rzr.online.fr (Post 1387208)
Is there a git repo somewhere of kernel to track ?

I think I'll add K+ v4 to my Github - it'll be there soon enough, once I diff and tag everything up nicely.

It's on GH - if anyone wants code added, you can fork it and send a pull request, or send me a patchfile.

The code on GitHub is ever-so-slightly newer than K+ 20131118, nothing major enough to warrant a new build though.

By the way, is /anyone/ working on getting a new GCC on top of Scratchbox? We'd eventually want to build the kernel in Thumb-2 mode, shrinking it by ~25% (2.6MB -> 1.9MB)


All times are GMT. The time now is 21:20.

vBulletin® Version 3.8.8