No DHCPOFFERS received when trying to retrieve an IP via DHCP using alc NIC driver

pixelsyntax

New Member


Messages: 7

I am in a similar situation to the thread https://forums.freebsd.org/threads/...when-trying-to-retrieve-an-ip-via-dhcp.68993/ and receive no DHCP offers via a 'Killer E2400 Gigabit Ethernet' interface using the alc driver. The interface is confirmed working in other operating systems. I have been unable to receive an IP address both with and without the fix suggested in the forum post (which I believe applies to a previous version of freeBSD).

uname -a
Code:
FreeBSD hostname 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC  amd64

cat /etc/dhclient.conf
Code:
interface "alc0" {
    supersede interface-mtu 0;
}

service dhclient restart alc0
Code:
Starting dhclient.
DHCPDISCOVER on alc0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on alc0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on alc0 to 255.255.255.255 port 67 interval 20
DHCPDISCOVER on alc0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on alc0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on alc0 to 255.255.255.255 port 67 interval 8
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

ifconfig alc0 shows status as active when the ethernet cable is connected, and 'no carrier' when it is disconnected, so I'm confident that the driver is working to some degree. Setting a manual address, i.e ifconfig alc0 inet 192.168.1.2 and ifconfig alc0 up does not allow me to ping other devices on the network:

ping 192.168.1.1
Code:
PING 192.168.1.1 (192.168.1.1): 56 data bytes
ping: sendto: Host is down
ping: sendto: Host is down

netstat -rn (without any manual ifconfig or other changes)
Code:
Routing tables
Internet:
Destination        Gateway        Flags        Netif Expire
0.0.0.0/8            link#1             U                alc0
127.0.0.1           link#2              UH              lo0

dmesg | grep alc
Code:
alc0: <Killer E2400 Gigabit Ethernet> port 0xd000-0xd07f mem 0xdf100000-0xdf13ffff irq 19 at device 0.0 on pci7
alc0: 11776 Tx FIFO, 12032 Rx FIFO
alc0: Using 1 MSIX message(s).
miibus0: <MII bus> on alc0
alc0: Using defaults for TSO: 65518/35/2048
alc0: Ethernet address: 1c:1b:0d:64:5c:3e
alc0: link state changed to DOWN
alc0: link state changed to UP

ifconfig alc0
Code:
alc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  options=c319a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
  ether 1c:1b:0d:64:5c:3d
 inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
  media: Ethernet autoselect (1000bastT <full-duplex>)
 status: active
  nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

I'm assuming the nd6 option IFDISABLED is only preventing ipv6 on the interface or is otherwise unimportant?

Any advice appreciated! Also apologies for any typos, I don't have a way to post output directly from the machine so I'm transcribing by hand 🥺
 

roccobaroccoSC

Aspiring Daemon

Reaction score: 221
Messages: 746

Your IPv4 address does not seem set. First, forget about DHCP. Try to set the address manually.
  • Check the MAC addresses of other network devices on the same segment. Make sure the MAC address does not clash with some other device (maybe you cloned the machine and set the MAC address manually).
  • Make sure the IP address you are setting is unique and does not clash with another device.
  • Set the address manually (don't forget the network mask!):
Bash:
ifconfig alc0 down
ifconfig alc0 192.168.1.2/24
ifconfig alc0 up
route add default 192.168.1.1
  • Check if the IP address is set properly. Your subnet has a network mask /24, right?
Bash:
ifconfig alc0
netstat -rn4
  • Test if packets go through
Bash:
ping 192.168.1.1
ping 8.8.8.8
  • If the packets still don't go through, check your network masks.
  • Check if the firewall blocks them (disable it with service ipfw stop if you use IPFW).
  • Use a sniffer on both hosts to see what happens to the packets:
Bash:
tcpdump -ni alc0

Once you get the manual IP working, you can worry about DHCP.
 

roccobaroccoSC

Aspiring Daemon

Reaction score: 221
Messages: 746

Also, another suggestion - when you get the network working, update the system with freebsd-update.
 
OP
pixelsyntax

pixelsyntax

New Member


Messages: 7

Following your advice, roccobaroccoSC

Code:
# ifconfig alc0
alc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  options=c319a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
  ether 1c:1b:0d:64:5c:3d
inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
  media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
  nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Code:
netstat -rn4
Routing tables

Internet:
Destination        Gateway        Flags        Netif Expire
default               192.168.1.1    UGS        alc0
127.0.0.1            link#2             UH          lo0
192.168.1.0/24  link#1              U            alc0
192.168.1.10     link#1              UHS        lo0

Code:
# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
ping: sendto: Host is down
ping: sendto: Host is down
ping: sendto: Host is down

The network mask and broadcast address seem correct and match the correctly functioning configuration this system shows in other operating systems.

This install is fresh out of the box and hasn't had any firewalls activated.

Running tcpdump on the freeBSD machine and attempting to ping a known working LAN address shows a series of ARP requests
Code:
17:50:49.982984 ARP, Request who-has 192.168.1.1 tell 192.168.1.10 length 28
(repeats with different timestamps)

Allowing this to continue for over five minutes, a series of ARP replies eventually arrive
Code:
17:56:04.815813 ARP, Reply 192.168.1.1 is-at (correct mac address of other host) (oui Unknown), length 46

At this point the ping command running on the freeBSD machine begins to sporadically show very delayed results

Code:
64 bytes from 192.168.1.1: icmp_seq=189 ttl=64 time=222829.725 ms
64 bytes from 192.168.1.1: icmp_seq=190 ttl=64 time=221766.229 ms
64 bytes from 192.168.1.1: icmp_seq=191 ttl=64 time=220702.730 ms
So far I've only managed to get any kind of ping response when tcpdump is running (and the NIC is in promiscuous mode?)

Attempting to ping a laptop from the freeBSD machine:
Code:
# ping 192.168.1.6
ping: sendto: Host is down
ping: sendto: Host is down
ping: sendto: Host is down

tcpdump on the other machine (192.168.1.6):
Code:
08:32:56.162053 ARP, Request who-has 192.168.1.6 tell 192.168.1.10, length 46
08:32:56.162075 ARP, Reply 192.168.1.6 is-at 14:10:9f:xx:xx:xx (oui Unknown), length 28
08:32:57.186174 ARP, Request who-has 192.168.1.6 tell 192.168.1.10, length 46
08:32:57.186207 ARP, Reply 192.168.1.6 is-at 14:10:9f:xx:xx:xx (oui Unknown), length 28
08:32:58.312426 ARP, Request who-has 192.168.1.6 tell 192.168.1.10, length 46
08:32:58.312442 ARP, Reply 192.168.1.6 is-at 14:10:9f:xx:xx:xx (oui Unknown), length 28

So the ARP requests are being sent from the FreeBSD machine but replies are not being correctly received?
 

roccobaroccoSC

Aspiring Daemon

Reaction score: 221
Messages: 746

Code:
# ifconfig alc0
alc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  options=c319a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
  ether 1c:1b:0d:64:5c:3d
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
  media: Ethernet autoselect (1000bastT <full-duplex>)
status: active
  nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

The network mask and broadcast address seem correct and match the correctly functioning configuration this system shows in other operating systems.
What do you mean correct? The IP address is clearly wrong:
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255

Until you set the IP address properly, I would be very surprised if anything works.
Change it from 0.0.0.0/32 to 192.168.1.x/24.

For example, do:
Bash:
sysrc cloned_interfaces+="alc0"
sysrc ifconfig_alc0="inet 192.168.1.10/24"
sysrc defaultrouter="192.168.1.1"

And restart networking:
Bash:
/etc/rc.d/netif   restart
/etc/rc.d/routing restart
 
OP
pixelsyntax

pixelsyntax

New Member


Messages: 7

Oh no! So sorry roccobaroccoSC. PEBCAK. I must have copied and pasted the ifconfig output from earlier to save some typing and forgot to modify it (I'm having to transcribe all this by hand, having no network connection on the problem box). I have now edited the previous post to be accurate.

Regardless, following your new advice and this time using a usb drive to save output for accurate pasting:
Code:
sysrc cloned_interfaces+="alc0"
sysrc ifconfig_alc0="inet 192.168.1.10/24"
sysrc defaultrouter="192.168.1.1"
/etc/rc.d/netif   restart
/etc/rc.d/routing restart

Code:
#ifconfig alc0
alc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=c319a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
    ether 1c:1b:0d:64:5c:3e
    inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255 
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

Code:
#ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes

--- 192.168.1.1 ping statistics ---
13 packets transmitted, 0 packets received, 100.0% packet loss

Code:
# tcpdump
07:46:27.341291 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:28.404058 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:29.467561 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:30.531046 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:31.536805 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:32.572406 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:33.636050 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:34.665788 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:35.729291 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:36.792792 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28
07:46:37.856295 ARP, Request who-has 192.168.1.1 tell 192.168.1.10, length 28

Code:
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            192.168.1.1        UGS        alc0
127.0.0.1          lo0                UHS         lo0
192.168.1.0/24     link#1             U          alc0
192.168.1.10       link#1             UHS         lo0

Internet6:
Destination                       Gateway                       Flags     Netif Expire
::/96                             ::1                           UGRS        lo0
::1                               lo0                           UHS         lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        lo0
fe80::/10                         ::1                           UGRS        lo0
fe80::%lo0/64                     link#2                        U           lo0
fe80::1%lo0                       link#2                        UHS         lo0
ff02::/16                         ::1                           UGRS        lo0

Code:
# arp -rn
? (192.168.1.10) at 1c:1b:0d:64:5c:3e on alc0 permanent [ethernet]

Code:
# cat /etc/rc.conf
clear_tmp_enable="YES"
syslogd_flags="-ss"
sendmail_enable="NONE"
hostname="freebsd"
#ifconfig_alc0="inet 192.168.1.2 netmask 255.255.255.0"
ifconfig_alc0="inet 192.168.1.10/24"
powerd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
#defaultrouter="192.168.1.1"
ip6addrctl_enable="NO"
nfscbd_enable="NO"
defaultrouter="192.168.1.1"
cloned_interfaces="alc0"

---<<BOOT>>---
Copyright (c) 1992-2018 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 12.0-RELEASE r341666 GENERIC amd64
FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)
VT(efifb): resolution 1024x768
CPU: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz (4008.19-MHz K8-class CPU)
Origin="GenuineIntel" Id=0x506e3 Family=0x6 Model=0x5e Stepping=3
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0x7ffafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
AMD Features2=0x121<LAHF,ABM,Prefetch>
Structured Extended Features=0x29c6fbf<FSGSBASE,TSCADJ,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,NFPUSG,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PROCTRACE>
XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
TSC: P-state invariant, performance statistics
real memory = 34359738368 (32768 MB)
avail memory = 33290330112 (31748 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ALASKA A M I>
FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 hardware threads
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-119 on motherboard
Launching APs: 1 5 2 4 3 6 7
Timecounter "TSC-low" frequency 2004095568 Hz quality 1000
random: entropy device external interface
kbd1 at kbdmux0
netmap: loaded module
[ath_hal] loaded
module_register_init: MOD_LOAD (vesa, 0xffffffff810f9770, 0) error 19
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
nexus0
efirtc0: <EFI Realtime Clock> on motherboard
efirtc0: registered as a time-of-day clock, resolution 1.000000s
cryptosoft0: <software crypto> on motherboard
acpi0: <ALASKA A M I> on motherboard
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 24000000 Hz quality 950
Event timer "HPET" frequency 24000000 Hz quality 550
atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0
atrtc0: Warning: Couldn't map I/O.
atrtc0: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> port 0xe000-0xe07f mem 0xde000000-0xdeffffff,0xc0000000-0xcfffffff,0xd0000000-0xd1ffffff irq 16 at device 0.0 on pci1
vgapci0: Boot video device
hdac0: <NVIDIA (0x10f0) HDA Controller> mem 0xdf080000-0xdf083fff irq 17 at device 0.1 on pci1
xhci0: <Intel Sunrise Point USB 3.0 controller> mem 0xdf310000-0xdf31ffff irq 16 at device 20.0 on pci0
xhci0: 32 bytes context size, 64-bit DMA
usbus0 on xhci0
usbus0: 5.0Gbps Super Speed USB v3.0
pci0: <simple comms> at device 22.0 (no driver attached)
ahci0: <Intel Sunrise Point AHCI SATA controller> port 0xf050-0xf057,0xf040-0xf043,0xf020-0xf03f mem 0xdf328000-0xdf329fff,0xdf32c000-0xdf32c0ff,0xdf32b000-0xdf32b7ff irq 16 at device 23.0 on pci0
ahci0: AHCI v1.31 with 6 6Gbps ports, Port Multiplier not 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
ahciem0: <AHCI enclosure management bridge> on ahci0
pcib2: <ACPI PCI-PCI bridge> at device 27.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci3: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> irq 16 at device 0.0 on pci3
pci4: <ACPI PCI bus> on pcib4
pcib5: <PCI-PCI bridge> irq 16 at device 0.0 on pci4
pci5: <PCI bus> on pcib5
pcib6: <PCI-PCI bridge> irq 17 at device 1.0 on pci4
pcib6: [GIANT-LOCKED]
pcib7: <PCI-PCI bridge> irq 18 at device 2.0 on pci4
pci6: <PCI bus> on pcib7
xhci1: <XHCI (generic) USB 3.0 controller> mem 0xdf200000-0xdf20ffff irq 18 at device 0.0 on pci6
xhci1: 32 bytes context size, 64-bit DMA
usbus1 on xhci1
usbus1: 5.0Gbps Super Speed USB v3.0
pcib8: <PCI-PCI bridge> irq 16 at device 4.0 on pci4
pcib8: [GIANT-LOCKED]
pcib9: <ACPI PCI-PCI bridge> irq 19 at device 28.3 on pci0
pci7: <ACPI PCI bus> on pcib9
alc0: <Killer E2400 Gigabit Ethernet> port 0xd000-0xd07f mem 0xdf100000-0xdf13ffff irq 19 at device 0.0 on pci7
alc0: 11776 Tx FIFO, 12032 Rx FIFO
alc0: Using 1 MSIX message(s).
miibus0: <MII bus> on alc0
atphy0: <Atheros F1 10/100/1000 PHY> PHY 0 on miibus0
atphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
alc0: Using defaults for TSO: 65518/35/2048
alc0: Ethernet address: 1c:1b:0d:64:5c:3e
pcib10: <ACPI PCI-PCI bridge> irq 16 at device 28.4 on pci0
pci8: <ACPI PCI bus> on pcib10
pcib11: <ACPI PCI-PCI bridge> irq 16 at device 29.0 on pci0
pci9: <ACPI PCI bus> on pcib11
pcib12: <ACPI PCI-PCI bridge> irq 16 at device 29.4 on pci0
pci10: <ACPI PCI bus> on pcib12
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
pci0: <memory> at device 31.2 (no driver attached)
hdac1: <Intel Sunrise Point HDA Controller> mem 0xdf320000-0xdf323fff,0xdf300000-0xdf30ffff irq 16 at device 31.3 on pci0
acpi_button0: <Sleep Button> on acpi0
acpi_button1: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbdc0: non-PNP ISA device will be removed from GENERIC in FreeBSD 12.
est0: <Enhanced SpeedStep Frequency Control> on cpu0
Timecounters tick every 1.000 msec
hdacc0: <NVIDIA (0x0083) HDA CODEC> at cad 0 on hdac0
hdaa0: <NVIDIA (0x0083) Audio Function Group> at nid 1 on hdacc0
pcm0: <NVIDIA (0x0083) (HDMI/DP 8ch)> at nid 4 on hdaa0
pcm1: <NVIDIA (0x0083) (HDMI/DP 8ch)> at nid 5 on hdaa0
pcm2: <NVIDIA (0x0083) (HDMI/DP 8ch)> at nid 6 on hdaa0
pcm3: <NVIDIA (0x0083) (HDMI/DP 8ch)> at nid 7 on hdaa0
hdacc1: <Realtek ALC1150 HDA CODEC> at cad 0 on hdac1
hdaa1: <Realtek ALC1150 Audio Function Group> at nid 1 on hdacc1
pcm4: <Realtek ALC1150 (Rear Analog 5.1/2.0)> at nid 20,22,21 and 24,26 on hdaa1
pcm5: <Realtek ALC1150 (Front Analog)> at nid 27 and 25 on hdaa1
pcm6: <Realtek ALC1150 (Onboard Digital)> at nid 17 on hdaa1
pcm7: <Realtek ALC1150 (Rear Digital)> at nid 30 on hdaa1
ugen0.1: <0x8086 XHCI root HUB> at usbus0
ugen1.1: <0x8086 XHCI root HUB> at usbus1
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
uhub1: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus1
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <Crucial CT525MX300SSD4 M0CR031> ACS-3 ATA SATA 3.x device
ada0: Serial Number 164714C1D513
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 500786MB (1025610768 512 byte sectors)
ada1 at ahcich1 bus 0 scbus1 target 0 lun 0
ada1: <ST1000VX000-9YW162 CV12> ATA8-ACS SATA 3.x device
ada1: Serial Number Z1D0RYPX
ada1: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 953868MB (1953523055 512 byte sectors)
ada2 at ahcich4 bus 0 scbus4 target 0 lun 0
ada2: <Hitachi HDT721010SLA360 ST6OA31B> ATA8-ACS SATA 2.x device
ada2: Serial Number STF607MH2NG6NK
ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada2: Command Queueing enabled
ada2: 953869MB (1953525168 512 byte sectors)
ses0 at ahciem0 bus 0 scbus6 target 0 lun 0
ses0: <AHCI SGPIO Enclosure 1.00 0001> SEMB S-E-S 2.00 device
ses0: SEMB SES Device
Trying to mount root from ufs:/dev/ada1p2 [rw]...
uhub1: 4 ports with 4 removable, self powered
uhub0: 26 ports with 26 removable, self powered
ugen0.2: <TEACV0.0 TEACV0.0> at usbus0
umass0 on uhub0
umass0: <TEACV0.0 TEACV0.0, class 0/0, rev 1.10/2.00, addr 1> on usbus0
umass0: UFI over CBI; quirks = 0x0000
umass0:7:0: Attached to scbus7
da0 at umass-sim0 bus 0 scbus7 target 0 lun 0
da0: <TEAC USB UF000x 0.00> Removable Direct Access SCSI device
da0: 1.000MB/s transfers
da0: 1MB (2880 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>
lo0: link state changed to UP
alc0: link state changed to DOWN
ugen0.3: <Microsoft Controller> at usbus0
ugen0.4: <VIA Labs, Inc. USB2.0 Hub> at usbus0
uhub2 on uhub0
uhub2: <VIA Labs, Inc. USB2.0 Hub, class 9/0, rev 2.10/2.21, addr 3> on usbus0
uhub2: 4 ports with 4 removable, self powered
alc0: link state changed to UP
ugen0.5: <USB Device USB 2.0 Hub> at usbus0
uhub3 on uhub2
uhub3: <USB Device USB 2.0 Hub, class 9/0, rev 2.00/0.00, addr 4> on usbus0
uhub3: 4 ports with 4 removable, self powered
ugen0.6: <Razer Razer DeathAdder> at usbus0
ugen0.7: <vendor 0x04d9 USB-HID Keyboard> at usbus0
ukbd0 on uhub3
ukbd0: <vendor 0x04d9 USB-HID Keyboard, class 0/0, rev 1.10/11.04, addr 6> on usbus0
kbd2 at ukbd0
uhid0 on uhub3
uhid0: <vendor 0x04d9 USB-HID Keyboard, class 0/0, rev 1.10/11.04, addr 6> on usbus0
ukbd1 on uhub3
ukbd1: <vendor 0x04d9 USB-HID Keyboard, class 0/0, rev 1.10/11.04, addr 6> on usbus0
kbd3 at ukbd1
ugen0.8: <Generic USB2.0-CRW> at usbus0
umass1 on uhub0
umass1: <Bulk-In, Bulk-Out, Interface> on usbus0
umass1: SCSI over Bulk-Only; quirks = 0x4000
umass1:8:1: Attached to scbus8
da1 at umass-sim1 bus 1 scbus8 target 0 lun 0
da1: <Generic- Compact Flash 1.00> Removable Direct Access SCSI device
da1: Serial Number 20060413092100000
da1: 40.000MB/s transfers
da1: Attempt to query device size failed: NOT READY, Medium not present
da1: quirks=0x2<NO_6_BYTE>
da2 at umass-sim1 bus 1 scbus8 target 0 lun 1
da2: <Generic- SM/xD-Picture 1.00> Removable Direct Access SCSI device
da2: Serial Number 20060413092100000
da2: 40.000MB/s transfers
da2: Attempt to query device size failed: NOT READY, Medium not present
da2: quirks=0x2<NO_6_BYTE>
da3 at umass-sim1 bus 1 scbus8 target 0 lun 2
da3: <Generic- SD/MMC 1.00> Removable Direct Access SCSI device
da3: Serial Number 20060413092100000
da3: 40.000MB/s transfers
da3: Attempt to query device size failed: NOT READY, Medium not present
da3: quirks=0x2<NO_6_BYTE>
da4 at umass-sim1 bus 1 scbus8 target 0 lun 3
da4: <Generic- MS/MS-Pro 1.00> Removable Direct Access SCSI device
da4: Serial Number 20060413092100000
da4: 40.000MB/s transfers
da4: Attempt to query device size failed: NOT READY, Medium not present
da4: quirks=0x2<NO_6_BYTE>
ugen0.9: <VIA Labs, Inc. USB3.0 Hub> at usbus0
uhub4 on uhub0
uhub4: <VIA Labs, Inc. USB3.0 Hub, class 9/0, rev 3.00/2.21, addr 8> on usbus0
uhub4: 4 ports with 4 removable, self powered
ums0 on uhub3
ums0: <Razer Razer DeathAdder, class 0/0, rev 2.00/1.00, addr 5> on usbus0
ums0: 7 buttons and [XYZ] coordinates ID=0
in6_purgeaddr: err=65, destination address delete failed
lo0: link state changed to DOWN
lo0: link state changed to UP
alc0: link state changed to DOWN
alc0: link state changed to UP
ugen0.3: <Microsoft Controller> at usbus0 (disconnected)
ugen0.3: <SanDisk Cruzer Dial> at usbus0
umass2 on uhub0
umass2: <SanDisk Cruzer Dial, class 0/0, rev 2.00/1.00, addr 9> on usbus0
umass2: SCSI over Bulk-Only; quirks = 0xc100
umass2:9:2: Attached to scbus9
da5 at umass-sim2 bus 2 scbus9 target 0 lun 0
da5: <SanDisk Cruzer Dial 1.00> Removable Direct Access SPC-4 SCSI device
da5: Serial Number 4C530000200603111445
da5: 40.000MB/s transfers
da5: 14664MB (30031872 512 byte sectors)
da5: quirks=0x2<NO_6_BYTE>
ugen0.3: <SanDisk Cruzer Dial> at usbus0 (disconnected)
umass2: at uhub0, port 4, addr 9 (disconnected)
da5 at umass-sim2 bus 2 scbus9 target 0 lun 0
da5: <SanDisk Cruzer Dial 1.00> s/n 4C530000200603111445 detached
(da5:umass-sim2:2:0:0): Periph destroyed
umass2: detached
ugen0.3: <SanDisk Cruzer Dial> at usbus0
umass2 on uhub0
umass2: <SanDisk Cruzer Dial, class 0/0, rev 2.00/1.00, addr 10> on usbus0
umass2: SCSI over Bulk-Only; quirks = 0xc100
umass2:9:2: Attached to scbus9
da5 at umass-sim2 bus 2 scbus9 target 0 lun 0
da5: <SanDisk Cruzer Dial 1.00> Removable Direct Access SPC-4 SCSI device
da5: Serial Number 4C530000200603111445
da5: 40.000MB/s transfers
da5: 14664MB (30031872 512 byte sectors)
da5: quirks=0x2<NO_6_BYTE>
alc0: promiscuous mode enabled
alc0: promiscuous mode disabled
 

gpw928

Aspiring Daemon

Reaction score: 266
Messages: 591

The only thing I can see that worries me is the cloned_interfaces="alc0". That's usually used for "virtual" things like bridges. It should not be required for a physical NIC.

Please confirm that alc0 is a physical NIC, and that it's seen at boot time (in /var/log/messages, or dmesg(8)). If so, remove the "cloned_interfaces" line from /etc/rc.conf, and reboot.

The first thing to check is that you don't have duplicate MAC or IP addresses on any interface on any host. Verify manually, but check /var/log/messages on all hosts for any insights.

You will almost always get a better insight into what's happening it you can capture network packets using tcpdump(1) from another (working) host on the same network (any Unix-like host will do).

Assign the IP statically, as you have done, and just ping things to begin with.

Use the second host (tcpdump_host) to observe what's on the wire. On that second host:
  • Figure out which NIC hosts the 192.168.1.0/24 subnet, assuming "em0" below; and
  • Capture the packets, and use wireshark(1) to interpret, e.g.
Code:
sudo tcpdump -i em0 -w /tmp/trace host <alc0_host>
^C # after ping completes
wireshark /tmp/trace

From the problem host(alc0_host):
Code:
sudo arp -d <IP address of tcpdump_host>
ping <IP address of tcpdump_host> # let it run for a few cycles
^C
Wireshark is usually pretty good at spotting problems. You should be able to see the alc0_host sending out an ARP broadcast and getting back a response packet. Then it should send an ICMP echo request and get a back reply packet for each ping.

If you can get that far, your network has good basic functionality.

If you can't get that far, and there is any network traffic seen from the acl0_host, attach the tcpdump trace file.
 
OP
pixelsyntax

pixelsyntax

New Member


Messages: 7

The only thing I can see that worries me is the cloned_interfaces="alc0". That's usually used for "virtual" things like bridges. It should not be required for a physical NIC.

Please confirm that alc0 is a physical NIC, and that it's seen at boot time (in /var/log/messages, or dmesg(8)). If so, remove the "cloned_interfaces" line from /etc/rc.conf, and reboot.
alc0 is a physical NIC (though integrated into motherboard). The cloned interface is due to roccobaroccoSC's suggestion to try
Code:
sysrc cloned_interfaces+="alc0"
sysrc ifconfig_alc0="inet 192.168.1.10/24"
sysrc defaultrouter="192.168.1.1"
Removing these lines from rc.conf hasn't made a difference. The interface is visible at boot time as per my previous dmesg.
Code:
alc0: <Killer E2400 Gigabit Ethernet> port 0xd000-0xd07f mem 0xdf100000-0xdf13ffff irq 19 at device 0.0 on pci7
alc0: 11776 Tx FIFO, 12032 Rx FIFO
alc0: Using 1 MSIX message(s).

The first thing to check is that you don't have duplicate MAC or IP addresses on any interface on any host. Verify manually, but check /var/log/messages on all hosts for any insights.

You will almost always get a better insight into what's happening it you can capture network packets using tcpdump(1) from another (working) host on the same network (any Unix-like host will do).

Assign the IP statically, as you have done, and just ping things to begin with.
All pings fail with "ping: sendto: Host is down". However, if I have tcpdump running and leave ping trying to reach a host, I do sometimes eventually get a very delayed response as per my earlier posts

Use the second host (tcpdump_host) to observe what's on the wire. On that second host:
  • Figure out which NIC hosts the 192.168.1.0/24 subnet, assuming "em0" below; and
  • Capture the packets, and use wireshark(1) to interpret, e.g.
Code:
sudo tcpdump -i em0 -w /tmp/trace host <alc0_host>
^C # after ping completes
wireshark /tmp/trace

From the problem host(alc0_host):
Code:
sudo arp -d <IP address of tcpdump_host>
ping <IP address of tcpdump_host> # let it run for a few cycles
^C
Wireshark is usually pretty good at spotting problems. You should be able to see the alc0_host sending out an ARP broadcast and getting back a response packet. Then it should send an ICMP echo request and get a back reply packet for each ping.

If you can get that far, your network has good basic functionality.

If you can't get that far, and there is any network traffic seen from the acl0_host, attach the tcpdump trace file.

I might attempt this in the future, but at this point I'm convinced there is some kind of driver issue at play. Identical static IP address settings work as expected from other operating systems using the same hardware and network - everything is identical as far as I can tell, except the fact that I'm running freeBSD. I have managed to configure a usb wifi dongle for the short term, which is working correctly and as expected. I had hoped that freebsd-update might have resolved my problem, but it has not.
 

roccobaroccoSC

Aspiring Daemon

Reaction score: 221
Messages: 746

Sorry about the cloned_interface. I was wrong to suggest this particular line in rc.conf. But it does not make much difference, as observed.

Now that your IP address and mask are set properly and you have proper routes, you need to check the other devices:
  • Is your router also set up properly. IP Address (192.168.1.1) and mask (/24) need to be set correctly.
  • Is your physical network hardware OK - when you plug the cable, do you see the orange light (for gigabit) or green light (100 MBit/s)?
  • Is your cable right? Sometimes when you put a crossed cable it does not work. Try to swap the cable.
  • Try to connect another device that works for sure to the same cable and make sure the hardware works fine.
  • The NIC could be faulty. Try booting a FreeBSD or Linux live CD and see if the network works.
 
OP
pixelsyntax

pixelsyntax

New Member


Messages: 7

I appreciate your help roccobaroccoSC. Everything works as expected in other operating systems on this same machine. It is only when using freeBSD that this problem occurs. Manually setting a static IP address, netmask and default gateway in linux works as expected. Setting the same values on the same machine using the same NIC in freeBSD does not work. I will try a different NIC, but will not be able to do so for some time. Assuming that the other NIC 'just works', how would I proceed in triaging the problem with my current NIC, and is it something worth investing time into?
 

roccobaroccoSC

Aspiring Daemon

Reaction score: 221
Messages: 746

It's not impossible that the NIC driver has problems. That it works with Linux is a good sign. This means your hardware and the environment is fine.
I would advise you to update your kernel and base system to the latest state but it is tricky without a network. Maybe look into offline update? You could use the Subversion method from the handbook, but check out the Subversion code with Linux and then copy it to your FreeBSD system. Then you can compile the code and update the system. If you are lucky, maybe the problem with the driver has been fixed.

Another way would be to create a virtual machine under Linux and attach your FreeBSD disk to the VM. Boot FreeBSD inside the VM and see if the network works there (maybe with a VirtIO network adapter). You can update the system in the VM and then reboot physically.

Also, make absolutely sure your firewall is stopped:
Code:
ipfw add 1 allow log all from any to any
service ipfw stop
ipfw list
ipfw table all list
ipfw nat show 1 config

It should be empty, except for the 1 rule to pass everything.

Also, scan dmesg and /var/log for some error hints.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 12,673
Messages: 39,278

Have you tried turning the machine completely off, then booting to FreeBSD? A long time ago I had an issue with the re(4) driver, I dual-booted the machine and every time I was running windows, rebooted and started FreeBSD the re(4) interface just failed to work. You could set IP addresses and all but it never worked. I had to turn off the machine, then boot right to FreeBSD and the card would start working. Somehow Windows left the card in some weird state and FreeBSD didn't initialize it properly from that state.
 

roccobaroccoSC

Aspiring Daemon

Reaction score: 221
Messages: 746

One more idea! When you boot under Linux, does the adapter get the full 1 Gbit/s speed, or is it in 100 Mbit/s mode?
 

bext3r

New Member


Messages: 2

Hey. I have exactly the same problem. The adapter is the same. All the options proposed here were tried - it did not help.
I will try to configure directly past the router. I also decided to buy a simple network card. D-link dfe 520tx, I think, will do. What do you think?

I really want to get a working system with Internet access. Going with gentoo - everything worked fine there.

I apologize for my English - I use google translate.
 
OP
pixelsyntax

pixelsyntax

New Member


Messages: 7

I have just installed an Intel NIC (i210) that uses the igb driver. It worked immediately when configured to use DHCP. It also worked with a manually configured static IP.

Is it worth filing a bug for the alc driver? Seems that there is at least one other person experiencing this problem (bext3r). If so, where can I do that?
 
Top