Skip to contentSkip to conversation

r92su: status and will it be merged anytime soon?

DISCUSSION Xose Vazquez Perez 6 participants 11 messages Nov 4, 2013

lore
Share & tools
lore
#0 lore raw
Quoted 1 line · Christian Lamparter

The issue with r92su is: The driver is ready, but it's fundamentally

                                      ^^^^^^^^
Quoted 1 line

incompatible with the rtlwifi framework and mac80211.

_anything_ is better than a staging driver.

There are distributions that don't build staging drivers.

So, please, replace and delete staging/rtl8712 with r92su.

thank you.

#1 lore raw
Quoted 7 lines · Xose Vazquez Perez
Quoted 1 line · Christian Lamparter

The issue with r92su is: The driver is ready, but it's fundamentally

                                      ^^^^^^^^
Quoted 1 line

incompatible with the rtlwifi framework and mac80211.

_anything_ is better than a staging driver.

That's still only staging quality though.

johannes

#2 lore raw
In reply to Xose Vazquez Perez
Quoted 9 lines · Xose Vazquez Perez
Quoted 1 line · Christian Lamparter

The issue with r92su is: The driver is ready, but it's fundamentally

                                       ^^^^^^^^
Quoted 1 line

incompatible with the rtlwifi framework and mac80211.

_anything_ is better than a staging driver.

There are distributions that don't build staging drivers.

As a result, they force their users to build out-of-tree drivers!

Quoted 1 line

So, please, replace and delete staging/rtl8712 with r92su.

You seem not to understand. Any new wireless driver that does not use mac80211 *must* go into staging. AFAIK, that rule is absolute, and r92su cannot go into the regular wireless tree.

If you do not like having drivers for RTL8192SU in staging, then write one that uses mac80211. You have access to as much information about the chips as anyone outside Realtek. They have no interest in doing the mac80211 version, and I have many other tasks with higher priority.

Larry

#3 lore raw
Quoted 11 lines · you
Quoted 9 lines · Xose Vazquez Perez
Quoted 1 line · Christian Lamparter

The issue with r92su is: The driver is ready, but it's fundamentally

                                       ^^^^^^^^
Quoted 1 line

incompatible with the rtlwifi framework and mac80211.

_anything_ is better than a staging driver.

There are distributions that don't build staging drivers.

Quoted 7 lines

As a result, they force their users to build out-of-tree drivers!

Quoted 1 line

So, please, replace and delete staging/rtl8712 with r92su.

You seem not to understand. Any new wireless driver that does not use mac80211 *must* go into staging. AFAIK, that rule is absolute, and r92su cannot go into the regular wireless tree.

Be careful ;-). mac80211 is great for softmac/umac/halfmac/semimac devices. However the rtl8712 firmware interface is fullmac-like, so it needs cfg80211. ... and r92su uses cfg80211 exclusively. There's no more WEXT or realtek ioctl legacy API support.

Regards,

Christian

#4 lore raw
Quoted 4 lines · Christian Lamparter

Be careful ;-). mac80211 is great for softmac/umac/halfmac/semimac devices. However the rtl8712 firmware interface is fullmac-like, so it needs cfg80211. ... and r92su uses cfg80211 exclusively. There's no more WEXT or realtek ioctl legacy API support.

still seems there's duplicate stuff in there like the michael MIC, at least lib80211 has that? OTOH, that's not all that much code.

johannes

#5 lore raw
Quoted 9 lines · you
Quoted 4 lines · Christian Lamparter

Be careful ;-). mac80211 is great for softmac/umac/halfmac/semimac devices. However the rtl8712 firmware interface is fullmac-like, so it needs cfg80211. ... and r92su uses cfg80211 exclusively. There's no more WEXT or realtek ioctl legacy API support.

still seems there's duplicate stuff in there like the michael MIC, at least lib80211 has that?

Yes, there is even more duplicated code if you factor in the (de-)fragmentation and deaggregation code from mac80211. Furthermore r92su could be sharing a bit of infrastructure with rtlwifi.

I didn't include lib80211 since it reports mic failures via WEXT:
wireless_send_event(dev, IWEVMICHAELMICFAILURE, &wrqu, (char *)&ev); (And I don't think this can be changed easily without touching ipw2200 and hostap-driver).

Regards,

Christian

#6 lore raw
Quoted 3 lines · Christian Lamparter

Yes, there is even more duplicated code if you factor in the (de-)fragmentation and deaggregation code from mac80211. Furthermore r92su could be sharing a bit of infrastructure with rtlwifi.

Yeah, that some of that seems to be duplicated in mwifiex too. I think there'd be some benefit in trying to share more. Maybe moving some to cfg80211? Or some new module?

Quoted 4 lines

I didn't include lib80211 since it reports mic failures via WEXT:
wireless_send_event(dev, IWEVMICHAELMICFAILURE, &wrqu, (char *)&ev); (And I don't think this can be changed easily without touching ipw2200 and hostap-driver).

Yeah that'd be tricky, though I guess you could pass a wdev pointer and allow it to be NULL or so.

johannes

#7 lore raw

As I understand it, there is a will to replace r8712u with r92su. I was thinking about it this weekend and if it is saner and nearer to where the community wants to bring the driver, why not go with it? Could we think about merging it in the staging drivers for kernel 3.13 and tag r8712u as deprecated? One could always build it or try r92su instead, which would give a better overlook about its shape and performance, don't you think?

Alexandre

Quoted 20 lines · Johannes Berg
Quoted 3 lines · Christian Lamparter

Yes, there is even more duplicated code if you factor in the (de-)fragmentation and deaggregation code from mac80211. Furthermore r92su could be sharing a bit of infrastructure with rtlwifi.

Yeah, that some of that seems to be duplicated in mwifiex too. I think there'd be some benefit in trying to share more. Maybe moving some to cfg80211? Or some new module?

Quoted 4 lines

I didn't include lib80211 since it reports mic failures via WEXT:
wireless_send_event(dev, IWEVMICHAELMICFAILURE, &wrqu, (char *)&ev); (And I don't think this can be changed easily without touching ipw2200 and hostap-driver).

Yeah that'd be tricky, though I guess you could pass a wdev pointer and allow it to be NULL or so.

johannes

#8 lore raw
In reply to Johannes Berg
Quoted 7 lines · Johannes Berg
Quoted 4 lines · Christian Lamparter

Be careful ;-). mac80211 is great for softmac/umac/halfmac/semimac devices. However the rtl8712 firmware interface is fullmac-like, so it needs cfg80211. ... and r92su uses cfg80211 exclusively. There's no more WEXT or realtek ioctl legacy API support.

Quoted 5 lines

still seems there's duplicate stuff in there like the michael MIC, at least lib80211 has that? OTOH, that's not all that much code.

johannes

FWIW I separately wrote a "rtlfmac" cfg80211 driver that, after all was said and done, looked a lot like a barebones r92su. I have been using my driver for a few weeks now and it looks like multiple people have reported success using r92su. I believe a fullmac/cfg80211 approach is completely sufficient and far superior to the mess that is rtl8712. I would be in favor of r92su replacing staging/rtl8712/.

Josh

#9 lore raw
In reply to Larry Finger
Quoted 5 lines · Larry Finger
Quoted 3 lines

_anything_ is better than a staging driver.

There are distributions that don't build staging drivers.

As a result, they force their users to build out-of-tree drivers!

reformulating: As a result, they force their users to _have a stable kernel_

Staging is only a working area. And the rtl8712-TODO is unreal:
- merge Realtek's bugfixes and new features into the driver
- switch to use LIB80211
- switch to use MAC80211
- checkpatch.pl fixes - only a few remain

Quoted 4 lines
Quoted 1 line

So, please, replace and delete staging/rtl8712 with r92su.

You seem not to understand. Any new wireless driver that does not use mac80211 *must* go into staging. AFAIK, that rule is absolute,

                                              ^^^^^^^^^^^^^^^^^^^^^
Quoted 1 line

and r92su cannot go into the regular wireless tree.

Who said that ? Then replace staging/rtl8712 with staging/r92su

Anyway, r92su is a _linux_ driver with a cfg80211 interface. staging/rtl8712 is crap?

1152k drivers/staging/rtl8712/
340k r92su/

Quoted 5 lines

If you do not like having drivers for RTL8192SU in staging, then write one that uses mac80211. You have access to as much information about the chips as anyone outside Realtek. They have no interest in doing the mac80211 version, and I have many other tasks with higher priority.

Nobody said that you have to write a rtl8712-mac80211. But right now there is a better alternative, and it should be used.

#10 lore raw
Quoted 9 lines · Xose Vazquez Perez
Quoted 5 lines · Larry Finger
Quoted 3 lines

_anything_ is better than a staging driver.

There are distributions that don't build staging drivers.

As a result, they force their users to build out-of-tree drivers!

reformulating: As a result, they force their users to _have a stable kernel_

Not all staging drivers are unstable, just as not all regular drivers are stable.

Quoted 21 lines

Staging is only a working area. And the rtl8712-TODO is unreal:
- merge Realtek's bugfixes and new features into the driver
- switch to use LIB80211
- switch to use MAC80211
- checkpatch.pl fixes - only a few remain

Quoted 4 lines
Quoted 1 line

So, please, replace and delete staging/rtl8712 with r92su.

You seem not to understand. Any new wireless driver that does not use mac80211 *must* go into staging. AFAIK, that rule is absolute,

                                               ^^^^^^^^^^^^^^^^^^^^^
Quoted 1 line

and r92su cannot go into the regular wireless tree.

Who said that ? Then replace staging/rtl8712 with staging/r92su

Anyway, r92su is a _linux_ driver with a cfg80211 interface. staging/rtl8712 is crap?

1152k drivers/staging/rtl8712/
340k r92su/

Quoted 8 lines
Quoted 5 lines

If you do not like having drivers for RTL8192SU in staging, then write one that uses mac80211. You have access to as much information about the chips as anyone outside Realtek. They have no interest in doing the mac80211 version, and I have many other tasks with higher priority.

Nobody said that you have to write a rtl8712-mac80211. But right now there is a better alternative, and it should be used.

Go ahead and submit it and remove r8712u. I would be more than happy to be able to just bitch about bugs the way other people do! :)

Larry