Page 1 of 1

Maverick - samsung-wireless conflicts with in-kernel driver

Posted: 02 Nov 2010, 22:13
by mikebl71
Hi
Trying to upgrade to Maverick.
Now, that's an odd thing. For some time now, the ubuntu kernel contained a driver for Realtek 8192 wireless card (although in the "staging" folder) called "r8192_pci". It was kind of there not being useful and not causing harm to anybody.
Now, I installed kernel 2.6.35-22-generic (~ppa1~loms~maverick) and the in-kernel driver seems to have been renamed to "r8192e_pci". Ie the same name as used by the driver from "samsung-wireless". So when I boot up and load "r8192e_pci" (as I used to), it is actually the driver from the staging area that gets loaded (I can see a warning in dmesg) and wireless does not work.
As a temporary workaround, I renamed the driver in "samsung-wireless" to "r8192e_pci_realtek" and it works now.

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 05 Nov 2010, 14:12
by rogerdean
Hi there
Sounds good - can you pls tell us exactly how you did this, so we can reproduce?
Many thanks
Roger

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 07 Nov 2010, 23:22
by mikebl71
Ok, I did the following:

sudo -i
mv /lib/modules/$(uname -r)/kernel/drivers/net/wireless/r8192e_pci.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/r8192e_pci_realtek.ko
sed --in-place 's/r8192e_pci/r8192e_pci_realtek/' /usr/lib/pm-utils/sleep.d/99r8192e_pci
sed --in-place 's/r8192e_pci/r8192e_pci_realtek/' /etc/modules

(although this is just a workaround, we'd need something more permanent, like for voRia to rename the his module, or for kernel folks to rename theirs)

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 08 Nov 2010, 02:15
by voria
New 'samsung-wireless' is on the repository now. ;)

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 08 Nov 2010, 11:23
by rogerdean
Many thanks to all.

Just a heads up - the updated samsung-wireless still isn't picking up the card in my N130 (maverick clean install). But isn't it weird how, just using the install iso, wireless functions flawlessly right through the install procedure. Until reboot... ???

Anyway, if there's anything I can do to help track down any problems just let me know

Cheers
Roger

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 22 Nov 2010, 22:58
by mikebl71
Btw, voRia,
do you by any chance know who is maintaining the in-kernel (staging) driver for rtl8192e ?
It seems to be the general consensus here that the in-kernel driver does not work
while the realtek one (used by samsung-wireless) does. So maybe you could talk to the lads and ask them to replace their driver with the realtek version.
I personally don't mind using the samsung-wireless package, but I thought that one of the goals of Ubuntu is to be as user-friendly and works-out-of-the-box as possible.
From this point of view it would be great if the ubuntu kernel worked with the realtek network cards straight away without the need for any additional packages.
What do you think?

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 28 Nov 2010, 18:33
by mikebl71
jowyta :
However, what we could really do with is the built in kernel drivers working properly,
then they would be available for everyone. We seem to be getting progress in that direction.
I have just tried a 2.6.36 kernel with the 3 firmware files obtained using Debian's
firmware-realtek package (though you can probably get these files from anywhere,
they always seem to be identical). The wifi works but I am getting continuous kernel
messages which will probably end up making the log files so big that something stops working.
For me, the in-kernel driver doesn't work even in the latest kernel. (When I boot, it connects only in about 75% cases and doesn't reconnect after suspend/resume at all.)

We can surely fix it but, to be honest, what I don't understand is why do we need to spend time fixing it, if the realtek driver works perfectly. So wouldn't it be easier to find the maintainer of the in-kernel driver and convince him to switch to the realtek one entirely? So everyone can get it not as additional package but as a standard kernel driver.

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 28 Nov 2010, 19:19
by jowyta
Hello mikebl71

As I understand it the situation is that the Realtek driver is an out of tree driver, that is it is not part of the Linux kernel. However, it has to work with the Linux kernel, so it has to be compiled from source code to work with the particular version of the kernel. Presumably in Ubuntu you get a particular kernel image (compiled kernel, e.g. with Maverick) and voRia has helpfully packaged a version of the driver that is compiled to work with this kernel.

However, everybody else (including me) who uses different compilations of the kernel has to compile a version of the driver to use. Even with Ubuntu you have to install the samsung-wireless package.

If, on the other hand, the driver in the kernel worked none of us would have any of this to do. Those people who use kernel modules would have the module automatically available. Those, like me, who do not and compile our own kernels simply have to make sure that CONFIG_RTL8192E=y is in our kernel .config file.

See:
https://bugzilla.kernel.org/show_bug.cgi?id=16594
A similar discussion here:
http://driverdev.linuxdriverproject.org ... 09998.html
and the work being done by these people:
http://www.linuxdriverproject.org/foswiki/bin/view

John

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 29 Nov 2010, 11:15
by mikebl71
Hi jowyta,
Actually, I entirely agree with you.
Maybe I wasn't clear enough.
What I was trying to say is that, ideally, I want the reltek driver to become part of the Linux kernel
(instead of the RTL8192E driver that is currently there). Then everyone can benefit from it.
Imho, the guys who are maintaining the RTL8192E driver in the current linux kernel (currently in the staging area, at least in the ubuntu image) have two options:
1) fix their driver, presumably with our help, as I guess it works for them
2) scrap it and take the realtek driver.
And imho, option 2 is the best one. Unless there are some licensing issues (that I am not aware of) I don't see any reason to spend time fixing a broken driver if there is a perfectly working one available.
So if anyone reading this thread knows the guys working on the RTL8192E driver in the linux kernel, maybe you could put some pressure on them.
A similar discussion here:
http://driverdev.linuxdriverproject.org ... 09998.html
That was me actually ;) . Trying to push it in several lists. No response from the kernel folks though :(

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 29 Nov 2010, 21:35
by jowyta
Hi mikebl71

I think it is not as simple as that. It is not "a driver". If you look inside rtl8192e_linux_2.6.0015.1013.2010 you will find a lot of files needed to compile and set up the driver. So although you end up with a r8192e_pci.ko
module that is, I think, the main part of the driver there is a lot else that gets installed to use it. In particular, this installation seems to make use of HAL, which I understand is currently being deprecated in favour of udev.

However, I do not think that the in kernel driver is that far off working. If, as they do, the kernel developers know that the rtl8192e_linux_2.6.0015.1013.2010 works they may be able to do some comparison to see what they need to tweak. On the other hand, it may be something that they have already fixed in 2.6.36.1 (the version from Debian that I have used is an earlier one). They seem to have done something to the watchdog procedures that may be causing the problem.
That was me actually ;) . Trying to push it in several lists. No response from the kernel folks though :(
There have been a couple of responses now, including one from Greg KH, who seems to be one of the key developers.

John

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 05 Dec 2010, 21:48
by nb30
mikebl71 wrote: For me, the in-kernel driver doesn't work even in the latest kernel. (When I boot, it connects only in about 75% cases and doesn't reconnect after suspend/resume at all.)
That sounds like exactly what I'm experiencing (I have to rmmod and then modprobe the r8192e_pci every time I re-open the netbook to get WiFi back) so I guess I'm using the in-kernel driver.

This must be because I'm using a different, slightly older, kernel (due to a hang caused by the standard Maverick kernel when you sleep the laptop) and I assume the samsung-wireless package is useless if it doesn't see a matching kernel. Something that wasn't originally obvious because the wifi was sort-of working.

So I'm off to investigate how to compile and install the realtek driver (and blacklist the in-kernel one?) to match my current kernel. I'm new to this kind of thing so if anyone has any pointers I'd be glad to hear them.

edit: well that went suprisingly well. All seems to be working so far. I followed the instructions (and used the driver) found here and the only weird bit was that I had to use "sudo su" before make and make install rather than just "sudo make" and "sudo make install" to get it to install:

http://ubuntuforums.org/showpost.php?p= ... stcount=81

Re: Maverick - samsung-wireless conflicts with in-kernel dri

Posted: 13 Dec 2010, 14:55
by jowyta
Update:
I have now tried the built in driver with kernel 2.6.37-rc5. It seems fairly stable but is still logging lots of error messages, see the kernel bug links above.