Libertas GSPI seemingly losing tx

Ian Jeffray ian at jeffray.co.uk
Wed Apr 14 17:21:11 EDT 2010


Hello,

I've got an 8686 connected to a Blackfin via GSPI.  Works fine
at 1MHz, no problems.  Increasing the bus speed any higher
(all the way to 30MHz tested) works fine for a while, but then
eventually it seems that TX stops working somehow.

Using TCPdump on each end of the connection, I see TX and RX
packets on my Blackfin, but on my wireless laptop I only see
the packets the laptop is sending - nothing is being received
from the 8686... as if what's being sent to it via SPI is not
being transmitted on the air somehow.

TCP seems to cause this problem quite quickly.  If I just leave
a 'ping' running, all is well for as long as I care to leave it,
but within just a few seconds, just a few kilobytes, of TCP, the
connection then enters this bizarre mode.

I'm not sure if this is GSPI-specific, but it's the only mode of
operation I'm able to test.  I'm using the 2.6.33.2 kernel.  The
problem "appears" to be reduced a little by adding a .cs_chg_udelay = 1
to the Blackfin SPI resources.  I've tested this against five
different wifi client devices now - all the same outcome.

Has anyone seen a problem like this before?  Is it possible for
the TX radio to somehow have been turned off?   Any ideas how I
may be able to debug this deeper?   I'm going to hook up a SPI
analyser to the bus but fear of drowning in data there.

Thanks for any advice,

Ian.



More information about the libertas-dev mailing list