Of all the gin joints in all the towns in all the world, Chuck Robey had to 
walk into mine and say:

> I'm trying to get current up on another test box,

Who's exact CPU type and hardware configuration must be a state secret,
since you didn't describe them here.

Come _on_ people, how often do I have to keep harping on this? Don't just
tell me "I have a box." Tell me about it!

> and this one has a CNET
> AX8814 equipped network card.  One second after I do a ifconfig:
> 
> ifconfig dc0 inet (somaddr) netmask (somemask)
> 
> it hangs.  It does this with a completely static kernel (shouldn't be
> loading any modules), even if I start up in single-user.  My config has:
> 
> device          isa
> device          eisa
> device          pci
> device          miibus          # MII bus support
> device          dc0
> 
> as far as network.  My dmesg on the machine shows what I take to be a
> normal dc0 entry, but something I don't recognize for "amphy0" (I added
> cariage returns 'cause I know my mailer will do a worse job if I don't):
> 
> dc0: <ASIX AX88140A 10/100BaseTX> port 0x6100-0x617f
>      mem 0xf0201000-0xf020107f irq 12 at device 19.0 on pci0
> dc0: Ethernet address: 00:80:ad:41:4a:95
> miibus0: <MII bus> on dc0
> amphy0: <Am79C873 10/100 media interface> on miibus0
> amphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> 
> Any idea why my hang might be happening?

amphy is the driver for the transceiver on the card with the ASIX ethernet
controller. The ASIX AX88140A doesn't have a built-in transceiver. It's
actually the transceiver (PHY) that does the autonegotiation. I suspect
it's really a Davicom PHY, but the Davicom parts look like they're designed
to duplicate the register layout and operation of certain AMD PHYs, and
they claim to have the same vendor/device ID info.

Anyway. This is almost certainly a hardware problem. You haven't provided
enough evidence for me to suspect it could be anything else (it would have
helped if you had tried compiling the kernel with options DDB and attempted
to break into the debugger to see where it was stuck -- if you actually
did try this and it was wedged so bad that you couldn't break into the
debugger, then you should have said so). The usual suspect in this sort of
thing is some sort of problem with bus master DMA. Maybe you tried to 
overclock this system and got the timings wrong. Maybe the PCI chipset has
bugs. Maybe it doesn't get along well with the ASIX part. Maybe you have
an old machine that doesn't support bus master DMA on all of its slots,
and you put the card in a slave-only slot without realizing it.

As soon as you ifconfig an interface up, the kernel tries to send a gratuitous
ARP through it, which triggers a transmission and a DMA. If there's a 
problem, this DMA operation could wedge the bus. Some of the other cards
need to do a DMA just to program the receive filter (though the ASIX is
not one of these).

I have tested the dc driver with an ASIX card and I'm pretty sure I didn't
do anything recently to goof it up, otherwise somebody else would have
complained by now. (Right guys? Right? Bah.) I would try to scrounge up
an MS-DOG boot floppy and run the diagnostics on the diskette supplied
with the card. If the vendor-supplied diags also wedge the system during
a transmission, then you need to check your hardware.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         [EMAIL PROTECTED] | Center for Telecommunications Research
Home:  [EMAIL PROTECTED] | Columbia University, New York City
=============================================================================
 "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
=============================================================================


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to