Subject: kern/13460: DHCP via DP83815 chip: ip length disagrees with bytes received
To: None <gnats-bugs@gnats.netbsd.org>
From: Analysis and Solutions <info@analysisandsolutions.com>
List: netbsd-bugs
Date: 07/13/2001 18:25:59
>Number:         13460
>Category:       kern
>Synopsis:       DHCP & DP83815 chip: ip length disagrees with bytes received
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 13 15:23:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Dan Convissor
>Release:        NetBSD 1.5.1
>Organization:
Analysis and Solutions
>Environment:

 Machine         IBM 300GL, 6591-34U
 Processor       Pentium II 266
 RAM             256 mb
 BIOS Revision   NZJT42A
 Network Card    Netgear FA312 10/100 BaseT (PCI) (Chip: DP83815) (sip)
 Network         RoadRunner Cable Service
 Cable Modem     Toshiba PCX1100U
 PCI Controller  Intel FW82371AB F808YB11 SL23P
 IDE Controller  ATA-33 PCI 32-bit busmaster on planar
 Video Control.  Cirrus Logic GD5465-HC-C
 Sound Card      Creative Technologies CT2980 (ISA) (Chip: CT2502-SDQ)
 Printer         HP OfficeJet 600


>Description:
I install NetBSD.  Then tried "dhclient sip0".  Worked first time.  Was
able to ping and ftp the outside world.  Upon rebooting, dhclient obtained
an IP address, but while doing so it produced the following error:

    DHCPREQUEST on sip0 to 255.255.255.255 port 67
    ip length 328 disagrees with bytes received 330.
    accepting packet with data after udp payload.

Pinging my "bound to" IP address worked, but it took an unusually
long time for the results to be displayed.  Pinging the IP address
of the assigned name servers or any other IP address returned
"no route to host" after a long delay.

I considered the possibility that files were modified and tripped
up the dhclient.  So, I reinstalled, then backed up all of the
/etc files.  Tried dhclient.  Worked.  Shutdown, restart, then do:

  rm -rf /etc
  cp -RpL /etc.orig /etc
  rm /var/db/dhclient.leases
  rm /var/run/dhclient.pid
  dhclient sip0

The same problem arose.

I've tried SEVERAL reinstalls.  This pattern has repeated itself
on nearly every try.  But, not EVERY try.  On one reinstall, the
error happened the first time I installed.  On a different install,
things didn't choke up till the second reboot, but unchoked for
several reboots, but eventually locked up for the next five reboots
before I gave up.

From my experimentation and reading some pages on the net, I stronlgy
suspect the network card driver.  The sip driver for the DP83815 driver
was updated in NetBSD 1.5.1, but doesn't seem to have been fully fixed.

Here are some pages that had interesting leads:

http://marc.theaimsgroup.com/?l=dhcp-server&m=99065029016883&w=2
http://marc.theaimsgroup.com/?l=dhcp-server&m=96266206206593&w=2
http://www.scyld.com/pipermail/realtek/2000-October/000658.html

I have had the same problem in 1.5.1_BETA2, 1.5.1 and even
the -current from 28 June.

The card works fine under Windows NT.


>How-To-Repeat:
	Described above.

>Fix:
	Reinstall.  Most times, reinstalling solves the problem.
	But the problem is only solved for one try.  Also, this
	didn't work 100% of the time.
>Release-Note:
>Audit-Trail:
>Unformatted:
 >System: NetBSD base.nyc.rr.com 1.5.1 NetBSD 1.5.1 (GENERIC) #56: Mon Jul 2 15:54:23 CEST 2001 he@nsa.uninett.no:/usr/src/sys/arch/i386/compile/GENERIC i386