[9.1-RC2] No gigabit speeds with em(4) card

Greetings!

I have a problem with my router after upgrading to RELENG_9_1.
One of the network cards, a PCI Intel 1000/GT Desktop Adapter (82541PI) using the em(4) driver, defaults to 100 mbit (100baseTX <full-duplex>) and is unable to run at gigabit speeds. I have tried replacing the cable, trying two different (gigabit) switches and even connecting it directly to my computer, but nothing seems to do the trick.
Manually configuring the card to run at gigabit speeds with ifconfig(8) using media 1000baseT or media 1000baseTX disconnects the machine from the network altogether and changes the link status to "no carrier" until I manually set the media to autoselect or 100baseTX again. dmesg(1) does not output anything useful, and the other interface in the router, a re(4) card, auto-negotiates to 1000baseT just fine.

I know I'm asking for trouble by using a release candidate, but while I'd like to file a bug report, I don't have the slightest idea about how to troubleshoot the problem and what kind of information that might be useful for debugging a scenario like this.

Output of sysctl dev.em, in case that is of any use:
Code:
dev.em.0.%desc: Intel(R) PRO/1000 Legacy Network Connection 1.0.4
dev.em.0.%driver: em
dev.em.0.%location: slot=0 function=0
dev.em.0.%pnpinfo: vendor=0x8086 device=0x107c subvendor=0x8086 subdevice=0x1376 class=0x020000
dev.em.0.%parent: pci4
dev.em.0.nvm: -1
dev.em.0.rx_int_delay: 0
dev.em.0.tx_int_delay: 66
dev.em.0.rx_abs_int_delay: 66
dev.em.0.tx_abs_int_delay: 66
dev.em.0.rx_processing_limit: 100
dev.em.0.flow_control: 3
dev.em.0.mbuf_alloc_fail: 0
dev.em.0.cluster_alloc_fail: 0
dev.em.0.dropped: 0
dev.em.0.tx_dma_fail: 0
dev.em.0.tx_desc_fail1: 0
dev.em.0.tx_desc_fail2: 84955
dev.em.0.rx_overruns: 0
dev.em.0.watchdog_timeouts: 0
dev.em.0.device_control: 1480327745
dev.em.0.rx_control: 32770
dev.em.0.fc_high_water: 47104
dev.em.0.fc_low_water: 45604
dev.em.0.fifo_workaround: 0
dev.em.0.fifo_reset: 0
dev.em.0.txd_head: 218
dev.em.0.txd_tail: 220
dev.em.0.rxd_head: 237
dev.em.0.rxd_tail: 236
dev.em.0.mac_stats.excess_coll: 0
dev.em.0.mac_stats.single_coll: 0
dev.em.0.mac_stats.multiple_coll: 0
dev.em.0.mac_stats.late_coll: 0
dev.em.0.mac_stats.collision_count: 0
dev.em.0.mac_stats.symbol_errors: 0
dev.em.0.mac_stats.sequence_errors: 0
dev.em.0.mac_stats.defer_count: 0
dev.em.0.mac_stats.missed_packets: 0
dev.em.0.mac_stats.recv_no_buff: 0
dev.em.0.mac_stats.recv_undersize: 0
dev.em.0.mac_stats.recv_fragmented: 0
dev.em.0.mac_stats.recv_oversize: 0
dev.em.0.mac_stats.recv_jabber: 0
dev.em.0.mac_stats.recv_errs: 0
dev.em.0.mac_stats.crc_errs: 0
dev.em.0.mac_stats.alignment_errs: 0
dev.em.0.mac_stats.coll_ext_errs: 0
dev.em.0.mac_stats.xon_recvd: 0
dev.em.0.mac_stats.xon_txd: 0
dev.em.0.mac_stats.xoff_recvd: 0
dev.em.0.mac_stats.xoff_txd: 0
dev.em.0.mac_stats.total_pkts_recvd: 23539200
dev.em.0.mac_stats.good_pkts_recvd: 23539200
dev.em.0.mac_stats.bcast_pkts_recvd: 13545
dev.em.0.mac_stats.mcast_pkts_recvd: 1173
dev.em.0.mac_stats.rx_frames_64: 3347574
dev.em.0.mac_stats.rx_frames_65_127: 10770858
dev.em.0.mac_stats.rx_frames_128_255: 494202
dev.em.0.mac_stats.rx_frames_256_511: 227146
dev.em.0.mac_stats.rx_frames_512_1023: 8523347
dev.em.0.mac_stats.rx_frames_1024_1522: 176073
dev.em.0.mac_stats.good_octets_recvd: 6645257956
dev.em.0.mac_stats.good_octets_txd: 10592948765
dev.em.0.mac_stats.total_pkts_txd: 20349721
dev.em.0.mac_stats.good_pkts_txd: 20349721
dev.em.0.mac_stats.bcast_pkts_txd: 226
dev.em.0.mac_stats.mcast_pkts_txd: 382
dev.em.0.mac_stats.tx_frames_64: 9191271
dev.em.0.mac_stats.tx_frames_65_127: 2137465
dev.em.0.mac_stats.tx_frames_128_255: 2377250
dev.em.0.mac_stats.tx_frames_256_511: 467283
dev.em.0.mac_stats.tx_frames_512_1023: 113043
dev.em.0.mac_stats.tx_frames_1024_1522: 6063409
dev.em.0.mac_stats.tso_txd: 0
dev.em.0.mac_stats.tso_ctx_fail: 0

Can anyone point me in the right direction, or maybe even suggest a solution?

Thanks in advance. :)
 
abefar said:
I know I'm asking for trouble by using a release candidate,
That's the whole point of a release candidate, finding bugs in production environments so they can be fixed before the release.
I don't have the slightest idea about how to troubleshoot the problem and what kind of information that might be useful for debugging a scenario like this.
You did a pretty good job so far ;)
 
Thanks for your answer.

It's kind of embarrassing, but after replacing the ethernet card for another (identical) one, the problem has been solved.
When upgrading the server, I also took out its expansion cards and hard drives in order to dust clean the machine. I cannot rule out the possibility of electrostatic damage to the card during this procedure - nor the possibility of an EMP-emitting mutant fly having landed on the ethernet chip while it was lying on the table...
Anyway, the thing is that I already submitted a bug report on the issue. Is there any way to "cancel" an issue, except for submitting a followup explaining the situation?
 
Submit a followup explaining and asking to close the PR.

Transceivers do burnt out sometimes. Also, gigabit needs all eight conductors while 100base-TX does not, so a bent or broken pin in the RJ45 could behave that way.
 
Back
Top