bge: pxeboot leaving interface in a bad way?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

bge: pxeboot leaving interface in a bad way?

Need Coffee
Hello all,

I'm having some issues with bge on sun v40z systems with OpenBSD/amd64
3.8-stable
and -current, SMP and UP.

dmesg snippet:
bge0 at pci2 dev 2 function 0 "Broadcom BCM5703X" rev 0x02, BCM5703 A2
(0x1002): apic 5 int 1 (irq 5) address [snip correct mac addr]
brgphy0 at bge0 phy 1: BCM5703 10/100/1000baseT PHY, rev. 2
bge1 at pci2 dev 3 function 0 "Broadcom BCM5703X" rev 0x02, BCM5703 A2
(0x1002): apic 5 int 2 (irq 7) address [snip correct mac addr]
brgphy1 at bge1 phy 1: BCM5703 10/100/1000baseT PHY, rev. 2

If I boot off the disk, it works fine.  However if I use pxeboot, the
interfaces don't work
unless you try to put a packet on the wire.

In order to make the DHCP request work from my installer, I first have to:

ifconfig bge0 up
ping -nq -c 1 -w 1 255.255.255.255
dhclient bge0

Without the 1-packet ping, dhclient will fail.  For the installer this
hack is fine, but running
diskless doesn't work because the kernel's revarp never gets a packet
out of the interface...

Any help is very welcome.  Thanks in advance.

Reply | Threaded
Open this post in threaded view
|

Re: bge: pxeboot leaving interface in a bad way?

Need Coffee
Some more information I should have put in the initial post:

I saw this in OpenBSD/amd64 3.7, so it's not a recent change that did this.

After pxeboot, the link status is always "no carrier", even when the
link should be
up (gigabit auto).  What I meant by dhclient "fails" is that it
reports "no link".  The
second time it's tried, dhclient works (just like after a ping).

When the NIC is in that state ("no carrier"), no amount of ifconfigging does
anything to change this.  Only when the interface is *used* (like with
ping or another program tries to access the network) does the
interface realize that the
link is there and then it suddenly works.

Also, I tried booting a diskless kernel off the disk as well as via
tftp from pxeboot
but I always get revarp failed, error=51.  We run rarpd and bootparamd for other
boxes and they work fine, however the server never sees packets from these
(bge) clients.

Again thanks in advance


On 2/9/06, Need Coffee <[hidden email]> wrote:

> Hello all,
>
> I'm having some issues with bge on sun v40z systems with OpenBSD/amd64
> 3.8-stable
> and -current, SMP and UP.
>
> dmesg snippet:
> bge0 at pci2 dev 2 function 0 "Broadcom BCM5703X" rev 0x02, BCM5703 A2
> (0x1002): apic 5 int 1 (irq 5) address [snip correct mac addr]
> brgphy0 at bge0 phy 1: BCM5703 10/100/1000baseT PHY, rev. 2
> bge1 at pci2 dev 3 function 0 "Broadcom BCM5703X" rev 0x02, BCM5703 A2
> (0x1002): apic 5 int 2 (irq 7) address [snip correct mac addr]
> brgphy1 at bge1 phy 1: BCM5703 10/100/1000baseT PHY, rev. 2
>
> If I boot off the disk, it works fine.  However if I use pxeboot, the
> interfaces don't work
> unless you try to put a packet on the wire.
>
> In order to make the DHCP request work from my installer, I first have to:
>
> ifconfig bge0 up
> ping -nq -c 1 -w 1 255.255.255.255
> dhclient bge0
>
> Without the 1-packet ping, dhclient will fail.  For the installer this
> hack is fine, but running
> diskless doesn't work because the kernel's revarp never gets a packet
> out of the interface...
>
> Any help is very welcome.  Thanks in advance.

Reply | Threaded
Open this post in threaded view
|

Re: bge: pxeboot leaving interface in a bad way?

Need Coffee
Ok bad form for replying to self.  Sorry, I have to do it again.

Coffee has helped me realize that the kernel's revarp is actually working,
however I had to crank the retry counter in sys/netinet/if_ether.c
from 20 to 200
to get it to wait long enough for a reply.

The pxeboot stuff versus the installer stands, though  :-)

Thanks for your patience...


On 2/9/06, Need Coffee <[hidden email]> wrote:

> Some more information I should have put in the initial post:
>
> I saw this in OpenBSD/amd64 3.7, so it's not a recent change that did this.
>
> After pxeboot, the link status is always "no carrier", even when the
> link should be
> up (gigabit auto).  What I meant by dhclient "fails" is that it
> reports "no link".  The
> second time it's tried, dhclient works (just like after a ping).
>
> When the NIC is in that state ("no carrier"), no amount of ifconfigging does
> anything to change this.  Only when the interface is *used* (like with
> ping or another program tries to access the network) does the
> interface realize that the
> link is there and then it suddenly works.
>
> Also, I tried booting a diskless kernel off the disk as well as via
> tftp from pxeboot
> but I always get revarp failed, error=51.  We run rarpd and bootparamd for other
> boxes and they work fine, however the server never sees packets from these
> (bge) clients.
>
> Again thanks in advance
>
>
> On 2/9/06, Need Coffee <[hidden email]> wrote:
> > Hello all,
> >
> > I'm having some issues with bge on sun v40z systems with OpenBSD/amd64
> > 3.8-stable
> > and -current, SMP and UP.
> >
> > dmesg snippet:
> > bge0 at pci2 dev 2 function 0 "Broadcom BCM5703X" rev 0x02, BCM5703 A2
> > (0x1002): apic 5 int 1 (irq 5) address [snip correct mac addr]
> > brgphy0 at bge0 phy 1: BCM5703 10/100/1000baseT PHY, rev. 2
> > bge1 at pci2 dev 3 function 0 "Broadcom BCM5703X" rev 0x02, BCM5703 A2
> > (0x1002): apic 5 int 2 (irq 7) address [snip correct mac addr]
> > brgphy1 at bge1 phy 1: BCM5703 10/100/1000baseT PHY, rev. 2
> >
> > If I boot off the disk, it works fine.  However if I use pxeboot, the
> > interfaces don't work
> > unless you try to put a packet on the wire.
> >
> > In order to make the DHCP request work from my installer, I first have to:
> >
> > ifconfig bge0 up
> > ping -nq -c 1 -w 1 255.255.255.255
> > dhclient bge0
> >
> > Without the 1-packet ping, dhclient will fail.  For the installer this
> > hack is fine, but running
> > diskless doesn't work because the kernel's revarp never gets a packet
> > out of the interface...
> >
> > Any help is very welcome.  Thanks in advance.