2011-08-11 10:59:15

by Hauke Mehrtens

[permalink] [raw]
Subject: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

ath6kl is now in the kernel main area and not in staging any more.

Signed-off-by: Hauke Mehrtens <[email protected]>
---
Makefile | 1 -
config.mk | 15 +++------
patches/01-netdev.patch | 17 +++++++++--
patches/34-backport-bin_attribute.patch | 47 -------------------------------
scripts/admin-update.sh | 4 +-
5 files changed, 21 insertions(+), 63 deletions(-)
delete mode 100644 patches/34-backport-bin_attribute.patch

diff --git a/Makefile b/Makefile
index 9c95292..463a56c 100644
--- a/Makefile
+++ b/Makefile
@@ -33,7 +33,6 @@ obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/
obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/ssb/ drivers/bcma/ drivers/misc/eeprom/

ifeq ($(CONFIG_STAGING_EXCLUDE_BUILD),)
-obj-$(CONFIG_COMPAT_STAGING) += drivers/staging/ath6kl/
obj-$(CONFIG_COMPAT_STAGING) += drivers/staging/brcm80211/
endif

diff --git a/config.mk b/config.mk
index 786891d..27d4daf 100644
--- a/config.mk
+++ b/config.mk
@@ -570,24 +570,19 @@ CONFIG_IWM=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_MRVL_SDIO=m

+ifndef CONFIG_COMPAT_KERNEL_2_6_27
+CONFIG_ATH6KL=m
+# CONFIG_ATH6KL_DEBUG=y
+endif #CONFIG_COMPAT_KERNEL_2_6_27
+
ifdef CONFIG_COMPAT_STAGING
ifdef CONFIG_WIRELESS_EXT
-# CONFIG_ATH6KL_DISABLE_TARGET_DBGLOGS is not set
-# CONFIG_ATH6KL_ENABLE_COEXISTENCE is not set
-# CONFIG_ATH6KL_ENABLE_HOST_DEBUG is not set
-CONFIG_ATH6KL_ENABLE_TARGET_DEBUG_PRINTS=y
-# CONFIG_ATH6KL_HCI_BRIDGE is not set
-# CONFIG_ATH6KL_HTC_RAW_INTERFACE is not set
-# CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK is not set
-CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER=y
-CONFIG_ATH6K_LEGACY=m

CONFIG_BRCMFMAC=m

endif #CONFIG_WIRELESS_EXT
endif #CONFIG_COMPAT_STAGING

-
endif #CONFIG_MMC

CONFIG_RTLWIFI=m
diff --git a/patches/01-netdev.patch b/patches/01-netdev.patch
index f8395c8..d500584 100644
--- a/patches/01-netdev.patch
+++ b/patches/01-netdev.patch
@@ -32,6 +32,17 @@ without creating a headache on maintenance of the pathes.
net->watchdog_timeo = TX_TIMEOUT_JIFFIES;
net->ethtool_ops = &usbnet_ethtool_ops;

+--- a/drivers/net/wireless/ath/ath6kl/main.c
++++ b/drivers/net/wireless/ath/ath6kl/main.c
+@@ -1325,7 +1325,7 @@ static struct net_device_ops ath6kl_netd
+
+ void init_netdev(struct net_device *dev)
+ {
+- dev->netdev_ops = &ath6kl_netdev_ops;
++ netdev_attach_ops(dev, &ath6kl_netdev_ops);
+ dev->watchdog_timeo = ATH6KL_TX_TIMEOUT;
+
+ dev->needed_headroom = ETH_HLEN;
--- a/drivers/net/wireless/rndis_wlan.c
+++ b/drivers/net/wireless/rndis_wlan.c
@@ -3439,7 +3439,7 @@ static int rndis_wlan_bind(struct usbnet
@@ -217,7 +228,7 @@ without creating a headache on maintenance of the pathes.
wdev->netdev = ndev;
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
-@@ -836,7 +836,7 @@ struct lbs_private *lbs_add_card(void *c
+@@ -916,7 +916,7 @@ struct lbs_private *lbs_add_card(void *c
wdev->netdev = dev;
priv->dev = dev;

@@ -228,7 +239,7 @@ without creating a headache on maintenance of the pathes.
dev->flags |= IFF_BROADCAST | IFF_MULTICAST;
--- a/drivers/net/wireless/libertas/mesh.c
+++ b/drivers/net/wireless/libertas/mesh.c
-@@ -1011,7 +1011,7 @@ static int lbs_add_mesh(struct lbs_priva
+@@ -1018,7 +1018,7 @@ static int lbs_add_mesh(struct lbs_priva
mesh_dev->ieee80211_ptr = mesh_wdev;
priv->mesh_dev = mesh_dev;

@@ -256,7 +267,7 @@ without creating a headache on maintenance of the pathes.
#define LBS_DEB_LEAVE 0x00000002
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
-@@ -1230,7 +1230,7 @@ static const struct net_device_ops hwsim
+@@ -1236,7 +1236,7 @@ static const struct net_device_ops hwsim

static void hwsim_mon_setup(struct net_device *dev)
{
diff --git a/patches/34-backport-bin_attribute.patch b/patches/34-backport-bin_attribute.patch
deleted file mode 100644
index 1ca0b4d..0000000
--- a/patches/34-backport-bin_attribute.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- a/drivers/staging/ath6kl/os/linux/ar6000_drv.c
-+++ b/drivers/staging/ath6kl/os/linux/ar6000_drv.c
-@@ -317,12 +317,20 @@ static void ar6000_refill_amsdu_rxbufs(s
- static void ar6000_cleanup_amsdu_rxbufs(struct ar6_softc *ar);
-
- static ssize_t
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34))
- ar6000_sysfs_bmi_read(struct file *fp, struct kobject *kobj,
-+#else
-+ar6000_sysfs_bmi_read(struct kobject *kobj,
-+#endif
- struct bin_attribute *bin_attr,
- char *buf, loff_t pos, size_t count);
-
- static ssize_t
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34))
- ar6000_sysfs_bmi_write(struct file *fp, struct kobject *kobj,
-+#else
-+ar6000_sysfs_bmi_write(struct kobject *kobj,
-+#endif
- struct bin_attribute *bin_attr,
- char *buf, loff_t pos, size_t count);
-
-@@ -755,7 +763,11 @@ static struct bin_attribute bmi_attr = {
- };
-
- static ssize_t
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34))
- ar6000_sysfs_bmi_read(struct file *fp, struct kobject *kobj,
-+#else
-+ar6000_sysfs_bmi_read(struct kobject *kobj,
-+#endif
- struct bin_attribute *bin_attr,
- char *buf, loff_t pos, size_t count)
- {
-@@ -782,7 +794,11 @@ ar6000_sysfs_bmi_read(struct file *fp, s
- }
-
- static ssize_t
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34))
- ar6000_sysfs_bmi_write(struct file *fp, struct kobject *kobj,
-+#else
-+ar6000_sysfs_bmi_write(struct kobject *kobj,
-+#endif
- struct bin_attribute *bin_attr,
- char *buf, loff_t pos, size_t count)
- {
diff --git a/scripts/admin-update.sh b/scripts/admin-update.sh
index 3040275..87b7e5f 100755
--- a/scripts/admin-update.sh
+++ b/scripts/admin-update.sh
@@ -218,6 +218,7 @@ fi
DRIVERS="drivers/net/wireless/ath"
DRIVERS="$DRIVERS drivers/net/wireless/ath/carl9170"
DRIVERS="$DRIVERS drivers/net/wireless/ath/ath5k"
+DRIVERS="$DRIVERS drivers/net/wireless/ath/ath6kl"
DRIVERS="$DRIVERS drivers/net/wireless/ath/ath9k"
DRIVERS="$DRIVERS drivers/ssb"
DRIVERS="$DRIVERS drivers/bcma"
@@ -247,8 +248,7 @@ DRIVERS="$DRIVERS drivers/net/wireless/orinoco"
DRIVERS="$DRIVERS drivers/net/wireless/mwifiex"

# Staging drivers
-STAGING_DRIVERS="drivers/staging/ath6kl"
-STAGING_DRIVERS="$STAGING_DRIVERS drivers/staging/brcm80211"
+STAGING_DRIVERS="drivers/staging/brcm80211"

# Ethernet drivers
DRIVERS="$DRIVERS drivers/net/atl1c"
--
1.7.4.1



2011-08-17 02:19:42

by Lin Tony-B19295

[permalink] [raw]
Subject: RE: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

Hi Kalle:

> -----Original Message-----
> From: [email protected] [mailto:linux-wireless-
> [email protected]] On Behalf Of Kalle Valo
> Sent: Tuesday, August 16, 2011 9:32 PM
> To: Lin Tony-B19295
> Cc: Hauke Mehrtens; [email protected]; [email protected]; linux-
> [email protected]; [email protected]
> Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.
>
> Hi Tony,
>
> On 08/15/2011 09:59 PM, Lin Tony-B19295 wrote:
> >
> > Some questions regarding this ath6kl driver.
> > Does it support all AR6003 card family? As I know there're several
> > types of AR6003 cards
>
> hw2.1.1 is supported and I'm using that for testing. The driver also
> supports hw2.0 but I haven't tested that so there might be some issues.
> hw1.0 is not supported.
>
> > Does it support master mode?
>
> Not yet, but hopefully in the near future.
>
> > I tried the driver, seems it doesn't. need your confirmation.
> > root@freescale ~$ iwconfig wlan0 mode master
> > Error for wireless request "Set Mode" (8B06) :
> > SET failed on device wlan0 ; Invalid argument.
>
> Like Julian said, you need to use hostapd.
>
> > Does it support suspend/resume well? From my experiments, seems not.
> After resuming, connection is lost.
>
> I have a patch pending to add suspend support and will send it as soon as
> I find some free time. But the wifi connection will be lost in resume
> anyway. If you want to maintain the connection to AP during suspend then
> you are looking for wowlan support which ath6kl doesn't currently support.
>

Do you have any plan supporting it?
Thanks for your help
Besides, the performance seems not good. I got only 5Mb/s station->station performance. While another driver released from your AE could reach at least 10Mb/s, do you have any idea?

> Kalle
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless"
> in the body of a message to [email protected] More majordomo info
> at http://vger.kernel.org/majordomo-info.html



2011-08-15 19:00:00

by Hauke Mehrtens

[permalink] [raw]
Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

On 08/15/2011 07:06 AM, Lin Tony-B19295 wrote:
> Where can I get corresponding firmware?
>
> tony
>
>> -----Original Message-----
>> From: [email protected] [mailto:linux-wireless-
>> [email protected]] On Behalf Of Hauke Mehrtens
>> Sent: Thursday, August 11, 2011 6:59 PM
>> To: [email protected]; [email protected]
>> Cc: [email protected]; Hauke Mehrtens
>> Subject: [PATCH 1/2] compat-wireless: ath6kl moved to main area.
>>
>> ath6kl is now in the kernel main area and not in staging any more.
>>
>> Signed-off-by: Hauke Mehrtens <[email protected]>
>> ---
>> Makefile | 1 -
>> config.mk | 15 +++------
>> patches/01-netdev.patch | 17 +++++++++--
>> patches/34-backport-bin_attribute.patch | 47 -------------------------

Hi tony,

there is a firmware for these devices in the linux-firmware git [0], but
I do not know if it still works with this driver.

Probably some of the ath6kl developer could help you more than me.

Hauke

[0]:
https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git;a=summary

2011-08-17 04:57:30

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

On 08/16/2011 09:53 PM, Lin Tony-B19295 wrote:
>>> Set board as client, 'iperf -c pc ipaddr -t 100000 -w 1M -i 3'
>>> If using another package, I get 23Mb/s
>>
>> What wifi settings do you use? (11n, encryption, frequency, etc)
>>
> 11n, no encryption, 50Mhz.

50 MHz can't be right. Please send me output from 'iw wlan0 link' (or
whatever interface you use with ath6kl.

Kalle

2011-08-17 04:54:33

by Lin Tony-B19295

[permalink] [raw]
Subject: RE: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

> -----Original Message-----
> From: Kalle Valo [mailto:[email protected]]
> Sent: Wednesday, August 17, 2011 12:52 PM
> To: Lin Tony-B19295
> Cc: Hauke Mehrtens; [email protected]; [email protected]; linux-
> [email protected]; [email protected]
> Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.
>
> On 08/16/2011 09:44 PM, Lin Tony-B19295 wrote:
> >>> Besides, the performance seems not good. I got only 5Mb/s
> >>> station->station performance. While another driver released from your
> >>> AE could reach at least 10Mb/s, do you have any idea?
> >>
> >> That sounds quite low. Can you describe your test setup in detail,
> please?
> >> That would help to understand the issue.
> >>
> > Both PC and board are connected to an AP. And set PC as host, 'iperf -
> s'
> > Set board as client, 'iperf -c pc ipaddr -t 100000 -w 1M -i 3'
> > If using another package, I get 23Mb/s
>
> What wifi settings do you use? (11n, encryption, frequency, etc)
>
11n, no encryption, 50Mhz.

> Does dmesg show anything suspicious?
>
Does not see any suspicious...

> Kalle



2011-08-17 04:51:57

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

On 08/16/2011 09:44 PM, Lin Tony-B19295 wrote:
>>> Besides, the performance seems not good. I got only 5Mb/s
>>> station->station performance. While another driver released from your
>>> AE could reach at least 10Mb/s, do you have any idea?
>>
>> That sounds quite low. Can you describe your test setup in detail, please?
>> That would help to understand the issue.
>>
> Both PC and board are connected to an AP. And set PC as host, 'iperf -s'
> Set board as client, 'iperf -c pc ipaddr -t 100000 -w 1M -i 3'
> If using another package, I get 23Mb/s

What wifi settings do you use? (11n, encryption, frequency, etc)

Does dmesg show anything suspicious?

Kalle

2011-08-17 04:44:16

by Lin Tony-B19295

[permalink] [raw]
Subject: RE: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

> -----Original Message-----
> From: Kalle Valo [mailto:[email protected]]
> Sent: Wednesday, August 17, 2011 12:29 PM
> To: Lin Tony-B19295
> Cc: Hauke Mehrtens; [email protected]; [email protected]; linux-
> [email protected]; [email protected]
> Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.
>
> On 08/16/2011 07:19 PM, Lin Tony-B19295 wrote:
> >> I have a patch pending to add suspend support and will send it as
> >> soon as I find some free time. But the wifi connection will be lost
> >> in resume anyway. If you want to maintain the connection to AP during
> >> suspend then you are looking for wowlan support which ath6kl doesn't
> >> currently support.
> >
> > Do you have any plan supporting it?
>
> It would be nice to have support for wowlan but I don't know when it will
> be implemented. Hopefully sooner than later.
>
> > Besides, the performance seems not good. I got only 5Mb/s
> > station->station performance. While another driver released from your
> > AE could reach at least 10Mb/s, do you have any idea?
>
> That sounds quite low. Can you describe your test setup in detail, please?
> That would help to understand the issue.
>
Both PC and board are connected to an AP. And set PC as host, 'iperf -s'
Set board as client, 'iperf -c pc ipaddr -t 100000 -w 1M -i 3'
If using another package, I get 23Mb/s

> Kalle



2011-08-17 05:01:33

by Lin Tony-B19295

[permalink] [raw]
Subject: RE: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

> -----Original Message-----
> From: Kalle Valo [mailto:[email protected]]
> Sent: Wednesday, August 17, 2011 12:57 PM
> To: Lin Tony-B19295
> Cc: Hauke Mehrtens; [email protected]; [email protected]; linux-
> [email protected]; [email protected]
> Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.
>
> On 08/16/2011 09:53 PM, Lin Tony-B19295 wrote:
> >>> Set board as client, 'iperf -c pc ipaddr -t 100000 -w 1M -i 3'
> >>> If using another package, I get 23Mb/s
> >>
> >> What wifi settings do you use? (11n, encryption, frequency, etc)
> >>
> > 11n, no encryption, 50Mhz.
>
> 50 MHz can't be right. Please send me output from 'iw wlan0 link' (or
> whatever interface you use with ath6kl.
>

50MHz is SDIO interface bus clock, isn't it right?

> Kalle



2011-08-16 04:59:31

by Lin Tony-B19295

[permalink] [raw]
Subject: RE: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

Hi, Kalle:

Some questions regarding this ath6kl driver.
Does it support all AR6003 card family? As I know there're several types of AR6003 cards
Does it support master mode? I tried the driver, seems it doesn't. need your confirmation.
root@freescale ~$ iwconfig wlan0 mode master
Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Invalid argument.

Does it support suspend/resume well? From my experiments, seems not. After resuming, connection is lost.

Thanks
Tony

> -----Original Message-----
> From: Kalle Valo [mailto:[email protected]]
> Sent: Tuesday, August 16, 2011 8:33 AM
> To: Hauke Mehrtens
> Cc: Lin Tony-B19295; [email protected]; [email protected]; linux-
> [email protected]; [email protected]
> Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.
>
> On 08/15/2011 11:59 AM, Hauke Mehrtens wrote:
> > On 08/15/2011 07:06 AM, Lin Tony-B19295 wrote:
> >> Where can I get corresponding firmware?
> >>
> >> tony
> >
> > Hi tony,
> >
> > there is a firmware for these devices in the linux-firmware git [0],
> > but I do not know if it still works with this driver.
> >
> > Probably some of the ath6kl developer could help you more than me.
>
> Yes, the firmware in linux-firmware should work. If not, please report it
> to linux-wireless mailing list.
>
> Kalle



2011-08-11 10:59:15

by Hauke Mehrtens

[permalink] [raw]
Subject: [PATCH 2/2] compat-wireless: do not build libertas_sdio for kernel < 2.6.32

if_sdio.c needs some new power management functions not available in
older kernel functions. When building for older kernel I get these
compiler errors:

/drivers/net/wireless/libertas/if_sdio.c: In function ‘if_sdio_power_save’:
/drivers/net/wireless/libertas/if_sdio.c:1071:2: error: implicit declaration of function ‘pm_runtime_put_sync’
/drivers/net/wireless/libertas/if_sdio.c: In function ‘if_sdio_power_restore’:
/drivers/net/wireless/libertas/if_sdio.c:1081:2: error: implicit declaration of function ‘pm_runtime_get_sync’
/drivers/net/wireless/libertas/if_sdio.c: In function ‘if_sdio_probe’:
/drivers/net/wireless/libertas/if_sdio.c:1231:2: error: implicit declaration of function ‘pm_runtime_put_noidle’
/drivers/net/wireless/libertas/if_sdio.c: In function ‘if_sdio_remove’:
/drivers/net/wireless/libertas/if_sdio.c:1268:2: error: implicit declaration of function ‘pm_runtime_get_noresume’

Signed-off-by: Hauke Mehrtens <[email protected]>
---
config.mk | 9 +++------
patches/08-rename-config-options.patch | 9 +++++++++
2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/config.mk b/config.mk
index 27d4daf..e2bffeb 100644
--- a/config.mk
+++ b/config.mk
@@ -555,13 +555,10 @@ endif #CONFIG_CRC7

CONFIG_MWIFIEX_SDIO=m

-ifdef CONFIG_COMPAT_KERNEL_2_6_27
-CONFIG_LIBERTAS_SDIO=n
-NEED_LIBERTAS=n
-else #CONFIG_COMPAT_KERNEL_2_6_27
-CONFIG_LIBERTAS_SDIO=m
+ifndef CONFIG_COMPAT_KERNEL_2_6_32
+CONFIG_COMPAT_LIBERTAS_SDIO=m
NEED_LIBERTAS=y
-endif #CONFIG_COMPAT_KERNEL_2_6_27
+endif #CONFIG_COMPAT_KERNEL_2_6_32

CONFIG_IWM=m
# CONFIG_IWM_DEBUG=y
diff --git a/patches/08-rename-config-options.patch b/patches/08-rename-config-options.patch
index 70ca190..5505018 100644
--- a/patches/08-rename-config-options.patch
+++ b/patches/08-rename-config-options.patch
@@ -59,6 +59,15 @@ CONFIG_BT_HIDP does not build with older kernel versions.

{0}
};
+--- a/drivers/net/wireless/libertas/Makefile
++++ b/drivers/net/wireless/libertas/Makefile
+@@ -16,5 +16,5 @@ libertas_spi-objs += if_spi.o
+ obj-$(CONFIG_LIBERTAS) += libertas.o
+ obj-$(CONFIG_LIBERTAS_USB) += usb8xxx.o
+ obj-$(CONFIG_LIBERTAS_CS) += libertas_cs.o
+-obj-$(CONFIG_LIBERTAS_SDIO) += libertas_sdio.o
++obj-$(CONFIG_COMPAT_LIBERTAS_SDIO) += libertas_sdio.o
+ obj-$(CONFIG_LIBERTAS_SPI) += libertas_spi.o
--- a/drivers/net/wireless/zd1211rw/Makefile
+++ b/drivers/net/wireless/zd1211rw/Makefile
@@ -1,4 +1,4 @@
--
1.7.4.1


2011-08-16 00:33:04

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

On 08/15/2011 11:59 AM, Hauke Mehrtens wrote:
> On 08/15/2011 07:06 AM, Lin Tony-B19295 wrote:
>> Where can I get corresponding firmware?
>>
>> tony
>
> Hi tony,
>
> there is a firmware for these devices in the linux-firmware git [0], but
> I do not know if it still works with this driver.
>
> Probably some of the ath6kl developer could help you more than me.

Yes, the firmware in linux-firmware should work. If not, please report
it to linux-wireless mailing list.

Kalle

2011-08-15 05:08:29

by Lin Tony-B19295

[permalink] [raw]
Subject: RE: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

Where can I get corresponding firmware?

tony

> -----Original Message-----
> From: [email protected] [mailto:linux-wireless-
> [email protected]] On Behalf Of Hauke Mehrtens
> Sent: Thursday, August 11, 2011 6:59 PM
> To: [email protected]; [email protected]
> Cc: [email protected]; Hauke Mehrtens
> Subject: [PATCH 1/2] compat-wireless: ath6kl moved to main area.
>
> ath6kl is now in the kernel main area and not in staging any more.
>
> Signed-off-by: Hauke Mehrtens <[email protected]>
> ---
> Makefile | 1 -
> config.mk | 15 +++------
> patches/01-netdev.patch | 17 +++++++++--
> patches/34-backport-bin_attribute.patch | 47 -------------------------
> ------
> scripts/admin-update.sh | 4 +-
> 5 files changed, 21 insertions(+), 63 deletions(-) delete mode 100644
> patches/34-backport-bin_attribute.patch
>
> diff --git a/Makefile b/Makefile
> index 9c95292..463a56c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -33,7 +33,6 @@ obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/
> obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/ssb/ drivers/bcma/
> drivers/misc/eeprom/
>
> ifeq ($(CONFIG_STAGING_EXCLUDE_BUILD),)
> -obj-$(CONFIG_COMPAT_STAGING) += drivers/staging/ath6kl/
> obj-$(CONFIG_COMPAT_STAGING) += drivers/staging/brcm80211/ endif
>
> diff --git a/config.mk b/config.mk
> index 786891d..27d4daf 100644
> --- a/config.mk
> +++ b/config.mk
> @@ -570,24 +570,19 @@ CONFIG_IWM=m
> CONFIG_BT_HCIBTSDIO=m
> CONFIG_BT_MRVL_SDIO=m
>
> +ifndef CONFIG_COMPAT_KERNEL_2_6_27
> +CONFIG_ATH6KL=m
> +# CONFIG_ATH6KL_DEBUG=y
> +endif #CONFIG_COMPAT_KERNEL_2_6_27
> +
> ifdef CONFIG_COMPAT_STAGING
> ifdef CONFIG_WIRELESS_EXT
> -# CONFIG_ATH6KL_DISABLE_TARGET_DBGLOGS is not set -#
> CONFIG_ATH6KL_ENABLE_COEXISTENCE is not set -#
> CONFIG_ATH6KL_ENABLE_HOST_DEBUG is not set -
> CONFIG_ATH6KL_ENABLE_TARGET_DEBUG_PRINTS=y
> -# CONFIG_ATH6KL_HCI_BRIDGE is not set
> -# CONFIG_ATH6KL_HTC_RAW_INTERFACE is not set -#
> CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK is not set -
> CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER=y
> -CONFIG_ATH6K_LEGACY=m
>
> CONFIG_BRCMFMAC=m
>
> endif #CONFIG_WIRELESS_EXT
> endif #CONFIG_COMPAT_STAGING
>
> -
> endif #CONFIG_MMC
>
> CONFIG_RTLWIFI=m
> diff --git a/patches/01-netdev.patch b/patches/01-netdev.patch index
> f8395c8..d500584 100644
> --- a/patches/01-netdev.patch
> +++ b/patches/01-netdev.patch
> @@ -32,6 +32,17 @@ without creating a headache on maintenance of the
> pathes.
> net->watchdog_timeo = TX_TIMEOUT_JIFFIES;
> net->ethtool_ops = &usbnet_ethtool_ops;
>
> +--- a/drivers/net/wireless/ath/ath6kl/main.c
> ++++ b/drivers/net/wireless/ath/ath6kl/main.c
> +@@ -1325,7 +1325,7 @@ static struct net_device_ops ath6kl_netd
> +
> + void init_netdev(struct net_device *dev) {
> +- dev->netdev_ops = &ath6kl_netdev_ops;
> ++ netdev_attach_ops(dev, &ath6kl_netdev_ops);
> + dev->watchdog_timeo = ATH6KL_TX_TIMEOUT;
> +
> + dev->needed_headroom = ETH_HLEN;
> --- a/drivers/net/wireless/rndis_wlan.c
> +++ b/drivers/net/wireless/rndis_wlan.c
> @@ -3439,7 +3439,7 @@ static int rndis_wlan_bind(struct usbnet @@ -217,7
> +228,7 @@ without creating a headache on maintenance of the pathes.
> wdev->netdev = ndev;
> --- a/drivers/net/wireless/libertas/main.c
> +++ b/drivers/net/wireless/libertas/main.c
> -@@ -836,7 +836,7 @@ struct lbs_private *lbs_add_card(void *c
> +@@ -916,7 +916,7 @@ struct lbs_private *lbs_add_card(void *c
> wdev->netdev = dev;
> priv->dev = dev;
>
> @@ -228,7 +239,7 @@ without creating a headache on maintenance of the
> pathes.
> dev->flags |= IFF_BROADCAST | IFF_MULTICAST;
> --- a/drivers/net/wireless/libertas/mesh.c
> +++ b/drivers/net/wireless/libertas/mesh.c
> -@@ -1011,7 +1011,7 @@ static int lbs_add_mesh(struct lbs_priva
> +@@ -1018,7 +1018,7 @@ static int lbs_add_mesh(struct lbs_priva
> mesh_dev->ieee80211_ptr = mesh_wdev;
> priv->mesh_dev = mesh_dev;
>
> @@ -256,7 +267,7 @@ without creating a headache on maintenance of the
> pathes.
> #define LBS_DEB_LEAVE 0x00000002
> --- a/drivers/net/wireless/mac80211_hwsim.c
> +++ b/drivers/net/wireless/mac80211_hwsim.c
> -@@ -1230,7 +1230,7 @@ static const struct net_device_ops hwsim
> +@@ -1236,7 +1236,7 @@ static const struct net_device_ops hwsim
>
> static void hwsim_mon_setup(struct net_device *dev)
> {
> diff --git a/patches/34-backport-bin_attribute.patch b/patches/34-
> backport-bin_attribute.patch
> deleted file mode 100644
> index 1ca0b4d..0000000
> --- a/patches/34-backport-bin_attribute.patch
> +++ /dev/null
> @@ -1,47 +0,0 @@
> ---- a/drivers/staging/ath6kl/os/linux/ar6000_drv.c
> -+++ b/drivers/staging/ath6kl/os/linux/ar6000_drv.c
> -@@ -317,12 +317,20 @@ static void ar6000_refill_amsdu_rxbufs(s
> - static void ar6000_cleanup_amsdu_rxbufs(struct ar6_softc *ar);
> -
> - static ssize_t
> -+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34))
> - ar6000_sysfs_bmi_read(struct file *fp, struct kobject *kobj,
> -+#else
> -+ar6000_sysfs_bmi_read(struct kobject *kobj, #endif
> - struct bin_attribute *bin_attr,
> - char *buf, loff_t pos, size_t count);
> -
> - static ssize_t
> -+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34))
> - ar6000_sysfs_bmi_write(struct file *fp, struct kobject *kobj,
> -+#else
> -+ar6000_sysfs_bmi_write(struct kobject *kobj, #endif
> - struct bin_attribute *bin_attr,
> - char *buf, loff_t pos, size_t count);
> -
> -@@ -755,7 +763,11 @@ static struct bin_attribute bmi_attr = {
> - };
> -
> - static ssize_t
> -+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34))
> - ar6000_sysfs_bmi_read(struct file *fp, struct kobject *kobj,
> -+#else
> -+ar6000_sysfs_bmi_read(struct kobject *kobj, #endif
> - struct bin_attribute *bin_attr,
> - char *buf, loff_t pos, size_t count)
> - {
> -@@ -782,7 +794,11 @@ ar6000_sysfs_bmi_read(struct file *fp, s
> - }
> -
> - static ssize_t
> -+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34))
> - ar6000_sysfs_bmi_write(struct file *fp, struct kobject *kobj,
> -+#else
> -+ar6000_sysfs_bmi_write(struct kobject *kobj, #endif
> - struct bin_attribute *bin_attr,
> - char *buf, loff_t pos, size_t count)
> - {
> diff --git a/scripts/admin-update.sh b/scripts/admin-update.sh index
> 3040275..87b7e5f 100755
> --- a/scripts/admin-update.sh
> +++ b/scripts/admin-update.sh
> @@ -218,6 +218,7 @@ fi
> DRIVERS="drivers/net/wireless/ath"
> DRIVERS="$DRIVERS drivers/net/wireless/ath/carl9170"
> DRIVERS="$DRIVERS drivers/net/wireless/ath/ath5k"
> +DRIVERS="$DRIVERS drivers/net/wireless/ath/ath6kl"
> DRIVERS="$DRIVERS drivers/net/wireless/ath/ath9k"
> DRIVERS="$DRIVERS drivers/ssb"
> DRIVERS="$DRIVERS drivers/bcma"
> @@ -247,8 +248,7 @@ DRIVERS="$DRIVERS drivers/net/wireless/orinoco"
> DRIVERS="$DRIVERS drivers/net/wireless/mwifiex"
>
> # Staging drivers
> -STAGING_DRIVERS="drivers/staging/ath6kl"
> -STAGING_DRIVERS="$STAGING_DRIVERS drivers/staging/brcm80211"
> +STAGING_DRIVERS="drivers/staging/brcm80211"
>
> # Ethernet drivers
> DRIVERS="$DRIVERS drivers/net/atl1c"
> --
> 1.7.4.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless"
> in the body of a message to [email protected] More majordomo info
> at http://vger.kernel.org/majordomo-info.html



2011-08-12 00:58:15

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [PATCH 2/2] compat-wireless: do not build libertas_sdio for kernel < 2.6.32

Thanks, applied all 3 patches and pushed!

Luis

2011-08-16 13:32:10

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

Hi Tony,

On 08/15/2011 09:59 PM, Lin Tony-B19295 wrote:
>
> Some questions regarding this ath6kl driver.
> Does it support all AR6003 card family? As I know there're several types of AR6003 cards

hw2.1.1 is supported and I'm using that for testing. The driver also
supports hw2.0 but I haven't tested that so there might be some issues.
hw1.0 is not supported.

> Does it support master mode?

Not yet, but hopefully in the near future.

> I tried the driver, seems it doesn't. need your confirmation.
> root@freescale ~$ iwconfig wlan0 mode master
> Error for wireless request "Set Mode" (8B06) :
> SET failed on device wlan0 ; Invalid argument.

Like Julian said, you need to use hostapd.

> Does it support suspend/resume well? From my experiments, seems not. After resuming, connection is lost.

I have a patch pending to add suspend support and will send it as soon
as I find some free time. But the wifi connection will be lost in resume
anyway. If you want to maintain the connection to AP during suspend then
you are looking for wowlan support which ath6kl doesn't currently support.

Kalle

2011-08-16 05:21:46

by Julian Calaby

[permalink] [raw]
Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

Hi Tony,

One small point

On Tue, Aug 16, 2011 at 14:59, Lin Tony-B19295 <[email protected]> wrote:
> ? ? ? ?Does it support master mode? I tried the driver, seems it doesn't. need your confirmation.
> ? ? ? ? ? ? ? ?root@freescale ~$ iwconfig wlan0 mode master
> ? ? ? ? ? ? ? ?Error for wireless request "Set Mode" (8B06) :
> ? ? ? ? ? ? ? ?SET failed on device wlan0 ; Invalid argument.

This is _not_ how you enable master mode.

You need to use the hostapd utility.

See:

http://wireless.kernel.org/en/users/Documentation/FAQ#Q:_iwconfig_wlan0_mode_master_does_not_work

http://wireless.kernel.org/en/users/Documentation/hostapd

Thanks,

--
Julian Calaby

Email: [email protected]
Profile: http://www.google.com/profiles/julian.calaby/
.Plan: http://sites.google.com/site/juliancalaby/

2011-08-17 04:28:44

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

On 08/16/2011 07:19 PM, Lin Tony-B19295 wrote:
>> I have a patch pending to add suspend support and will send it as
>> soon as I find some free time. But the wifi connection will be lost
>> in resume anyway. If you want to maintain the connection to AP
>> during suspend then you are looking for wowlan support which ath6kl
>> doesn't currently support.
>
> Do you have any plan supporting it?

It would be nice to have support for wowlan but I don't know when it
will be implemented. Hopefully sooner than later.

> Besides, the performance seems not good. I got only 5Mb/s
> station->station performance. While another driver released from your
> AE could reach at least 10Mb/s, do you have any idea?

That sounds quite low. Can you describe your test setup in detail,
please? That would help to understand the issue.

Kalle

2011-08-17 05:10:31

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.

On 08/16/2011 10:01 PM, Lin Tony-B19295 wrote:
>> -----Original Message-----
>> From: Kalle Valo [mailto:[email protected]]
>> Sent: Wednesday, August 17, 2011 12:57 PM
>> To: Lin Tony-B19295
>> Cc: Hauke Mehrtens; [email protected]; [email protected]; linux-
>> [email protected]; [email protected]
>> Subject: Re: [PATCH 1/2] compat-wireless: ath6kl moved to main area.
>>
>> On 08/16/2011 09:53 PM, Lin Tony-B19295 wrote:
>>>>> Set board as client, 'iperf -c pc ipaddr -t 100000 -w 1M -i 3'
>>>>> If using another package, I get 23Mb/s
>>>>
>>>> What wifi settings do you use? (11n, encryption, frequency, etc)
>>>>
>>> 11n, no encryption, 50Mhz.
>>
>> 50 MHz can't be right. Please send me output from 'iw wlan0 link' (or
>> whatever interface you use with ath6kl.
>>
>
> 50MHz is SDIO interface bus clock, isn't it right?

Hehe, that's true. But I was asking about the wifi channel frequency
which you can check with 'iw wlan0 link' :)

Kalle