So, I found the problem, I reported the bug 3 weeks ago.
I told that the NE-PCI probing hangs on my RTL8029AS nic.
It hangs on the end of the first pio_write call in the
probing.
Dirk von Suchodoletz told me, that with the old 4.4.x version
this probing runs ok. So I did a code comparison and found one
significant difference in the ns8390.c
#ifdef INCLUDE_NS8390
eth_flags |= FLAG_16BIT; /* force 16-bit mode */
#endif
Thew problem is that the probing code 'defines' that the card has
to do data transfers in 16bit mode and pio_write and pio_read
depends their operation to this flag. But 'nobody' tells the chip,
that it 'must' use 16bit mode. I removed the code (#if 0..#endif),
and the etherboot for my card works well.
Why was this line added in version 4.6. Are there cards which
needs this data transfer mode in this state of initialisation ?
The problem with the Rtl8139 I have not debugged yet.
With friendly regards
Christoph Plattner
Dirk von Suchodoletz wrote:
>
> > And this leads me to the bug report for etherboot:
> >
> > Especially the NE*000 and the NE2000/PCI hangs in the first pio_write
> > function in the last 'while-loop', if there is no NE card. Further
> > my Rtl8029 (OvisLink NE2000 PCI) hangs in the NE2000/PCI probe on this
> > position (code was instrumented with 'printf ()' to debug it.
>
> I had exactly the same problem with the NEPCI and RTL8029 codes with
> etherboot4.6.X. I switched back to 4.4.X and the code worked well for
> me...
>
> So long,
> Dirk
>
> ===========================================================================
> This Mail was sent to netboot mailing list by:
> Dirk von Suchodoletz <[EMAIL PROTECTED]>
> To get help about this list, send a mail with 'help' as the only string in
> it's body to [EMAIL PROTECTED] If you have problems with this list,
> send a mail to [EMAIL PROTECTED]