Bug 196347 - r6040 based nic unusable - speed & state unknown (device busy)
Summary: r6040 based nic unusable - speed & state unknown (device busy)
Status: RESOLVED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: IA-32 Linux
: P1 normal
Assignee: drivers_network@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-12 20:24 UTC by jose1711
Modified: 2017-07-13 05:52 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.9.36
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description jose1711 2017-07-12 20:24:31 UTC
hello,

my system is a microclient jr mx - soc with vortex86 cpu. i remember that some years ago (before the filesystem corruption), network card was working without any problems.

after installation of slackware-current, this is no longer the case.

also, it's interesting how mii-tool sees the link, but ethtool fails to do so. issue shows similar symptoms to https://bugzilla.kernel.org/show_bug.cgi?id=54861 but this is for kernel 4.x.

# uname -a
Linux brano 4.9.36 #2 Wed Jul 5 19:16:35 CDT 2017 i586 05/08 Vortex86 SoC GNU/Linux

# dhclient -v eth2
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

SIOCSIFFLAGS: Device or resource busy
SIOCSIFFLAGS: Device or resource busy
Listening on LPF/eth2/00:1b:eb:64:05:20
Sending on   LPF/eth2/00:1b:eb:64:05:20
Sending on   Socket/fallback
DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 6
send_packet: Network is down
dhclient.c:2303: Failed to send 300 byte long packet over eth2 interface.
receive_packet failed on eth2: Network is down
DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 13
send_packet: Network is down
dhclient.c:2303: Failed to send 300 byte long packet over eth2 interface.

# ip a:
2: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:1b:eb:64:05:20 brd ff:ff:ff:ff:ff:ff

# lspci -v:
00:08.0 Ethernet controller: RDC Semiconductor, Inc. R6040 MAC Controller
	Flags: bus master, medium devsel, latency 128, IRQ 15
	I/O ports at ec00 [size=256]
	Memory at febdb400 (32-bit, non-prefetchable) [size=256]
	Expansion ROM at febc0000 [disabled] [size=64K]
	Kernel driver in use: r6040
	Kernel modules: r6040

# mii-tool -v:
eth2: negotiated 100baseTx-FD, link ok
  product info: vendor 00:0b:b4, model 3 rev 1
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

# ethtool -v:
Settings for eth2:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: Unknown!
        Duplex: Unknown! (255)
        Port: MII
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Link detected: no

# relevant lines from dmesg:
[    9.552349] libphy: r6040_eth_mii: probed
[    9.618774] Generic PHY 0000:00:08.0-0:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0000:00:08.0-0:01, irq=-1)
[   12.374373] r6040 0000:00:08.0 eth2: renamed from eth126
[  372.509803] genirq: Flags mismatch irq 15. 00000080 (eth2) vs. 00000000 (platform[pata_legacy.1])
[  372.512075] genirq: Flags mismatch irq 15. 00000080 (eth2) vs. 00000000 (platform[pata_legacy.1])

kernel is distribution vanilla 4.9.36 non-smp huge (https://mirrors.slackware.com/slackware/slackware-current/source/k/config-x86/config-huge-4.9.36)
Comment 1 jose1711 2017-07-13 05:52:15 UTC
with freshly compiled 4.12.0 this is no longer an issue. dhclient picks up ip address, ethtool shows correct speed, mode and is able to detect the link.

Note You need to log in before you can comment on or make changes to this bug.