Search Linux Wireless

Re: Question about starting up an AP

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

 



OK, I finally got a chance to run the test.  Before doing the revert, I tried just using the current drivers, but with a ridiculously large number of retries.

Lo and behold: no error.  So I think this is the reason the old drivers were working for me, not anything that happened between July and September.  When I went back to the old drivers, I had made this change, and they worked.  I figured it was because I was using the old drivers, but now I realize it is because of this change.

Also, I can see the behavior pretty clearly.  Sometimes when I start up hostapd, it starts right up, and sometimes it takes about a second, and then starts up.  So it looks like this retry number just needs to be really, really big.  (Note that with this change in the old drivers, on very rare occasions, I still see the "busy, aborting" error.  So perhaps it should be even bigger than 1000?)

Not sure how you want to proceed with this, but this is the code that makes my AP work:

 nl compat-wireless-2010-09-20/drivers/net/wireless/rt2x00/rt2800lib.c | grep -C 10 1000/

   225	int rt2800_wait_wpdma_ready(struct rt2x00_dev *rt2x00dev)
   226	{
   227		unsigned int i;
   228		u32 reg;
       
   229		for (i = 0; i < 1000/*REGISTER_BUSY_COUNT*/; i++) {
   230			rt2800_register_read(rt2x00dev, WPDMA_GLO_CFG, &reg);
   231			if (!rt2x00_get_field32(reg, WPDMA_GLO_CFG_TX_DMA_BUSY) &&
   232			    !rt2x00_get_field32(reg, WPDMA_GLO_CFG_RX_DMA_BUSY))
   233				return 0;
       
   234			msleep(1);
   235		}
       
   236		ERROR(rt2x00dev, "WPDMA TX/RX busy, aborting.\n");
   237		return -EACCES;


On Oct 1, 2010, at 1:42 AM, Helmut Schaa wrote:

> Hi Joshua,
> 
> Am Donnerstag 30 September 2010 schrieb Helmut Schaa:
>> Am Donnerstag 30 September 2010 schrieb Joshua Smith:
>>> I think I have a clue about the WPDMA TX/RX busy bug.  I was having trouble
>>> using the latest compat-wireless with USB dongle I have (ID AB50:2019
>>> rt73usb), so I tried rolling Helmut's "oops" fix into:
>>> 
>>> compat-wireless-2010-07-15
>>> 
>>> which I have been using successfully for the last few months.  Lo and behold,
>>> this version does *NOT* exhibit the TX/RX busy error.  So whatever is causing
>>> that problem was introduced between 7/15/2010 and 9/20/2010.
>> 
>> Thanks for the analysis Joshua! Since this is a regression I guess we
>> should try to find out quickly which commit introduced it (and fix it up
>> of course) ...
> 
> Unfortunately during that time a lot of rt2x00 patches went into
> wireless-testing. However, there's one suspicious commit that touches the
> relevant code: "rt2x00: Merge rt2800{pci/usb} radio enabling/disabling code
> to rt2800lib".
> 
> This is again a shot in the dark but worth a try. Could you please revert this
> commit [1] from the newer compat-wireless tarball and try if it fixes the "DMA
> Busy" issue?
> 
> Thanks Joshua,
> Helmut
> 
> [1] http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commit;h=b9a07ae9d9e09662013992088fd58ffbcb2f9a30

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux