Search Linux Wireless

Re: wilc1000 driver

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

 



Hi David,

On 23/02/21 9:53 pm, David Mosberger-Tang wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> OK, the problem below is caused by wilc_set_power_mgmt().  If I change
> that function into a no-op, the driver actually works!  Does this make
> any sense to you?  From what I saw so far, it looks like relevant code
> is pretty much identical to the one in the linux-at91 tree and that one
> works fine.
> 

As I understand you are testing with default powersave mode enabled. One
approach could be to disable the default powersave mode by compiling
with CFG80211_DEFAULT_PS disabled. When its disabled, .set_power_mgmt cb
is called with powersave disable.
If the powersave mode is enabled, the chip need to be wakeup by
following the wakeup sequence. We need to bring in chip_wake() API
changes, to set registers specific for WILC1000. I have plans to port
these changes to support PSM mode but it will take few weeks.

Regards,
Ajay


>   --david
> 
> 
> On Mon, 2021-02-22 at 18:49 -0700, David Mosberger-Tang wrote:
>>
>> Now the driver loads the firmware and generally seems to be happy.
>> However, as soon as a packet is received, things go awry.  I'm seeing
>> this:
>>
>> WILC_SPI spi1.0 wlan0: ChipID [1003a0] loading firmware
>> [atmel/wilc1000_wifi_firmware-1.bin]
>> WILC_SPI spi1.0: Failed cmd response, cmd (ca), resp (09)
>>
>> On the SPI bus, I see these commands:
>>
>>  MOSI: 0xC8 0x00 0x00 0x00 0x00 0x00 0x38 (DMA_EXT_READ addr 0 size 56)
>>  MISO: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xC8 0x88 (command response)
>>  -----
>>  MOSI: 0x00
>>  MISO: 0xF3 (DATA header, last packet in this transaction)
>>  -----
>>  MOSI: 0x00*56
>>  MISO:   xx*56 (56 data bytes that may be a legitimate packet)
>>
>> So far so good.  I don't know if this matters, but the last 8 bytes of
>> data all contain 0x09.
>>
>> The problem from then on is that no matter what command is sent, the
>> chip always returns only 0x09 bytes.  For example, the first command
>> after the DMA read is:
>>
>>  MOSI: 0xca 0x00 0x10 0x6c (SINGLE_READ)
>>
>> but the MISO line only returns 0x09, hence the above "Failed cmd
>> response" error.
>>
>> It's as if the chip wants to send much more than 56 data bytes.  The
>> byte-order for the DMA size matches that of the working driver though,
>> so maybe that's not it.
> 
> 
> 




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

  Powered by Linux