Opened 2 years ago

Closed 2 years ago

#13698 closed bug (fixed)

Network stopped working on haiku nightly hrev50967

Reported by: addos Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/Network/ipro1000 Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

I did a bisection of tests with the nightlies to track down which nightly I last had working internet on. The last build was hrev50779. After that, it looks like dhcp assigns an ip to the interface ipro1000, but I can't ping anything and websites don't load in webpositive. I can't connect to irc in vision. Need assistance tracking down what changed.

Attachments (2)

syslog2 (11.2 KB ) - added by addos 2 years ago.
syslog.tar.gz (62.2 KB ) - added by addos 2 years ago.

Download all attachments as: .zip

Change History (20)

comment:1 by diver, 2 years ago

So the last working build was hrev50779? What was the next you tried which was broken?

comment:2 by addos, 2 years ago

hrev50779 was last build that worked hrev50967 was first nightly that networking stopped working.

comment:4 by addos, 2 years ago

Those were the only two builds I could download from the haiku nightly site. Are there any intermediate builds available somewhere I could try, to try to narrow it down further?

https://download.haiku-os.org/nightly-images/x86_gcc2_hybrid/

comment:5 by humdinger, 2 years ago

Thanks to package management, you can easily downgrade to any hrev.

comment:6 by addos, 2 years ago

So using the pkgman system, it looks like the build where it last worked was hrev50812 and it broke in hrev50813, assuming I did everything right.

Last edited 2 years ago by korli (previous) (diff)

by addos, 2 years ago

Attachment: syslog2 added

comment:8 by addos, 2 years ago

http://cgit.haiku-os.org/haiku/commit/?id=e32c64c113053d4a3e4cfdb50a8ce64b8c1a60eb looks suspicious since it impacts the network card I am using

comment:9 by diver, 2 years ago

Odd, that commit simply added new PCI IDs and didn't change anything.

comment:10 by korli, 2 years ago

addos, the syslog is incomplete.

in reply to:  9 comment:11 by korli, 2 years ago

Replying to diver:

Odd, that commit simply added new PCI IDs and didn't change anything.

At least the part with driver.c should be reverted as it affects the old driver beos_ipro1000.

Seeing the typos in driver.c, it doesn't compile anyway (";" instead of ":").

comment:12 by diver, 2 years ago

Ah, so the old ipro1000 is used for these cards now? Nice catch!

by addos, 2 years ago

Attachment: syslog.tar.gz added

comment:13 by diver, 2 years ago

Component: - GeneralDrivers/Network/ipro1000

comment:14 by korli, 2 years ago

grep -R E1000_DEV_ID_82541GI_LF
dev/e1000/if_em.c:	{ 0x8086, E1000_DEV_ID_82541GI_LF,	PCI_ANY_ID, PCI_ANY_ID, 0},
dev/e1000/e1000_hw.h:#define E1000_DEV_ID_82541GI_LF			0x107C
dev/e1000/if_lem.c:	{ 0x8086, E1000_DEV_ID_82541GI_LF,	PCI_ANY_ID, PCI_ANY_ID, 0},
dev/e1000/e1000_api.c:	case E1000_DEV_ID_82541GI_LF:

Your device ID is now declared for both driver if_em.c and if_lem.c. To compare with FreeBSD: http://fxr.watson.org/fxr/ident?v=FREEBSD9;i=E1000_DEV_ID_82541GI_LF

Defined as a preprocessor macro in:

    dev/e1000/e1000_hw.h, line 75 

Referenced (in 3 files total) in:

    dev/e1000/e1000_hw.h, line 75
    dev/e1000/if_lem.c, line 115
    dev/e1000/e1000_api.c, line 207 

Obviously the addition of IDs is the problem.

comment:15 by korli, 2 years ago

So let's try what's common:

egrep  "(E1000_DEV_ID_[^,]+)," if_em.c  | sed -e "s/^.*8086, //g" | sed -e "s/,.*//g" | sort > em.ids
egrep  "(E1000_DEV_ID_[^,]+)," if_lem.c  | sed -e "s/^.*8086, //g" | sed -e "s/,.*//g" | sort > lem.ids
comm -12 em.ids lem.ids

Result:

E1000_DEV_ID_82540EM
E1000_DEV_ID_82540EM_LOM
E1000_DEV_ID_82540EP
E1000_DEV_ID_82540EP_LOM
E1000_DEV_ID_82540EP_LP
E1000_DEV_ID_82541EI
E1000_DEV_ID_82541EI_MOBILE
E1000_DEV_ID_82541ER
E1000_DEV_ID_82541ER_LOM
E1000_DEV_ID_82541GI
E1000_DEV_ID_82541GI_LF
E1000_DEV_ID_82541GI_MOBILE
E1000_DEV_ID_82542
E1000_DEV_ID_82543GC_COPPER
E1000_DEV_ID_82543GC_FIBER
E1000_DEV_ID_82544EI_COPPER
E1000_DEV_ID_82544EI_FIBER
E1000_DEV_ID_82544GC_COPPER
E1000_DEV_ID_82544GC_LOM
E1000_DEV_ID_82545EM_COPPER
E1000_DEV_ID_82545EM_FIBER
E1000_DEV_ID_82545GM_COPPER
E1000_DEV_ID_82545GM_FIBER
E1000_DEV_ID_82545GM_SERDES
E1000_DEV_ID_82546EB_COPPER
E1000_DEV_ID_82546EB_FIBER
E1000_DEV_ID_82546EB_QUAD_COPPER
E1000_DEV_ID_82546GB_COPPER
E1000_DEV_ID_82546GB_FIBER
E1000_DEV_ID_82546GB_PCIE
E1000_DEV_ID_82546GB_QUAD_COPPER
E1000_DEV_ID_82546GB_QUAD_COPPER_KSP3
E1000_DEV_ID_82546GB_SERDES
E1000_DEV_ID_82547EI
E1000_DEV_ID_82547EI_MOBILE
E1000_DEV_ID_82547GI

comment:16 by korli, 2 years ago

Clean up done in hrev51417.

comment:17 by addos, 2 years ago

Hey, wanted to confirm that I booted the latest nightly and networking is working as expected.

comment:18 by korli, 2 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.