NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/51924: makphy @ wm on Lenovo T400s no longer works properly



>Number:         51924
>Category:       kern
>Synopsis:       makphy @ wm on Lenovo T400s no longer works properly
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jan 29 12:35:00 +0000 2017
>Originator:     Jarle Greipsland
>Release:        NetBSD 7.99.59
>Organization:
	
>Environment:
	
	
System: NetBSD singsaker.uninett.no 7.99.59 NetBSD 7.99.59 (GENERIC) #4: Sun Jan 29 00:15:29 CET 2017  jarle%singsaker.uninett.no@localhost:/usr/obj/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
I have just booted a -current i386 GENERIC kernel on my Lenovo
T400s laptop (userland is of 7.99.32 vintage).  There seems to be
something strange going on with regards to the carrier status for
the built in wm0 network interface.  When left unconfigured, it
reports 'active' as its status.  As soon as I bring the interface
up with ifconfig, the status changes to 'no carrier'.  However,
the interface will acquire an IPv6 address through SLAAC, so
something is working.  But the

  'dhcpcd -6 --nodhcp6 wm0'

command that would normally solicit a default route from the network hangs
waiting for carrier on the interface.  If I instead enter a static IPv6
default route, things behave as normal (sort of).

# ifconfig wm0
wm0: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        capabilities=7ff80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx>
        capabilities=7ff80<TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx>
        capabilities=7ff80<TCP6CSUM_Tx,UDP6CSUM_Rx,UDP6CSUM_Tx,TSO6>
        enabled=0
        ec_capabilities=7<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU>
        ec_enabled=0
        address: 00:11:22:33:44:55
        media: Ethernet autoselect (none)
        status: no carrier
        inet6 fe80::0211:22ff:fe33:4455%wm0 prefixlen 64 detached scopeid 0x2
        inet6 xxxx::0211:22ff:fe33:4455 prefixlen 64 autoconf

This used to work just fine with a 7.99.32 kernel.  The interface is
autoconfigured as:

wm0 at pci0 dev 25 function 0: 82801I mobile (AMT) LAN Controller (rev. 0x03)
wm0: interrupting at msi0 vec 0
wm0: PCI-Express bus
wm0: 2048 words FLASH
wm0: Ethernet address 00:11:22:33:44:55
makphy0 at wm0 phy 2: Marvell 88E1149 Gigabit PHY, rev. 1
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto

I think I have identified where the regression was introduced, and the
culprit is -r1.428 to sys/dev/pci/if_wm.c.  If I revert that commit, a
-current kernel boots fine, and wm0 behaves as expected.

>How-To-Repeat:
	
>Fix:
	
Revert -r1.428?

>Unformatted:
 	
 	


Home | Main Index | Thread Index | Old Index