Search Linux Wireless

Re: r8712u staging in kernel 3.2.9

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/06/2012 11:31 PM, alupu@xxxxxxxxxxx wrote:
On 03/06/12 10:22 PM, Larry Finger wrote:>  Here are the details for my system, which is 64-bit.
I'm running kernel 3.3-rc5 with wireless-tools version 30.

The root of the divergence between our results might be
found in the differences between my version 29 and your "30".

According to Jean Tourrilhes (the founding father of the tools):
"The latest stable version of Wireless Tools is version 29"
He also mentions (and offers) a version "30-pre9(beta)".
See
<www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>

As an aside, this situation where distributions (as opposed to the
(B)LFS approach) tweak packages so as to offer an overall workable
release is getting worse and worse, especially lately where
software package dependencies are getting way out of hand.
In this particular instance, we'll never know if openSuse "30"
is the same as "30-pre9(beta)" (whatever that would mean) or
a lower "-pre" or even an in-house version 29/30 software
massaged to play nice with other package instances within
a particular distribution release.

That said, this doesn't mean that my problem might not lie elsewhere.
A great help would be if you could install the latest
_stable_ release (29) and quickly test my complaints.
Don't be afraid of the version police. You cannot be arrested
for using the _official_, genuine, latest stable version 29.
You _might_ get in trouble if they catch you using a most
likely counterfeit version 30 :)

What would be the ifconfig command to start the interface with DHCP?
In my distro, we have an ifup command that reads a configuration file.
That script is too complicated to see what it does.

I've used DHCP only for "wire" connections, in a wrapper of my
own which finally ends up doing something like,
  dhcpcd eth0 -L

Well, despite your complaints about my "illicit and counterfeit" version of wireless extensions, that is not where the problem lies, as shown in the attached log. In it, I used kernel 3.3-rc6 to configure the r8712u device, get an IP using the dhcpcd command, and pinged the Internet. I was even able to split the setting of the essid and the key.

To help debug the problem, the attached patch will log the setting of the ESSID in the driver. For some reason, there is one garbage printout and the correct one for every call, but that should not cause a problem.

Larry
linux-gskd:/home/finger/wireless_tools.29 # iwconfig --version
iwconfig  Wireless-Tools version 29
          Compatible with Wireless Extension v11 to v22.

Kernel    Currently compiled with Wireless Extension v22.

wlan4     Recommend Wireless Extension v16 or later,
          Currently compiled with Wireless Extension v22.

linux-gskd:/home/finger/wireless_tools.29 # iwconfig wlan4
wlan4     unassociated  Nickname:"rtl_wifi"
          Mode:Managed  Access Point: Not-Associated   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

linux-gskd:/home/finger/wireless_tools.29 # iwconfig wlan4 essid radius
linux-gskd:/home/finger/wireless_tools.29 # iwconfig wlan4
wlan4     IEEE 802.11bg  ESSID:"radius"  Nickname:"rtl_wifi"
          Mode:Managed  Frequency:2.412 GHz  Access Point: 00:14:BF:85:49:FA   
          Bit Rate:54 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=100/100  Signal level=100/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

linux-gskd:/home/finger/wireless_tools.29 # iwconfig wlan4 key restricted 1234f0033edaebf3f7dab4ceca
linux-gskd:/home/finger/wireless_tools.29 # iwconfig wlan4
wlan4     IEEE 802.11bg  ESSID:"radius"  Nickname:"rtl_wifi"
          Mode:Managed  Frequency:2.412 GHz  Access Point: 00:14:BF:85:49:FA   
          Bit Rate:54 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:1234-F003-3EDA-EBF3-F7DA-B4CE-CA   Security mode:restricted
          Power Management:off
          Link Quality=100/100  Signal level=100/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

linux-gskd:/home/finger/wireless_tools.29 # dhcpcd wlan4 -L
linux-gskd:/home/finger/wireless_tools.29 # ifconfig wlan4
wlan4     Link encap:Ethernet  HWaddr 00:26:5A:BF:41:E4  
          inet addr:192.168.3.110  Bcast:192.168.3.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1613 errors:0 dropped:160 overruns:0 frame:0
          TX packets:341 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:699314 (682.9 Kb)  TX bytes:56100 (54.7 Kb)

linux-gskd:/home/finger/wireless_tools.29 # ping -c3 www.samba.org
PING fn.samba.org (216.83.154.106) 56(84) bytes of data.
64 bytes from fn.samba.org (216.83.154.106): icmp_seq=1 ttl=47 time=83.8 ms
64 bytes from fn.samba.org (216.83.154.106): icmp_seq=2 ttl=47 time=79.0 ms
64 bytes from fn.samba.org (216.83.154.106): icmp_seq=3 ttl=47 time=76.6 ms

--- fn.samba.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 76.640/79.850/83.840/2.999 ms

Index: staging/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
===================================================================
--- staging.orig/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
+++ staging/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
@@ -1293,12 +1293,18 @@ static int r8711_wx_set_essid(struct net
 	struct list_head *phead;
 	u32 len;
 
-	if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY))
+	if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) {
+		printk(KERN_INFO "*********** in %s - Returned -EBUSY\n", __func__);
 		return -EBUSY;
-	if (check_fwstate(pmlmepriv, _FW_UNDER_LINKING))
+	}
+	if (check_fwstate(pmlmepriv, _FW_UNDER_LINKING)) {
+		printk(KERN_INFO "*********** in %s - Returned 0\n", __func__);
 		return 0;
-	if (wrqu->essid.length > IW_ESSID_MAX_SIZE)
+	}
+	if (wrqu->essid.length > IW_ESSID_MAX_SIZE) {
+		printk(KERN_INFO "*********** in %s - Returned -E2BIG\n", __func__);
 		return -E2BIG;
+	}
 	authmode = padapter->securitypriv.ndisauthtype;
 	if (wrqu->essid.flags && wrqu->essid.length) {
 		len = (wrqu->essid.length < IW_ESSID_MAX_SIZE) ?
@@ -1338,6 +1344,7 @@ static int r8711_wx_set_essid(struct net
 		}
 		r8712_set_802_11_authentication_mode(padapter, authmode);
 		r8712_set_802_11_ssid(padapter, &ndis_ssid);
+		printk(KERN_INFO "r8712u: Set ESSID to %s\n", ndis_ssid.Ssid);
 	}
 	return -EINPROGRESS;
 }

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux