Re: Passing io/eth params to 8319too driver

2002-05-21 Thread dman
On Mon, May 20, 2002 at 10:13:04PM -0500, Donald R. Spoon wrote:
 
| 1.  All RealTek 8139 cards that I know about are PCI cards.  If yours is 
| NOT a PCI card (ISA??) then I would re-check the chipset number and make 
| absolutely sure that it is the correct one.

I've got a rtl8139 PCMCIA card (made by D-Link).  The 8139too driver
works fine with it.

| 2.  You have very little control over passing IO/IRQ arguments to PCI 
| cards. The IO/IRQ is set by your BIOS and the IRQ assignments are 
| entirely dependent on the particular PCI slot the card is using.

I think you made a little mistake here.  I agree that the IO is based
on which slot the card uses, but the IRQ can be assigned by the OS.  I
know this because, with my 2 tulip cards, I specify the IO and IRQ to
the driver so that each card uses a separate IRQ.

| There is not any requirement to pass these arguments to the driver
| module on PCI cards in Linux as linux will take care of this
| automatically for PCI cards.  The fact that you ARE trying to pass
| IO/IRQ values to the kernel might be messing it up!  I would
| recommend you stop trying to pass specific IO/IRQ values to the
| module and let the kernel do its thing.

Agreed, unless you specifically want to make the second NIC use a
different IRQ.  In that case, my recommendation is to see what IO
assignments the BIOS/kernel gave to the NICs and use that solely for
identifying which nic gets which IRQ.  Another option is to use
different cards so that different drivers are used and you don't need
to specify the IO to identify it.

| 3.  There are now several different models of the 8139 chipset.  The "a" 
| and "b" series work quite well with the rtl8139.o and 8139too.o modules 
| in the 2.2.xx series kernel, as well as with the 8139too.o module in the 
|  2.4.xx kernels.  The newer "c" models has some problems with these 
| particular drivers for some people.

FYI that PCMCIA card I mentioned above is Rev C.

kernel: 8139too Fast Ethernet driver 0.9.24
kernel: eth0: D-Link DFE-690TXD (RealTek RTL8139) at 0xd0c7d000, 
00:50:ba:61:71:b0, IRQ 11
kernel: eth0:  Identified 8139 chip type 'RTL-8139C'

HTH,
-D

-- 

The truly righteous man attains life,
but he who pursues evil goes to his death.
Proverbs 11:19
 
GnuPG key : http://dman.ddts.net/~dman/public_key.gpg



pgpgLGwtJyJ2Q.pgp
Description: PGP signature


Re: Passing io/eth params to 8319too driver

2002-05-20 Thread Donald R. Spoon

Jonathan Matthews <[EMAIL PROTECTED]> wrote:

> -SNIP- <

I'm guessing that, under 2.4

a) I have to use 8139too



Not necessarily... see below.


Since the hang occurs at boot immediately after
"Configuring network interfaces: " with no errors reported:

b) it's the driver's probing of other io addresses that's causing
the hang.

Note that (b) is, of course, very probably, wrong.



I think your problem is happening much later than the kernel's detection 
of the NIC.  This message is generated by the /etc/init.d/networking 
script that is run after the kernel has booted and as part of the 
/etc/rcS.d/ initscripts.  The IO/IRQ probing has already been done.  You 
can get an apparent "hang" at this point if you have the interface setup 
to use dhcp and it cannot find a dhcp server.  There can be several 
reasons for this, including improper init of the NIC.




So, to cut to the chase: how do I pass the io and irq values to the
driver?

Please note that I'm aware of having (after an update-modules) the two
lines
alias eth0 8139too
options 8139too io=0xe00 irq=12
in /etc/modules.conf

and also the line

append="ether=12,0xe00,eth0"
in /etc/lilo.conf.

Neither one appears to do much good.

Any 8139too-under-2.4 users out there able to lend a hand?

cheers!
jc


I have about 4 of these RealTek 8139 cards in use here.  Three of them 
are running on the "stock" debian 2.4.18 kernel using the 8139too.o 
driver... all without problems.  Here is some info that I have collected 
over the years that might be useful in helping you track down the 
problem.  Appologies if you have already done this...just trying to 
cover all bases.


1.  All RealTek 8139 cards that I know about are PCI cards.  If yours is 
NOT a PCI card (ISA??) then I would re-check the chipset number and make 
absolutely sure that it is the correct one.


2.  You have very little control over passing IO/IRQ arguments to PCI 
cards. The IO/IRQ is set by your BIOS and the IRQ assignments are 
entirely dependent on the particular PCI slot the card is using.  There 
is not any requirement to pass these arguments to the driver module on 
PCI cards in Linux as linux will take care of this automatically for PCI 
cards.  The fact that you ARE trying to pass IO/IRQ values to the kernel 
might be messing it up!  I would recommend you stop trying to pass 
specific IO/IRQ values to the module and let the kernel do its thing.


3.  There are now several different models of the 8139 chipset.  The "a" 
and "b" series work quite well with the rtl8139.o and 8139too.o modules 
in the 2.2.xx series kernel, as well as with the 8139too.o module in the 
 2.4.xx kernels.  The newer "c" models has some problems with these 
particular drivers for some people.  In the 2.4.18 kernel that I have, 
there is a "8149cp.o" module, which I believe is for the newer models. 
I don't have the newer models, so this is just a guess, but you might 
want to try the "8139cp.o" module (without any parameters).  As I said, 
this is just a "guess".  The fact that the card works with both of the 
regular modules in your 2.2.xx kernels tells me this is probably NOT a 
factor for you.


4.  I would temporarily disable the init of the network... particularly 
this interface.  You can do this by boot up to run-level 1 and/or 
editing your /etc/network/interface and taking eth0 (or whatever the 
interface for this card is) out of any "auto" statement.  You can then 
manually expolore the system and try to pin-point the problem.  See if 
the module is being loaded (lsmod) and explore the IRQs and IOs to see 
if you have any conflicts.  If you see that eth0 has an assigned IRQ of 
"0" go into your BIOS and reset the "PnP OS" option to "off" or "no". 
Look for something else sitting on IRQ 12... a P/S-2 mouse is a likely 
suspect.


5.  Check your dmesg file and see if it detects the 8139 NIC.  This 
should happen before any of the initscripts are run, and there should be 
some info in your logs, even on the "failed" boots.


I suspect your "problem" is somewhere in the /etc/network/interface file 
rather than in the module...  again, just a guess.


Cheers & Good Luck!

-Don Spoon-


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: Passing io/eth params to 8319too driver

2002-05-20 Thread W. Paul Mills

Not sure on the passing parameters, but I have four such cards.
DLink DFE-530TX+, 2 of them work fine with 2.4.x kernels, but
the two newer ones will not. And the factory supplied driver
source will not compile with 2.4.x kernels. Perhaps you are
caught with something like this. Actually there are two 8139
realtek drivers with the 2.4.x kernels, but neither have worked
for me. Seems to be, at least in part, a problem with the chip
ID's that the kernel finds. I have had no luck trying to patch
these drivers to get them to work.

Paul

-- 
*  For God so loved the world that He gave his only begotten Son,  *
*  that whoever believes in Him should not perish...John 3:16  *
 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]