![]() |
Preempt option kernel killing wireless
Hey,
Been playing around with recompiling my n810 kernel with the preempt option. Annoyingly the wireless module doesnt load. I remember seeing a 2007OS with preempt option enabled. Anyone have any experiences or suggestions about this problem?? Craig |
Re: Preempt option kernel killing wireless
I assume you recompiled just the kernel and not the modules? I would assume that cx3110x needs to be recompiled with preempt support...
|
Re: Preempt option kernel killing wireless
I'm surprised that it even works so far.
When I tried 1 year ago, it would just lock immediately and reboot. |
Re: Preempt option kernel killing wireless
What does dmesg say after you attempted to load the module?
Please let me know your experience with the preempt kernel :) |
Re: Preempt option kernel killing wireless
Sorry for the delay, work stuff got in the way. The issue appears to be a mismatch with the following modules:
[ 3.992187] umac: version magic '2.6.21-omap1 mod_unload ARMv6 ' should be '2.6.21-omap1 preempt mod_unload ARMv6 ' [ 4.031250] cx3110x: version magic '2.6.21-omap1 mod_unload ARMv6 ' should be '2.6.21-omap1 preempt mod_unload ARMv6 ' [ 10.390625] fuse: version magic '2.6.21-omap1 mod_unload ARMv6 ' should be '2.6.21-omap1 preempt mod_unload ARMv6 ' [ 19.648437] g_file_storage: version magic '2.6.21-omap1 mod_unload ARMv6 ' should be '2.6.21-omap1 preempt mod_unload ARMv6 ' [ 30.835937] JFFS2 warning: (725) jffs2_sum_write_sumnode: Not enough space for summary, padsize = -89 Anyone have some ideas on how to resolve this? Craig |
Re: Preempt option kernel killing wireless
Quote:
Quote:
|
Re: Preempt option kernel killing wireless
Well, it currently works, just without wireless support. All the other modules load fine.
|
Re: Preempt option kernel killing wireless
Hmm my suggestion is to just rename the kernel version to not being -preempt because then the versions match. At least, that is my theory. Yes, its incorrect and ugly, but it should work.
(Or recompile the modules if possible, but I think you used the config from /proc hence is not different except preempt... am I correct?) |
Re: Preempt option kernel killing wireless
IIUC, the kernel version is completely unrelated to the version magic, which is a system to ensure modules are compatible or don't load; it works by having each module have version/config info of all interfaces that it depends on. So you're not seeing any other issues with other modules that don't have code depending on the preempt option, but those four modules (and maybe others you haven't tried loading yet) do, and won't load. I think recompiling those four modules would be sufficient, but I'd rebuild them all if I was doing it, to save trouble later with any modules you haven't tested yet.
BTW, does plugging it into USB and using it as a card reader still work? I think that'll be gone too. |
Re: Preempt option kernel killing wireless
Quote:
What I have done so far: 1. Enabled preempt using make menuconfig. 2. Flashed it. 3. Replaced as much modules as I can in the initfs with the new ones compiled with PREEMPT. 4. Switched on tablet. Tablet rebooted. Enabled no-lifeguard-reset with flasher. Now tablet stays on. Now I'm Pimpin. Problem: I'm trying to recompile the cx3110x **** with the Makefile tweaked to point to my PREEMPT kernel sources instead. Instead, a lot of symbols can't be found. Here's my syslog for that: Aug 15 12:49:06 Nokia-N800-23-14 kernel: Linux version 2.6.21-omap1 (faheem@faheem-desktop) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #1 PREEMPT Fri Aug 15 11:05:30 BST 2008 Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.671875] cx3110x: Unknown symbol prism_softmac_service Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.671875] cx3110x: Unknown symbol prism_softmac_frame_rx Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.679687] cx3110x: Unknown symbol prism_softmac_frame_tx Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.679687] cx3110x: Unknown symbol prism_softmac_describe Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.679687] cx3110x: Unknown symbol frame_to_skb Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.679687] cx3110x: Unknown symbol frame_skb_alloc Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.679687] cx3110x: Unknown symbol prism_softmac_destroy Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.679687] cx3110x: Unknown symbol prism_softmac_parse_bra Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.687500] cx3110x: Unknown symbol prism_softmac_conf Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.687500] cx3110x: Unknown symbol prism_interconnect_message_query Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.695312] cx3110x: Unknown symbol skb_to_frame Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.695312] cx3110x: Unknown symbol sm_net_device Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.695312] cx3110x: Unknown symbol prism_softmac_create Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.695312] cx3110x: Unknown symbol prism_softmac_trap Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.695312] cx3110x: Unknown symbol prism_driver_frame_free Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.703125] cx3110x: Unknown symbol prism_driver_free Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.703125] cx3110x: Unknown symbol prism_interconnect_message_handle Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.703125] cx3110x: Unknown symbol prism_softmac_frame_tx_done Aug 15 12:49:07 Nokia-N800-23-14 kernel: [ 4.703125] cx3110x: Unknown symbol frame_skb_free If by somechance, I manage to fix those errors, think this will make a difference?: "Aug 15 12:52:50 Nokia-N800-23-14 kernel: [ 4.625000] umac: version magic '2.6.21-omap1 mod_unload ARMv6 ' should be '2.6.21-omap1 preempt mod_unload ARMv6 '" |
Re: Preempt option kernel killing wireless
Ok, using the idea of allnameswereout, I've compiled an PREEMPT kernel with the wireless working. But I have no way to prove it's preempt because I removed the preempt string :D
Of course, I have no way of telling if it's preempt so feel free to treat this like BS :) What I just said about the /proc thing wasn't true :). I just compiled another PREEMPT kernel with PREEMPT in the uname like normal and those proc entries were still not there. This still could be very likely a PREEMPT kernel. |
Re: Preempt option kernel killing wireless
Yes, I've used that trick before with proprietary kernel modules (IIRC NVidia kernel module didn't like the different name) while I didn't want to recompile it.
What uname returns isn't that important. It doesn't say much. For example, you could call your Linux kernel 2.6.30 if you really wanted to. You can definetely check if PREEMPT (RT) is enabled: Code:
# cat /proc/sys/kernel/kernel_preemption See this article for more in-depth details. You can also do some benchmarks. You can share how it 'feels'. This is also worth something. No NIT is the same, so if you'd share your build other people can test and/or benchmark as well. Ironially I'm not sure what kind of kernel I'm running right now, but it made the NIT a lot more responsive... uname tells me no useful information though. Case in my point for my 2nd point in this post. PREEMPT (RT) should work very well on the current NITs with OMAP2. Look here. It has been ported to Linux/ARM (OMAP) since 2005. |
Re: Preempt option kernel killing wireless
Quote:
/proc/sys/kernel/kernel_preemption does not exist on the nits when using preempt. I thought it was my versioning that may have removed it but when I flashed a proper preempt kernel (with the uname showing it was preempt), that proc entry still wasn't there. Anyway, here is my patch to enable PREEMPT and trick the versioning: http://pastebin.com/ffc8f11b EDIT: I'd try that CONFIG_PREEMPT_RT patch but it has disappeared off the internet :) |
Re: Preempt option kernel killing wireless
What a great response! The mention of using preempt rt is particularly interesting. Is anyone one else interested / going to give it a try? Once i finish this paper im writing i will give it a go, just been swamped since i made the original post.
Craig |
Re: Preempt option kernel killing wireless
Quote:
I believe the PREEMPT (RT) kernel is called linux-rt The webpage is http://rt.wiki.kernel.org The advantage of this kernel is that you can finetune the performance while it runs ;) |
Re: Preempt option kernel killing wireless
Quote:
Maybe a wiki page which contains all the kernel changes / options (with links) is a good idea? I also don't have ScratchBox installed anymore. And because there is a new version in the making I am waiting for that. But I am also willing to try Mamona... [edit]Nevermind, I think I'm using Fanoush his SDHC kernel. I used KVM to create a i386 VM, and installed SB2-beta on it... unfortunately maemo.research.nokia.com doesn't resolve...[/edit] |
All times are GMT. The time now is 17:34. |
vBulletin® Version 3.8.8