2012-11-11 21:49:07

by Maxim Mikityanskiy

[permalink] [raw]
Subject: Re: Need help with RTL8187SE staging driver

(I'm sorry, mailing list rejected my previous letter, I'm resending)

Hello,

I've decided to refactor and improve rtl8187se kernel driver from
staging directory, because it is buggy and lacks some features. It
causes full system freeze after resume from suspend, there are some
typos in interrupt handler that affect logic, it causes OOPS when
rmmoding, it has not rfkill support, it uses private ieee80211 stack
etc.

I'm writing to you, because your address is mentioned in
drivers/staging/rtl8187se/TODO file. Also I'm CCing to linux-wireless
mailing list in hope that there are people that could also help me.

You can clone git repository with modified driver source code here:
[email protected]:gentoo_root/
rtl8187se-staging.git. At first, I've removed some non-vital features
and dead code from original driver in order to simplify code. Then
I've fixed some bugs and created more clear structure of code. For
now, I did not fully follow Linux kernel coding style, there are lots
of long lines, and I hope to fix that later.

The last commit 84fa3ebfbb2a15ddbe160f4cd9ebfb6f8762750c was a try to
get rid of private ieee80211 stack and to replace it with in-kernel
mac80211. I've done minimal changes in driver to make it use mac80211.
But I faced a problem. After that commit I'm unable to connect to
wireless network. Here is syslog from insmod to rmmod:
http://paste.ubuntu.com/1351816/. Before that commit all things
worked. Also, I've tried to modify kernel rtl8180 driver to make it
work with rtl8187se NIC, but I had the same problem. When I added some
debug output, I saw that rtl8187se_tx() is called after every auth
try, then I saw timeout message, and after that there were three TX OK
interrupts.

Please help me to find source of this problem and to deal with it. I'm
stuck here and I have no idea what causes it.

Thanks in advance,

Maxim Mikityanskiy


2012-11-12 17:55:30

by Maxim Mikityanskiy

[permalink] [raw]
Subject: Re: Need help with RTL8187SE staging driver

2012/11/12 Greg Kroah-Hartman <[email protected]>:
> On Sun, Nov 11, 2012 at 11:48:46PM +0200, Maxim Mikityanskiy wrote:
>> (I'm sorry, mailing list rejected my previous letter, I'm resending)
>>
>> Hello,
>>
>> I've decided to refactor and improve rtl8187se kernel driver from
>> staging directory, because it is buggy and lacks some features. It
>> causes full system freeze after resume from suspend, there are some
>> typos in interrupt handler that affect logic, it causes OOPS when
>> rmmoding, it has not rfkill support, it uses private ieee80211 stack
>> etc.
>>
>> I'm writing to you, because your address is mentioned in
>> drivers/staging/rtl8187se/TODO file. Also I'm CCing to linux-wireless
>> mailing list in hope that there are people that could also help me.
>>
>> You can clone git repository with modified driver source code here:
>> [email protected]:gentoo_root/
>> rtl8187se-staging.git. At first, I've removed some non-vital features
>> and dead code from original driver in order to simplify code. Then
>> I've fixed some bugs and created more clear structure of code. For
>> now, I did not fully follow Linux kernel coding style, there are lots
>> of long lines, and I hope to fix that later.
>
> Why not send patches for this so we can get your cleanups and other dead
> code removal changes into the tree to make your further changes easier?
>
> thanks,
>
> greg k-h

I'm preparing some patches now, and they will be ready soon. They will
only contain some bug fixes and unused code removal. I can't commit
all of my changes, because it will remove some features such as power
management etc. I wanted to refactor vital code at first, and then
re-add missing features, but I'm stuck with switch to mac80211.

Really, it would be better and easier to fully rewrite that driver
from scratch using mac80211, skb queues and more clear structures
similar to the ones used in rtl8180 driver. I tried this way too, but
I faced the same problem with authentication timeouts. So I can't
continue my work unless I find a solution. That's why I'm asking for
help.

2012-11-12 00:20:41

by Greg KH

[permalink] [raw]
Subject: Re: Need help with RTL8187SE staging driver

On Sun, Nov 11, 2012 at 11:48:46PM +0200, Maxim Mikityanskiy wrote:
> (I'm sorry, mailing list rejected my previous letter, I'm resending)
>
> Hello,
>
> I've decided to refactor and improve rtl8187se kernel driver from
> staging directory, because it is buggy and lacks some features. It
> causes full system freeze after resume from suspend, there are some
> typos in interrupt handler that affect logic, it causes OOPS when
> rmmoding, it has not rfkill support, it uses private ieee80211 stack
> etc.
>
> I'm writing to you, because your address is mentioned in
> drivers/staging/rtl8187se/TODO file. Also I'm CCing to linux-wireless
> mailing list in hope that there are people that could also help me.
>
> You can clone git repository with modified driver source code here:
> [email protected]:gentoo_root/
> rtl8187se-staging.git. At first, I've removed some non-vital features
> and dead code from original driver in order to simplify code. Then
> I've fixed some bugs and created more clear structure of code. For
> now, I did not fully follow Linux kernel coding style, there are lots
> of long lines, and I hope to fix that later.

Why not send patches for this so we can get your cleanups and other dead
code removal changes into the tree to make your further changes easier?

thanks,

greg k-h