Netboot Mailing List (by thread)

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

WD driver lockup (happens with etherboot 3.2 AND 4)



Hi,

I have a BIG problem with the netboot driver for WD cards.

Here at my university's lab I have 4 old EISA-486 with SMC Ultra (8216C)
NICs.
While 1 of them with an Adaptec AHA 2740 and 16MB RAM works fine, the 3
other machines have AHA 1740 adapters and 28MB RAM.

These 3 machines hang when the driver probes the card. It prints out the MAC
adress, and then the cursor freezes. I have tried various configurations
with these horrible EISA-config-utils, but none works.

Using some printf's, I found the lockup to be here:
After the MAC adress "OK 1" is printed and then the driver hangs.

[ns8390.c, line 562ff]
#ifdef  ETHERBOOT32
                        outb(eth_asic_base+0x0B,
                                (((unsigned)eth_bmem >> 13) & 0x0F) |
                                (((unsigned)eth_bmem >> 11) & 0x40) |
                                (inb(eth_asic_base+0x0B) & 0xB0));
                        printf ("Ok 1");
#endif
/* ETHERBOOT16 part left out */
                        outb(eth_asic_base+0x04, (inb(eth_asic_base+0x04) &
                                ~0x80));
                } else {
#ifdef  ETHERBOOT32
                        outb(eth_asic_base+WD_MSR,
                                (((unsigned)eth_bmem >> 13) & 0x0F) | 0x40);
                        printf ("Ok 2");

#endif
/* ETHERBOOT 16 part left out */
                }
                if (eth_flags & FLAG_16BIT) {
                        if (eth_flags & FLAG_790) {
                                eth_laar = inb(eth_asic_base + WD_LAAR);
                                outb(eth_asic_base + WD_LAAR,
WD_LAAR_M16EN);
                                inb(0x84);
                        printf ("Ok 3");

                        } else {
                                outb(eth_asic_base + WD_LAAR, (eth_laar =
                                        WD_LAAR_M16EN | WD_LAAR_L16EN | 1));
                        printf ("Ok 4");

                        }
                }
                printf("\r\n");

        }

-- 
Dieter Rothacker



For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.