Search Linux Wireless

Re: wilc1000 driver

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

 



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.

  --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