2008-12-21 16:12:15

by Fabio Rossi

[permalink] [raw]
Subject: rtl8180: the network interface is not anymore created

I was using successfully the rtl8180 driver but after last git-pull the
network interface (wlan0) is not anymore created.

I have discovered the problem: there has been a change in mac80211, commit
3fc7826b95521e40cf53f63437a5fdcc24e54ac4. The problem is that the bit
NL80211_IFTYPE_STATION is not set during the hardware initialization.

I guess that the problem might be solved inserting the following line of code

dev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);

somewhere in rtl8180_dev.c but I don't know which is the right point to do so.

Regards,
Fabio


2008-12-21 21:13:54

by Piter PUNK

[permalink] [raw]
Subject: Re: rtl8180: the network interface is not anymore created

Larry Finger wrote:
> Fabio Rossi wrote:
>> I was using successfully the rtl8180 driver but after last git-pull the
>> network interface (wlan0) is not anymore created.
>
> Fabio,
>
> Does this patch fix it for you?

I was with the same problem using linville branch (to test rtl8187se
support). I thought the wlan0 missing was some problem with the
rtl8187se support.

I apply the patch and now I have an wlan0 interface! -:)
I can't see now if the interface is really working, no AP near
to test. But the wlan0 now is created

> Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8180_dev.c
> ===================================================================
> --- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8180_dev.c
> +++ wireless-testing/drivers/net/wireless/rtl818x/rtl8180_dev.c
> @@ -898,6 +898,7 @@ static int __devinit rtl8180_probe(struc
> dev->flags = IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
> IEEE80211_HW_RX_INCLUDES_FCS |
> IEEE80211_HW_SIGNAL_UNSPEC;
> + dev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
> dev->queues = 1;
> dev->max_signal = 65;

Thanks!

Piter PUNK



2008-12-21 18:04:33

by Larry Finger

[permalink] [raw]
Subject: Re: rtl8180: the network interface is not anymore created

Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8180_dev.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8180_dev.c
+++ wireless-testing/drivers/net/wireless/rtl818x/rtl8180_dev.c
@@ -898,6 +898,7 @@ static int __devinit rtl8180_probe(struc
dev->flags = IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
IEEE80211_HW_RX_INCLUDES_FCS |
IEEE80211_HW_SIGNAL_UNSPEC;
+ dev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
dev->queues = 1;
dev->max_signal = 65;



Attachments:
rtl8180_STA_init (569.00 B)

2008-12-22 08:52:50

by Fabio Rossi

[permalink] [raw]
Subject: Re: rtl8180: the network interface is not anymore created

Thanks Larry, now it works again!

Fabio

On Sunday 21 December 2008, Larry Finger wrote:

> Fabio Rossi wrote:
> > I was using successfully the rtl8180 driver but after last git-pull the
> > network interface (wlan0) is not anymore created.
> >
> > I have discovered the problem: there has been a change in mac80211,
> > commit 3fc7826b95521e40cf53f63437a5fdcc24e54ac4. The problem is that the
> > bit NL80211_IFTYPE_STATION is not set during the hardware initialization.
> >
> > I guess that the problem might be solved inserting the following line of
> > code
> >
> > dev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
> >
> > somewhere in rtl8180_dev.c but I don't know which is the right point to
> > do so.
>
> Fabio,
>
> Does this patch fix it for you?
>
> Larry
>
> Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8180_dev.c
> ===================================================================
> --- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8180_dev.c
> +++ wireless-testing/drivers/net/wireless/rtl818x/rtl8180_dev.c
> @@ -898,6 +898,7 @@ static int __devinit rtl8180_probe(struc
> dev->flags = IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
> IEEE80211_HW_RX_INCLUDES_FCS |
> IEEE80211_HW_SIGNAL_UNSPEC;
> + dev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
> dev->queues = 1;
> dev->max_signal = 65;