3c59x with linuxppc

Bogdan Costescu Bogdan.Costescu@IWR.Uni-Heidelberg.De
Tue May 9 07:26:38 2000


On Tue, 9 May 2000, Andreas Tobler wrote:

> Sorry the dumb Q, where did you download the driver from? I had a look
> at several driver sources, Don B's site, Andrews's site, no I don't see
> these lines included in the driver.

Ups! It's my fault 8-( I cannot remember exactly, as I have about 8
revisions of the driver. The one that I mentioned was printed, so I'm sure
I had it at some point, but I cannot remember from where...
Anyway, it's good to know that Andrew has to release a new version. 8-)

> I reread the code several times  an from my sight the next_tick is never
> changed from 0.
> ...
> Those two places where not covered with my two cards. (3c590/3c905b)

That's how I interpret it, too.

> But I think next_tick should be changed from zero in every case(card type).
> Shouldn't we set the next_tick like 'next_tick =
> media_tbl[dev->if_port].wait' in every case part of the switch in vortex_timer?
> E.g.
> switch (dev->if_port) {
> 	  case XCVR_10baseT:  case XCVR_100baseTx:  case XCVR_100baseFx:
> 		if (media_status & Media_LnkBeat) {
> 		  ok = 1;
> -------->   next_tick = media_tbl[dev->if_port].wait
> 		  if (vortex_debug > 1)
> 			printk(KERN_DEBUG "%s: Media %s has link beat, %x.\n",
> 				   dev->name, media_tbl[dev->if_port].name, media_status);
> 		} else if (vortex_debug > 1)
> 		  printk(KERN_DEBUG "%s: Media %s is has no link beat, %x.\n",
> 				   dev->name, media_tbl[dev->if_port].name, media_status);
> 		break;
> 

You still miss the case when there is not link beat. IMHO, vortex_timer
should be run periodically to be able to signal when the link is missing,
but also to be able to recover when the link gets back; in your code, it
is run when you have link, but as soon as the link is missing, it is not
re-added and you will not see when the link comes back, so you'll have to
rmmod/insmod to get the network working again.
I think that the current vortex_timer is not doing the things it should in
some cases; I think that last week's post about 2 almost identical PCMCIA
cards not negotiating identically is also related to this (the card is
started in half-duplex and should be brought to full-duplex by
vortex_timer, but it's not).

I'll take a deeper look at it, as I'm also interested to replace
vortex_timer for Tornado (905C, 980) which can generate an interrupt
whenever the link state changes.

Sincerely,

Bogdan Costescu

IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu@IWR.Uni-Heidelberg.De

-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-vortex-request@beowulf.org