ath5k/madwifi status on samsung q1

Amit Kucheria amit.kucheria at canonical.com
Tue Oct 21 21:15:40 UTC 2008


https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/284354

Hi,

So the issue here is that -mobile team is upset that a newer ath5k
cannot be shipped in the default kernel. As the above bug points out,
the AR2424 chip in the samsung is showing the following
characteristics:

- works with madwifi [only wep works since the wpasupplicant module
for madwifi was removed?]
- does not work with in-kernel ath5k
- works with ath5k from linux-backports-modules (LBM) [full
functionality including WPA]

Contention point ---> Mobile team would like ath5k from LBM to be
integrated into our kernel.

Why updating in-kernel ath5k is not so easy?
------------------------------------------------------

1. Here is a `git diff --stat --numstat` for the difference between
the two version of ath5k. As you can see [1] it is quite large.

2. And the above diff doesn't even compile with our kernel. Because it
needs updated headers like include/linux/mac80211.h
These headers have unfortunately modified fields in the core data
structures such as:
    struct ieee80211_tx_info
    struct ieee80211_bss_conf

3. So now, if we copy these headers over, every other wifi driver
except ath5k breaks.

4. Only way to fix (3) is to update every wireless driver in the
kernel to that in LBM. Then we probably enable some hardware and cause
regressions in others.

Solution for -mobile
-----------------------
1. Install LBM by default
    - risk of regression if kernel-team adds something else to LBM
2. Blacklist ath5k in the -mobile image
    - madwifi will work with WEP
    - mobile images will break for eee pc users

Any other possibilities that I might have missed?

Regards,
Amit


[1] Diffstat
 drivers/net/wireless/ath5k/Makefile   |   12 +-
 drivers/net/wireless/ath5k/ath5k.h    |  619 +++++++++++++--------
 drivers/net/wireless/ath5k/attach.c   |  359 ++++++++++++
 drivers/net/wireless/ath5k/base.c     |  581 ++++++++++----------
 drivers/net/wireless/ath5k/base.h     |   10 +-
 drivers/net/wireless/ath5k/caps.c     |  193 +++++++
 drivers/net/wireless/ath5k/debug.c    |    4 +-
 drivers/net/wireless/ath5k/desc.c     |  692 ++++++++++++++++++++++
 drivers/net/wireless/ath5k/desc.h     |  332 +++++++++++
 drivers/net/wireless/ath5k/dma.c      |  605 ++++++++++++++++++++
 drivers/net/wireless/ath5k/eeprom.c   |  466 +++++++++++++++
 drivers/net/wireless/ath5k/eeprom.h   |  215 +++++++
 drivers/net/wireless/ath5k/gpio.c     |  176 ++++++
 drivers/net/wireless/ath5k/initvals.c |   22 +-
 drivers/net/wireless/ath5k/pcu.c      | 1014 +++++++++++++++++++++++++++++++++
 drivers/net/wireless/ath5k/phy.c      |   12 +-
 drivers/net/wireless/ath5k/qcu.c      |  488 ++++++++++++++++
 drivers/net/wireless/ath5k/reg.h      |  679 +++++++++++++---------
 drivers/net/wireless/ath5k/reset.c    |  931 ++++++++++++++++++++++++++++++
 19 files changed, 6591 insertions(+), 819 deletions(-)

10      2       drivers/net/wireless/ath5k/Makefile
389     230     drivers/net/wireless/ath5k/ath5k.h
359     0       drivers/net/wireless/ath5k/attach.c
290     291     drivers/net/wireless/ath5k/base.c
3       7       drivers/net/wireless/ath5k/base.h
193     0       drivers/net/wireless/ath5k/caps.c
2       2       drivers/net/wireless/ath5k/debug.c
692     0       drivers/net/wireless/ath5k/desc.c
332     0       drivers/net/wireless/ath5k/desc.h
605     0       drivers/net/wireless/ath5k/dma.c
466     0       drivers/net/wireless/ath5k/eeprom.c
215     0       drivers/net/wireless/ath5k/eeprom.h
176     0       drivers/net/wireless/ath5k/gpio.c
9       13      drivers/net/wireless/ath5k/initvals.c
1014    0       drivers/net/wireless/ath5k/pcu.c
8       4       drivers/net/wireless/ath5k/phy.c
488     0       drivers/net/wireless/ath5k/qcu.c
409     270     drivers/net/wireless/ath5k/reg.h
931     0       drivers/net/wireless/ath5k/reset.c




More information about the kernel-team mailing list