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