[eepro100] 82557 driver can drive 82559..?

Donald Becker becker@scyld.com
Fri Aug 30 13:49:01 2002


On 30 Aug 2002, atul srivastava wrote:

> I am using eepro100 driver of etherboot package.
> 
> my driver strangley hangs on codes like loading or storing from 
> SCBStatus , SCBPointer or SCBCmd.
> 
> this driver is minimised verson of normal linux one ,
> and has only one recv. descriptor that is swcanned with
> polling.
> 
> currently it is hanging on ,
> 
> outl(virt_to_bus(txfd.status), ioaddr+SCBPointer);

The chip likely hung itself on the previous command.

> but reason i put my query on eepro100 list is that this
> hang is only when i receive a packet before etherboot
> sends a BOOTP request otherwise it goes fine and goes on
> sending bootp request MAX_TRY times.

You must start properly initialize the chip before starting up the
command unit.  Check the previous writes to SCBPointer, and verify that
the match my driver release.  There is a reason that the driver operates
the chip as it does...

> >There are various bugs that trigger a "no resources" report.  In 
> >this
> >case my guess is that you have encountered the timing bug when 
> >loading
> >the SCBPointer, RxAddrLoad or CUCmdBase.  These operations used 
> >to be
> >effectively instantaneous (less than a PCI bus transaction).  But 
> >a
> >firmware change in a later chip caused them to take an 
> >unpredictable (or
> >just undocumented) amount of time.

This is still my best guess of the problem you are having.  Check the
writes _before_ the hang.

-- 
Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Second Generation Beowulf Clusters
Annapolis MD 21403			410-990-9993