Hi,

I'm trying to install OpenBSD 6.2 on a Netgear RNDU2000 NAS.
The Marvel Yukon Ultra II NIC is supposedly supported by the msk driver,
but this particular NIC has troubles receiving packets.

Log from the serial console (install initrd):

===================================================================
OpenBSD 6.2 (RAMDISK_CD) #132: Tue Oct  3 21:26:51 MDT 2017
   dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/RAMDISK_CD
real mem = 1046020096 (997MB)
avail mem = 1010618368 (963MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xfbe40 (17 entries)
bios0: vendor American Megatrends Inc. version "080016" date 09/08/2010
bios0: NETGEAR ReadyNAS
acpi0 at bios0: rev 0
acpi0: tables DSDT FACP APIC MCFG OEMB HPET GSCI SSDT
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compatnails
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Atom(TM) CPU D425 @ 1.80GHz, 1800.25 MHz
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,
CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DSCPL,TM2,
SSSE3,CX16,xTPR,PDCM,MOVBE,NXE,LONG,LAHF,PERF,SENSOR
cpu0: 512KB 64b/line 8-way L2 cache
cpu0: apic clock running at 200MHz
cpu0: mwait min=64, max=64, C-substates=0.1, IBE
cpu at mainbus0: not configured
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins, remapped
to apid 2
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (P0P4)
acpiprt2 at acpi0: bus 2 (P0P5)
acpiprt3 at acpi0: bus 3 (P0P6)
acpicpu at acpi0 not configured
"PNP0C0C" at acpi0 not configured
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Pineview DMI" rev 0x00
vga1 at pci0 dev 2 function 0 "Intel Pineview Video" rev 0x00
wsdisplay1 at vga1 mux 1: console (80x25, vt100 emulation)
"Intel Pineview Video" rev 0x00 at pci0 dev 2 function 1 not configured
ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: msi
pci1 at ppb0 bus 1
mskc0 at pci1 dev 0 function 0 "Marvell Yukon 88E8057" rev 0x10, Yukon-2
Ultra 2 (0x0):msi
msk0 at mskc0 port A: address 30:46:9a:f9:0e:9e
eephy0 at msk0 phy 0: 88E1149 Gigabit PHY, rev. 1
ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: msi
pci2 at ppb1 bus 2
xhci0 at pci2 dev 0 function 0 "NEC xHCI" rev 0x03: msi
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "NEC xHCI root hub" rev
3.00/1.00 addr 1
ppb2 at pci0 dev 28 function 2 "Intel 82801GB PCIE" rev 0x02: msi
pci3 at ppb2 bus 3
mskc1 at pci3 dev 0 function 0 "Marvell Yukon 88E8057" rev 0x10, Yukon-2
Ultra 2 (0x0): msi
msk1 at mskc1 port A: address 30:46:9a:f9:0e:9f
eephy1 at msk1 phy 0: 88E1149 Gigabit PHY, rev. 1
uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 2 int
23
uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 2 int
19
uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 2 int
18
uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 2 int
16
ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 2 int
23
usb1 at ehci0: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev
2.00/1.00 addr 1
ppb3 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2
pci4 at ppb3 bus 4
"Intel NM10 LPC" rev 0x02 at pci0 dev 31 function 0 not configured
ahci0 at pci0 dev 31 function 2 "Intel 82801GR AHCI" rev 0x02: msi, AHCI
1.1
ahci0: port 1: 3.0Gb/s
scsibus0 at ahci0: 32 targets
sd0 at scsibus0 targ 1 lun 0: <ATA, WDC WD10EZRX-00A, 01.0> SCSI3
0/direct fixed naa.50014ee602e55bb2
sd0: 953869MB, 512 bytes/sector, 1953525168 sectors
"Intel 82801GB SMBus" rev 0x02 at pci0 dev 31 function 3 not configured
usb2 at uhci0: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev
1.00/1.00 addr 1
usb3 at uhci1: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev
1.00/1.00 addr 1
usb4 at uhci2: USB revision 1.0
uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev
1.00/1.00 addr 1
usb5 at uhci3: USB revision 1.0
uhub5 at usb5 configuration 1 interface 0 "Intel UHCI root hub" rev
1.00/1.00 addr 1
isa0 at mainbus0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay1
umass0 at uhub0 port 3 configuration 1 interface 0 "Generic USB Mass
Storage Device" rev 2.00/1.00 addr 2
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, initiator 0
sd1 at scsibus1 targ 1 lun 0: <Generic, USB Flash Disk, 0.00> SCSI2
0/direct removable serial.048d11721EBC2A2586D4
sd1: 3841MB, 512 bytes/sector, 7866368 sectors
umass1 at uhub1 port 1 configuration 1 interface 0 "SMI Corporation USB
DISK" rev 2.00/11.00 addr 2
umass1: using SCSI over Bulk-Only
scsibus2 at umass1: 2 targets, initiator 0
sd2 at scsibus2 targ 1 lun 0: <SMI, USB DISK, 1100> SCSI0 0/direct
removable serial.090c1000012700022694
sd2: 119MB, 512 bytes/sector, 244736 sectors
softraid0 at root
scsibus3 at softraid0: 256 targets
root on rd0a swap on rd0b dump on rd0b
erase ^?, werase ^W, kill ^U, intr ^C, status ^T

Welcome to the OpenBSD/amd64 6.2 installation program.
(I)nstall, (U)pgrade, (A)utoinstall or (S)hell? s
# ifconfig
lo0: flags=8008<LOOPBACK,MULTICAST> mtu 32768
       llprio 3
       groups: lo
msk0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
       lladdr 30:46:9a:f9:0e:9e
       llprio 3
       media: Ethernet autoselect (none)
       status: unknown
msk1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
       lladdr 30:46:9a:f9:0e:9f
       llprio 3
       media: Ethernet autoselect (none)
       status: unknown
# install
At any prompt except password prompts you can escape to a shell by
typing '!'. Default answers are shown in []'s and are selected by
pressing RETURN.  You can exit this program at any time by pressing
Control-C, but this can leave your system in an inconsistent state.

Terminal type? [vt220]
System hostname? (short form, e.g. 'foo') nas

Available network interfaces are: msk0 msk1 vlan0.
Which network interface do you wish to configure? (or 'done') [msk0]
IPv4 address for msk0? (or 'dhcp' or 'none') [dhcp]

msk0: DHCPDISCOVER - interval 1
msk0: DHCPDISCOVER - interval 1
msk0: DHCPDISCOVER - interval 2
msk0: DHCPDISCOVER - interval 2
msk0: DHCPDISCOVER - interval 2
msk0: DHCPDISCOVER - interval 2
msk0: DHCPDISCOVER - interval 2
msk0: no acceptable DHCPOFFERS received
msk0: no working leases in persistent database - sleeping
IPv6 address for msk0? (or 'autoconf' or 'none') [none]
===================================================================

Meanwhile on the dhcpd server:

===================================================================
# tail /var/log/syslog
Feb 28 17:59:24 neptune dnsmasq-dhcp[13080]: DHCPDISCOVER(eno1)
30:46:9a:f9:0e:9e
Feb 28 17:59:24 neptune dnsmasq-dhcp[13080]: DHCPOFFER(eno1)
192.168.0.91 30:46:9a:f9:0e:9e
Feb 28 17:59:26 neptune dnsmasq-dhcp[13080]: DHCPDISCOVER(eno1)
30:46:9a:f9:0e:9e
Feb 28 17:59:26 neptune dnsmasq-dhcp[13080]: DHCPOFFER(eno1)
192.168.0.91 30:46:9a:f9:0e:9e
Feb 28 17:59:27 neptune dnsmasq-dhcp[13080]: DHCPDISCOVER(eno1)
30:46:9a:f9:0e:9e
Feb 28 17:59:27 neptune dnsmasq-dhcp[13080]: DHCPOFFER(eno1)
192.168.0.91 30:46:9a:f9:0e:9e
Feb 28 17:59:28 neptune dnsmasq-dhcp[13080]: DHCPDISCOVER(eno1)
30:46:9a:f9:0e:9e
Feb 28 17:59:28 neptune dnsmasq-dhcp[13080]: DHCPOFFER(eno1)
192.168.0.91 30:46:9a:f9:0e:9e
Feb 28 17:59:29 neptune dnsmasq-dhcp[13080]: DHCPDISCOVER(eno1)
30:46:9a:f9:0e:9e
Feb 28 17:59:29 neptune dnsmasq-dhcp[13080]: DHCPOFFER(eno1)
192.168.0.91 30:46:9a:f9:0e:9e
===================================================================

The NIC will send a request to the DHCP server but won't receive the
offer.

Manually setting an IP and a default route doesn't change the issue, it
won't ping the router nor will it respond to pings.

When connecting my NetBSD laptop (Realtek re0 gibabit NIC) to the same
ethernet cable, it immediately gets an IP and full connectivity, so this
is not a network issue.

Apparently Netgear has customized the Marvel 88E8057 chipset to manage 2
NICs with one chipset in this appliance, so I suspect this confuses the
msk driver.

Specs sheet:
http://www.marvell.com.cn/pc-connectivity/assets/Marvell-Yukon-Ultra-II-88E8057.pdf

Linux supports this NIC fine as tried on Debian 9 and Void. A reboot
from the OpenBSD initrd to Linux will create the same problem in Linux,
it takes a full power cycle to reset the NIC to a working order.
I haven't tried FreeBSD but the driver seems more comprehensive judging
from the LOC in if_msk.c.

https://github.com/openbsd/src/blob/master/sys/dev/pci/if_msk.c
https://github.com/freebsd/freebsd/blob/master/sys/dev/msk/if_msk.c

How can I help get this chip supported on OpenBSD?

Damien

Reply via email to