Bug 167827

Summary: [re] RTL8111/8168B Issues (stalling/only 100Mb)
Product: Base System Reporter: Christopher May <Maquis196>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Open ---    
Severity: Affects Only Me    
Priority: Normal    
Version: 9.0-RELEASE   
Hardware: Any   
OS: Any   

Description Christopher May 2012-05-12 18:30:12 UTC
On the Asus E45M1-I Deluxe motherboard the onboard NIC is a Realtek 8111E Gigabit. 

pciconf -lv output;

re0@pci0:4:0:0:	class=0x020000 card=0x84321043 chip=0x816810ec rev=0x06 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
    class      = network

Now this motherboard only syncs to the gigabit switch at 100Mb. When rsyncing I can only get ~6.7Mb/s out of it right until it stalls and once that happens it doesn't resume.

The official Realtek drivers don't support BSD9 (errors in compile). I've enabled the stats and got this after stopping rsync;

re0 statistics:
Tx frames : 83761
Rx frames : 44381
Tx errors : 0
Rx errors : 0
Rx missed frames : 0
Rx frame alignment errs : 0
Tx single collisions : 0
Tx multiple collisions : 0
Rx unicast frames : 44040
Rx broadcast frames : 341
Rx multicast frames : 0
Tx aborts : 0
Tx underruns : 0

I saw it mentioned in forum about others having this problem but couldn't find any PR's for it. So apologies if this is dupe. I'm able to run any tests anyone requests on this.

How-To-Repeat: Just use the NIC.
Comment 1 maquis196 2012-05-12 21:07:30 UTC
Followup... (sorry, first BR if I'm doing this wrong)

I can send data to the bsd box at it will run flat out at 11Mb/s. I
tried sending the data back and it managed exactly  32768 bytes before
it stalled. I've tried different MTU sizes, and rate limits on rsync.
Nothing I've tried so far has worked. Hope this information helps a
bit.

P.S - willing to run whatever debug, patches, trials or tests to help fix this.

Cheers,
Chris
Comment 2 maquis196 2012-05-12 22:46:37 UTC
After more testing it seems an scp will run at link speed if I pull
the file from another box. The issue is pushing data and I'm unsure
what else I can test at this point. Hope it helps.

Chris
Comment 3 Pyun YongHyeon freebsd_committer freebsd_triage 2012-05-14 05:38:47 UTC
State Changed
From-To: open->feedback

If the issue happens only when you use rsync the issue could be 
different thing. To narrow down the issue, exclude any disk IOs 
(e.g. rsync) and try benchmark re(4) with netperf.  Depending on 
controller models, performance number may vary but you should be 
able to get more than 700Mbps without TSO. With TSO, you may be 
able to get 700-930Mbps. 
If you still see the issue with netperf, show me the output of 
dmesg(8) and 'ifconfig re0'. 


Comment 4 Pyun YongHyeon freebsd_committer freebsd_triage 2012-05-14 05:38:47 UTC
Responsible Changed
From-To: freebsd-amd64->yongari

Grab.
Comment 5 maquis196 2012-05-14 22:14:32 UTC
Hi, thanks for the followup! Netperf to my main machine produces the
following results;

[root@crane ~]# netperf -H 192.168.1.30
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
192.168.1.30 (192.168.1.30) port 0 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 87380  32768  32768    10.13      94.14

Now what's interesting is that I tried to force the issue with the following;

ifconfig_re0="inet 192.168.1.120 netmask 255.255.255.0 media
1000baseT/UTP mediaopt full-duplex"

and after the link went up and down a few times (based on observation
of the switch) the box crashed. I had to reboot, nothing else even got
me a terminal. The other difference between this box and my linux
server is that the socket and message sizes are 16k each yet 32k on
BSD.

Also, I created a ramdisk to avoid disk io and same issue;

[root@crane /mnt/tmp]# dd if=/dev/urandom of=./test.img bs=1024 count=502400
502400+0 records in
502400+0 records out
514457600 bytes transferred in 20.235369 secs (25423683 bytes/sec)
[root@crane /mnt/tmp]# ls -alh
total 502570
drwxr-xr-x  3 root  wheel      512B May 15 05:10 .
drwxr-xr-x  3 root  wheel        3B May 15 05:06 ..
drwxrwxr-x  2 root  operator   512B May 15 05:09 .snap
-rw-r--r--  1 root  wheel      490M May 15 05:10 test.img
[root@crane /mnt/tmp]# scp test.img root@192.168.1.30:/root/
Password:
test.img
     0%  592KB 254.8KB/s - stalled -

-------------------------- dmesg ---------------------
Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012
    root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
CPU: AMD E-450 APU with Radeon(tm) HD Graphics (1649.98-MHz K8-class CPU)
  Origin = "AuthenticAMD"  Id = 0x500f20  Family = 14  Model = 2  Stepping = 0
  Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x802209<SSE3,MON,SSSE3,CX16,POPCNT>
  AMD Features=0x2e500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM>
  AMD Features2=0x35ff<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,IBS,SKINIT,WDT>
  TSC: P-state invariant, performance statistics
real memory  = 8589934592 (8192 MB)
avail memory = 7808147456 (7446 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <ALASKA A M I>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ACPI Warning: Optional field Pm2ControlBlock has zero address or
length: 0x0000000000000000/0x1 (20110527/tbfadt-586)
ioapic0: Changing APIC ID to 0
ioapic0 <Version 2.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <ALASKA A M I> on motherboard
ACPI Error: [RAMB] Namespace lookup failure, AE_NOT_FOUND (20110527/psargs-392)
ACPI Exception: AE_NOT_FOUND, Could not execute arguments for [RAMW]
(Region) (20110527/nsinit-380)
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 550
Event timer "HPET1" frequency 14318180 Hz quality 450
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0xf000-0xf0ff mem
0xc0000000-0xcfffffff,0xfeb00000-0xfeb3ffff irq 18 at device 1.0 on
pci0
hdac0: <ATI (Unknown) High Definition Audio Controller> mem
0xfeb44000-0xfeb47fff irq 19 at device 1.1 on pci0
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 4.0 on pci0
pci1: <ACPI PCI bus> on pcib1
ahci0: <ATI IXP700 AHCI SATA controller> port
0xf140-0xf147,0xf130-0xf133,0xf120-0xf127,0xf110-0xf113,0xf100-0xf10f
mem 0xfeb4f000-0xfeb4f3ff irq 19 at device 17.0 on pci0
ahci0: AHCI v1.20 with 6 6Gbps ports, Port Multiplier supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich2: <AHCI channel> at channel 2 on ahci0
ahcich3: <AHCI channel> at channel 3 on ahci0
ahcich4: <AHCI channel> at channel 4 on ahci0
ahcich5: <AHCI channel> at channel 5 on ahci0
ohci0: <OHCI (generic) USB controller> mem 0xfeb4e000-0xfeb4efff irq
18 at device 18.0 on pci0
usbus0: <OHCI (generic) USB controller> on ohci0
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xfeb4d000-0xfeb4d0ff
irq 17 at device 18.2 on pci0
usbus1: EHCI version 1.0
usbus1: <EHCI (generic) USB 2.0 controller> on ehci0
ohci1: <OHCI (generic) USB controller> mem 0xfeb4c000-0xfeb4cfff irq
18 at device 19.0 on pci0
usbus2: <OHCI (generic) USB controller> on ohci1
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xfeb4b000-0xfeb4b0ff
irq 17 at device 19.2 on pci0
usbus3: EHCI version 1.0
usbus3: <EHCI (generic) USB 2.0 controller> on ehci1
pci0: <serial bus, SMBus> at device 20.0 (no driver attached)
hdac1: <ATI SB600 High Definition Audio Controller> mem
0xfeb40000-0xfeb43fff irq 16 at device 20.2 on pci0
isab0: <PCI-ISA bridge> at device 20.3 on pci0
isa0: <ISA bus> on isab0
pcib2: <ACPI PCI-PCI bridge> at device 20.4 on pci0
pci2: <ACPI PCI bus> on pcib2
ohci2: <OHCI (generic) USB controller> mem 0xfeb4a000-0xfeb4afff irq
18 at device 20.5 on pci0
usbus4: <OHCI (generic) USB controller> on ohci2
pcib3: <ACPI PCI-PCI bridge> at device 21.0 on pci0
pci3: <ACPI PCI bus> on pcib3
ath0: <Atheros 9285> mem 0xfea00000-0xfea0ffff irq 16 at device 0.0 on pci3
ath0: AR9285 mac 192.2 RF5133 phy 14.0
pcib4: <ACPI PCI-PCI bridge> at device 21.1 on pci0
pci4: <ACPI PCI bus> on pcib4
re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port
0xe000-0xe0ff mem 0xd0004000-0xd0004fff,0xd0000000-0xd0003fff irq 17
at device 0.0 on pci4
re0: Using 1 MSI-X message
re0: Chip rev. 0x2c000000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX,
100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master,
1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow,
1000baseT-FDX-flow-master, auto, auto-flow
re0: Ethernet address: c8:60:00:bc:f1:33
pcib5: <ACPI PCI-PCI bridge> at device 21.2 on pci0
pci5: <ACPI PCI bus> on pcib5
xhci0: <XHCI (generic) USB 3.0 controller> mem 0xfe900000-0xfe901fff
irq 18 at device 0.0 on pci5
xhci0: 32 byte context size.
usbus5 on xhci0
pcib6: <ACPI PCI-PCI bridge> at device 21.3 on pci0
pci6: <ACPI PCI bus> on pcib6
xhci1: <XHCI (generic) USB 3.0 controller> mem 0xfe800000-0xfe801fff
irq 19 at device 0.0 on pci6
xhci1: 32 byte context size.
usbus6 on xhci1
ohci3: <OHCI (generic) USB controller> mem 0xfeb49000-0xfeb49fff irq
18 at device 22.0 on pci0
usbus7: <OHCI (generic) USB controller> on ohci3
ehci2: <EHCI (generic) USB 2.0 controller> mem 0xfeb48000-0xfeb480ff
irq 17 at device 22.2 on pci0
usbus8: EHCI version 1.0
usbus8: <EHCI (generic) USB 2.0 controller> on ehci2
acpi_button0: <Power Button> on acpi0
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ppc0: cannot reserve I/O port range
acpi_throttle0: <ACPI CPU Throttling> on cpu0
hwpstate0: <Cool`n'Quiet 2.0> on cpu0
acpi_throttle1: <ACPI CPU Throttling> on cpu1
acpi_throttle1: failed to attach P_CNT
device_attach: acpi_throttle1 attach returned 6
ZFS filesystem version 5
ZFS storage pool version 28
Timecounters tick every 1.000 msec
hdac0: HDA Codec #0: ATI R6xx HDMI
pcm0: <HDA ATI R6xx HDMI PCM #0 HDMI> at cad 0 nid 1 on hdac0
hdac1: HDA Codec #0: Realtek ALC892
pcm1: <HDA Realtek ALC892 PCM #0 Analog> at cad 0 nid 1 on hdac1
pcm2: <HDA Realtek ALC892 PCM #1 Analog> at cad 0 nid 1 on hdac1
pcm3: <HDA Realtek ALC892 PCM #2 Digital> at cad 0 nid 1 on hdac1
pcm4: <HDA Realtek ALC892 PCM #3 Digital> at cad 0 nid 1 on hdac1
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 480Mbps High Speed USB v2.0
usbus4: 12Mbps Full Speed USB v1.0
usbus5: 5.0Gbps Super Speed USB v3.0
usbus6: 5.0Gbps Super Speed USB v3.0
usbus7: 12Mbps Full Speed USB v1.0
usbus8: 480Mbps High Speed USB v2.0
ugen0.1: <ATI> at usbus0
uhub0: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <ATI> at usbus1
uhub1: <ATI EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ugen2.1: <ATI> at usbus2
uhub2: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
ugen3.1: <ATI> at usbus3
uhub3: <ATI EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus3
ugen4.1: <ATI> at usbus4
uhub4: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus4
ugen5.1: <0x1033> at usbus5
uhub5: <0x1033 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus5
ugen6.1: <0x1033> at usbus6
uhub6: <0x1033 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus6
ugen7.1: <ATI> at usbus7
uhub7: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus7
ugen8.1: <ATI> at usbus8
uhub8: <ATI EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus8
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <WDC WD30EZRX-00MMMB0 80.00A80> ATA-8 SATA 3.x device
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 2861588MB (5860533168 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
ada1 at ahcich1 bus 0 scbus1 target 0 lun 0
ada1: <WDC WD30EZRX-00MMMB0 80.00A80> ATA-8 SATA 3.x device
ada1: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 2861588MB (5860533168 512 byte sectors: 16H 63S/T 16383C)
ada1: Previously was known as ad6
ada2 at ahcich2 bus 0 scbus2 target 0 lun 0
ada2: <WDC WD30EZRX-00MMMB0 80.00A80> ATA-8 SATA 3.x device
ada2: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada2: Command Queueing enabled
ada2: 2861588MB (5860533168 512 byte sectors: 16H 63S/T 16383C)
ada2: Previously was known as ad8
ada3 at ahcich3 bus 0 scbus3 target 0 lun 0
ada3: <WDC WD30EZRX-00MMMB0 80.00A80> ATA-8 SATA 3.x device
ada3: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada3: Command Queueing enabled
ada3: 2861588MB (5860533168 512 byte sectors: 16H 63S/T 16383C)
ada3: Previously was known as ad10
SMP: AP CPU #1 Launched!
Timecounter "TSC-low" frequency 12890485 Hz quality 800
uhub4: 2 ports with 2 removable, self powered
uhub7: 4 ports with 4 removable, self powered
uhub0: 5 ports with 5 removable, self powered
uhub2: 5 ports with 5 removable, self powered
uhub5: 4 ports with 4 removable, self powered
uhub6: 4 ports with 4 removable, self powered
ugen5.2: <Logitech> at usbus5
ukbd0: <Logitech USB Receiver, class 0/0, rev 2.00/12.01, addr 1> on usbus5
kbd2 at ukbd0
ums0: <Logitech USB Receiver, class 0/0, rev 2.00/12.01, addr 1> on usbus5
ums0: 16 buttons and [XYZT] coordinates ID=2
uhid0: <Logitech USB Receiver, class 0/0, rev 2.00/12.01, addr 1> on usbus5
uhub8: 4 ports with 4 removable, self powered
uhub1: 5 ports with 5 removable, self powered
uhub3: 5 ports with 5 removable, self powered
Trying to mount root from zfs:zroot []...
ugen7.2: <vendor 0x0cf3> at usbus7
re0: link state changed to UP
re0: link state changed to DOWN
re0: link state changed to UP


---------- ifconfig --------------

[root@crane /mnt/tmp]# ifconfig
ath0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290
	ether 74:2f:68:29:7e:92
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
	status: no carrier
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
	ether c8:60:00:bc:f1:33
	inet 192.168.1.120 netmask 0xffffff00 broadcast 192.168.1.255
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=3<RXCSUM,TXCSUM>
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0xc
	inet 127.0.0.1 netmask 0xff000000
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Comment 6 pyunyh 2012-05-15 17:59:14 UTC
On Mon, May 14, 2012 at 09:20:09PM +0000, Christopher May wrote:

[...]

>  Hi, thanks for the followup! Netperf to my main machine produces the
>  following results;
>  
>  [root@crane ~]# netperf -H 192.168.1.30
>  MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
>  192.168.1.30 (192.168.1.30) port 0 AF_INET
>  Recv   Send    Send
>  Socket Socket  Message  Elapsed
>  Size   Size    Size     Time     Throughput
>  bytes  bytes   bytes    secs.    10^6bits/sec
>  
>   87380  32768  32768    10.13      94.14

Ok, it saturated the established link and seems to have no issue in
transmit path.

>  
>  Now what's interesting is that I tried to force the issue with the following;
>  
>  ifconfig_re0="inet 192.168.1.120 netmask 255.255.255.0 media
>  1000baseT/UTP mediaopt full-duplex"
>  

Please don't do that.  For 1000baseT link, you should always use
auto-negotiation.  If you have to use manual link configuration to
handle broken switches, the link partner also should be forced to
use the same manual configuration. For that case, the negotiated
link is half-duplex. Sometimes you may not be able to establish a
1000baseT link at all.

>  and after the link went up and down a few times (based on observation
>  of the switch) the box crashed. I had to reboot, nothing else even got

I have no idea how this can happen. Did system panic? If yes, could
you show me the output of backtrace?
Are you talking about "not-able-to-get-login-prompt-via-ssh" after
manual link configuration?

>  me a terminal. The other difference between this box and my linux
>  server is that the socket and message sizes are 16k each yet 32k on
>  BSD.
>  

Message size should not be a problem.

>  Also, I created a ramdisk to avoid disk io and same issue;
>  

No, you have to completely disable ramdisk access to know whether
re(4) have issues or not. As I said, if you see the issue only when
disk IOs are active the issue is not in re(4).

>  [root@crane /mnt/tmp]# dd if=/dev/urandom of=./test.img bs=1024 count=502400
>  502400+0 records in
>  502400+0 records out
>  514457600 bytes transferred in 20.235369 secs (25423683 bytes/sec)
>  [root@crane /mnt/tmp]# ls -alh
>  total 502570
>  drwxr-xr-x  3 root  wheel      512B May 15 05:10 .
>  drwxr-xr-x  3 root  wheel        3B May 15 05:06 ..
>  drwxrwxr-x  2 root  operator   512B May 15 05:09 .snap
>  -rw-r--r--  1 root  wheel      490M May 15 05:10 test.img
>  [root@crane /mnt/tmp]# scp test.img root@192.168.1.30:/root/
>  Password:
>  test.img
>       0%  592KB 254.8KB/s - stalled -
>  
>  -------------------------- dmesg ---------------------

[...]
Comment 7 maquis196 2012-05-17 20:35:16 UTC
Hi, again thanks for taking the time to reply.

>I have no idea how this can happen. Did system panic? If yes, could
>you show me the output of backtrace?
>Are you talking about "not-able-to-get-login-prompt-via-ssh" after
>manual link configuration?

No I meant to say console, I couldn't get any prompt up on any tty.
I've yet to see if its reproducible since the trigger as you say is
something I shouldn't do. I'll test more down this route if interested
though.


>No, you have to completely disable ramdisk access to know whether
>re(4) have issues or not. As I said, if you see the issue only when
>disk IOs are active the issue is not in re(4).

I'm unsure on how to do this/test this. I'm from a Linux background
and never tested network throughput so I'd rather ask and be pointed
at a handbook somewhere then spend a lot of time potentially reading
up on the wrong thing!

All in all, I'm unsure on how to proceed, is there anything I could
compile in or out the kernel to test? I'm able to live at 100M
connection, but sure would be nice for more when everything should
support it :).
Comment 8 maquis196 2012-05-17 22:40:39 UTC
Hi again... well this is quite interesting...

After trying the currently connected cables I own that currently run
at 1Gbps between my other machines and the switch (still 100mb on
each) I decided to source a brand new cat6 cable from work. Now I
swapped the old cable out and it still came up at 100M.

Due to something unrelated to this I wanted to reboot and I just
noticed that my switch is all green...

So that's the 1Gbps working properly (I can only assume this
nic/driver has issue with short (1m) cat5e cables that work perfectly
on 5 other nics I have - I didn't think cat6 was that required sorry).
However I'm still unable to push data off the box via scp/rsync. Could
this be related or a separate issue?

I ran netperf again just to make sure everything was above board;

# netperf -H 192.168.1.30
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
192.168.1.30 (192.168.1.30) port 0 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 87380  32768  32768    10.02     756.11


re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
	ether c8:60:00:bc:f1:33
	inet 192.168.1.120 netmask 0xffffff00 broadcast 192.168.1.255
	inet6 fe80::ca60:ff:febc:f133%re0 prefixlen 64 scopeid 0x7
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
Comment 9 pyunyh 2012-05-20 23:11:16 UTC
On Thu, May 17, 2012 at 09:50:04PM +0000, Christopher May wrote:
> The following reply was made to PR kern/167827; it has been noted by GNATS.
> 
> From: Christopher May <maquis196@gmail.com>
> To: bug-followup@FreeBSD.org, Maquis196@googlemail.com
> Cc:  
> Subject: Re: kern/167827: [re] RTL8111/8168B Issues (stalling/only 100Mb)
> Date: Thu, 17 May 2012 22:40:39 +0100
> 
>  Hi again... well this is quite interesting...
>  
>  After trying the currently connected cables I own that currently run
>  at 1Gbps between my other machines and the switch (still 100mb on
>  each) I decided to source a brand new cat6 cable from work. Now I
>  swapped the old cable out and it still came up at 100M.
>  
>  Due to something unrelated to this I wanted to reboot and I just
>  noticed that my switch is all green...
>  
>  So that's the 1Gbps working properly (I can only assume this
>  nic/driver has issue with short (1m) cat5e cables that work perfectly
>  on 5 other nics I have - I didn't think cat6 was that required sorry).
>  However I'm still unable to push data off the box via scp/rsync. Could
>  this be related or a separate issue?
>  

Hmm, not sure. CAT6 cable is preferred one but normally CAT5e cable
also should have no problems.  RealTek Linux driver seems to use a
lot of DSP fixup code which is not included in FreeBSD. I don't
know what the DSP fixups do but I guess it could be related with
signal quality control as you noticed in CAT6 cable.

My understanding for the issue is two things.
 1) 1000Mbps link is not established(i.e. show up as 100Mbps)
 2) When sending large files with scp, transmission fails
Is that correct?

For the first issue, please check negotiated speed/duplex of
established link. ifconfig(8) will show current established
link's speed/duplex of re(4). Check link partner(i.e. switch) also
agrees on the speed/duplex of the link.  If your switch does not
provide any way to configure/view link configuration, use
stand-alone box and directly connect two boxes with an UTP cable
and check established link's speed/duplex of link partner.

For the second issue, I still have no idea how this is related with
re(4) since you seem to have no problems with netperf. But let's
rule out the first case and see whether the second issue also
happens.

>  I ran netperf again just to make sure everything was above board;
>  
>  # netperf -H 192.168.1.30
>  MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
>  192.168.1.30 (192.168.1.30) port 0 AF_INET
>  Recv   Send    Send
>  Socket Socket  Message  Elapsed
>  Size   Size    Size     Time     Throughput
>  bytes  bytes   bytes    secs.    10^6bits/sec
>  
>   87380  32768  32768    10.02     756.11

This looks weired. I can't explain how can you get 756Mbps as you
said you got 100Mbps link.

>  
>  
>  re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>  	options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
>  	ether c8:60:00:bc:f1:33
>  	inet 192.168.1.120 netmask 0xffffff00 broadcast 192.168.1.255
>  	inet6 fe80::ca60:ff:febc:f133%re0 prefixlen 64 scopeid 0x7
>  	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>  	media: Ethernet autoselect (1000baseT <full-duplex>)
>  	status: active

I also noticed you sent slightly different mail to
bug-followup@FreeBSD.org. Please don't do that. It confuses a lot
to my me and other users that follows the PR.
Comment 10 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:01:45 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped