On Fri, May 07, 2010 at 05:55:02PM +0300, McLone wrote: > Hell Low. > > When Vista finally died on my girl's notebook, > she asked me to install FreeBSD on it, so no more viruses. > I installed RELENG_8_0/i386, to compile fresh RELENG_8/amd64 > in hopes SUJ will be availible (2gb RAM is kinda too small for ZFS). > > I've built custom kernel (GENERIC with unneeded things nodevice'd) > and rebooted it, kldload if_re, ifcionfig, so ping started to work. > I then attempted to mount_nfs, but it hung. > "re0: watchdog timeout" appeared on console. > > So the thing is, re0 stops working after sending any packet > longer than 536 bytes. I tested via ping, -S (536-8) works, > but (537-8) leads to watchdog timeout. The host cannot be > software rebooted in ~80% cases after it happened. > > Machine in question is Fujitsu-Siemens Amilo Pi 2540. > The lines from RELENG_8 dmesg are: > > re0: <RealTek 8101E/8102E/8102EL/8103E PCIe 10/100baseTX> port > 0x3000-0x30ff mem 0xf0300000-0xf0300fff irq 19 at device 0.0 on pci5 > re0: Reserved 0x1000 bytes for rid 0x18 type 3 at 0xf0300000 > re0: MSI count : 2 > re0: attempting to allocate 1 MSI vectors (2 supported) > re0: using IRQ 256 for MSI > re0: Using 1 MSI messages > re0: Chip rev. 0x34000000 > re0: MAC rev. 0x00000000 > miibus0: <MII bus> on re0 > re0: bpf attached > re0: Ethernet address: 00:03:0d:a1:a8:19 > re0: [MPSAFE] > re0: [FILTER] > > Those lines in RELENG_8_0 are the same except IRQ 259 > (i kldload if_re after boot). > RELENG_8 is from 2010.05.04 i believe; > had tried with sources as of 2 or 3 weeks earlier - same bug. > No CFLAGS except -mtune=native (i doubt it does the weather). > It doesn't matter if i kldload or just use GENERIC. > > How can i test further, except building fresh RELENG_8/i386? > How to use a magic "DDB key" and what to input in there? >
Would you try attached patch?
Index: sys/dev/re/if_re.c =================================================================== --- sys/dev/re/if_re.c (revision 207747) +++ sys/dev/re/if_re.c (working copy) @@ -1162,9 +1162,11 @@ msic = 0; if (pci_find_extcap(dev, PCIY_EXPRESS, ®) == 0) { sc->rl_flags |= RL_FLAG_PCIE; - /* Set PCIe maximum read request size to 2048. */ - if (pci_get_max_read_req(dev) < 2048) - pci_set_max_read_req(dev, 2048); + if (devid != RT_DEVICEID_8101E) { + /* Set PCIe maximum read request size to 2048. */ + if (pci_get_max_read_req(dev) < 2048) + pci_set_max_read_req(dev, 2048); + } msic = pci_msi_count(dev); if (bootverbose) device_printf(dev, "MSI count : %d\n", msic);
_______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"