Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 172056 - forcedeth driver issues with 2.6.20.3 kernel.
Summary: forcedeth driver issues with 2.6.20.3 kernel.
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard: linux-2.6.??-regression
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-24 14:47 UTC by Alex Blom
Modified: 2007-03-29 22:50 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
kernel .config (config,30.41 KB, text/plain)
2007-03-24 14:52 UTC, Alex Blom
Details
boot dmesg (dmesg,22.96 KB, text/plain)
2007-03-25 11:59 UTC, Alex Blom
Details
dmesg continued (dmesgerror,30.17 KB, text/plain)
2007-03-25 11:59 UTC, Alex Blom
Details
ethtool (ethtool,554 bytes, text/plain)
2007-03-25 11:59 UTC, Alex Blom
Details
ifconfig (ifconfig,820 bytes, text/plain)
2007-03-25 12:00 UTC, Alex Blom
Details
2.6.18 .config (config,37.65 KB, text/plain)
2007-03-27 11:14 UTC, Alex Blom
Details
Working 2.6.20 .config (config,32.40 KB, text/plain)
2007-03-29 20:50 UTC, Alex Blom
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Blom 2007-03-24 14:47:59 UTC
This is my first bugreport ever.

I emerged the latest gentoo-sources (2.6.20.3) and went on configuring it. I compiled and installed it and edited my grub.conf. Then i restarted it and booted into my new kernel. Everything worked great, except that i had no network, i rebooted back into my old kernel and someone in #gentoo told me that phy had been separated in the last kernel or something. So i enabled all of the PHY drivers and rebooted again. Still no luck.
ethtool eth0 displays what it should, (Link detected: Yes etc).

I checked dmesg and found this strange bug/error while booting the kernel:

loop: loaded (max 8 devices)
Marvell 88E1101: Registered new driver
Marvell 88E1111: Registered new driver
Marvell 88E1145: Registered new driver
Fixed PHY: Registered new driver
Device 'fixed@100:1' does not have a release() function, it is broken and must be fixed.
BUG: at drivers/base/core.c:120 device_release()
 [<c023cf39>] kobject_cleanup+0x49/0x80
 [<c023cf70>] kobject_release+0x0/0x10
 [<c023dda1>] kref_put+0x31/0xa0
 [<c02a966a>] fixed_mdio_register_device+0x21a/0x280
 [<c0496c6b>] fixed_init+0x1b/0x30
 [<c04768a0>] init+0x110/0x250
 [<c01029c6>] ret_from_fork+0x6/0x1c
 [<c0476790>] init+0x0/0x250
 [<c0476790>] init+0x0/0x250
 [<c01036bf>] kernel_thread_helper+0x7/0x18
 =======================
Device 'fixed@10:1' does not have a release() function, it is broken and must be fixed.
BUG: at drivers/base/core.c:120 device_release()
 [<c023cf39>] kobject_cleanup+0x49/0x80
 [<c023cf70>] kobject_release+0x0/0x10
 [<c023dda1>] kref_put+0x31/0xa0
 [<c02a966a>] fixed_mdio_register_device+0x21a/0x280
 [<c0496c7c>] fixed_init+0x2c/0x30
 [<c04768a0>] init+0x110/0x250
 [<c01029c6>] ret_from_fork+0x6/0x1c
 [<c0476790>] init+0x0/0x250
 [<c0476790>] init+0x0/0x250
 [<c01036bf>] kernel_thread_helper+0x7/0x18
 =======================
forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.60.
ACPI: PCI Interrupt Link [APCH] enabled at IRQ 23
ACPI: PCI Interrupt 0000:00:11.0[A] -> Link [APCH] -> GSI 23 (level, low) -> IRQ 23
PCI: Setting latency timer of device 0000:00:11.0 to 64
forcedeth: using HIGHDMA
eth0: forcedeth.c: subsystem: 01043:cb84 bound to 0000:00:11.0

Please tell me if i didn't do this right. :)

Reproducible: Always




Im using the integrated nic on my motherboard: P5N32-E SLI

Portage 2.1.2-r9 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo-r6 i686)
=================================================================
System uname: 2.6.18-gentoo-r6 i686 Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
Gentoo Base System version 1.12.6
Timestamp of tree: Sat, 17 Mar 2007 13:30:01 +0000
ccache version 2.4 [enabled]
dev-java/java-config: 1.3.7, 2.0.31
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -msse3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-march=nocona -O2 -msse3 -pipe -fomit-frame-pointer -fno-enforce-eh-specs -fvisibility=hidden -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.port80.se/gentoo http://mirror.gentoo.no/ http://mirror.uni-c.dk/pub/gentoo/"
LINGUAS="en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/sunrise /usr/portage/local/layman/armagetron /usr/portage/local/layman/xeffects"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aac alsa arts bash-completion berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread emboss encode fam firefox fortran gcj gdbm gif glitz gpm gstreamer hal iconv isdnlog jack jpeg kde kdeenablefinal libg++ mad midi mikmod mmx mmxext mono mozbranding mozdevelop moznopango mp3 mpeg ncurses nls nptl nptlonly ogg opengl pam pcre pdf perl png ppds pppd python qt3 quicktime readline reflection sdl session spell spl sse sse2 ssl svg symlink tcpd truetype truetype-fonts type1-fonts unicode vorbis win32codecs x264 x86 xml xorg xv xvid xvmc zeroconf zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Alex Blom 2007-03-24 14:52:06 UTC
Created attachment 114253 [details]
kernel .config
Comment 2 Alex Blom 2007-03-24 14:53:25 UTC
Added kernel config

My motherboard is called Asus P5N32-E SLI. Their website seems to be down so i cant url it. 
Comment 3 Daniel Drake (RETIRED) gentoo-dev 2007-03-24 18:09:50 UTC
Please attach lspci output.
Comment 4 Alex Blom 2007-03-24 18:43:07 UTC
00:00.0 Host bridge: nVidia Corporation C55 Host Bridge (rev a2)
00:00.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.3 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.4 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.5 RAM memory: nVidia Corporation C55 Memory Controller (rev a2)
00:00.6 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.7 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.0 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.3 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.4 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.5 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.6 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.0 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.1 RAM memory: nVidia Corporation Unknown device 03bc (rev a1)
00:02.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:03.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:06.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:07.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:09.0 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a1)
00:0a.0 ISA bridge: nVidia Corporation MCP55 LPC Bridge (rev a2)
00:0a.1 SMBus: nVidia Corporation MCP55 SMBus (rev a2)
00:0a.2 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a2)
00:0b.0 USB Controller: nVidia Corporation MCP55 USB Controller (rev a1)
00:0b.1 USB Controller: nVidia Corporation MCP55 USB Controller (rev a2)
00:0d.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1)
00:0e.0 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2)
00:0e.1 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2)
00:0e.2 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2)
00:0f.0 PCI bridge: nVidia Corporation MCP55 PCI bridge (rev a2)
00:0f.1 Audio device: nVidia Corporation MCP55 High Definition Audio (rev a2)
00:11.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)
00:13.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
00:14.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
00:15.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
00:16.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
00:17.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
00:18.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
01:00.0 VGA compatible controller: nVidia Corporation GeForce 7300 LE (rev a1)
04:0b.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev c0)
Comment 5 Daniel Drake (RETIRED) gentoo-dev 2007-03-24 23:55:02 UTC
OK. You just need forcedeth, no special phy drivers. You can ignore the traces you posted earlier.

Can you reproduce this with the latest development kernel, currently 2.6.21-rc4? If so, please go into more detail about what you mean by "i had no
network". You might also try changing the "#if 0" line near the top of drivers/net/forcedeth.c to "#if 1" to enable more debug messages going into the logs.
Comment 6 Daniel Drake (RETIRED) gentoo-dev 2007-03-25 00:02:13 UTC
Also, did 2.6.19 or any other older kernels work?
Comment 7 Alex Blom 2007-03-25 00:31:46 UTC
It's working on 2.6.18. I'll try the latest dev kernel tomorrow.
Comment 8 Alex Blom 2007-03-25 11:59:25 UTC
Created attachment 114341 [details]
boot dmesg
Comment 9 Alex Blom 2007-03-25 11:59:46 UTC
Created attachment 114342 [details]
dmesg continued
Comment 10 Alex Blom 2007-03-25 11:59:58 UTC
Created attachment 114344 [details]
ethtool
Comment 11 Alex Blom 2007-03-25 12:00:11 UTC
Created attachment 114346 [details]
ifconfig
Comment 12 Alex Blom 2007-03-25 12:02:12 UTC
uname -a:
Linux tacaz 2.6.21-rc4-git10 #1 SMP Sun Mar 25 13:34:33 CEST 2007 i686 Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz GenuineIntel GNU/Linux

pinging my local router gives:
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
From 192.168.1.7 icmp_seq=1 Destination Host Unreachable
From 192.168.1.7 icmp_seq=2 Destination Host Unreachable

pinging my own ip gives:
PING 192.168.1.7 (192.168.1.7) 56(84) bytes of data.
64 bytes from 192.168.1.7: icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from 192.168.1.7: icmp_seq=2 ttl=64 time=0.016 ms

dmesg is filled of these:
000: ff ff ff ff ff ff 00 0e a6 f1 af 94 08 06 00 01
010: 08 00 06 04 00 01 00 0e a6 f1 af 94 c0 a8 01 07
020: 00 00 00 00 00 00 c0 a8 01 03 2b 00 01 00 00 00
030: 00 00 00 00 00 00 a5 01 00 00 74 9b a8 bf 01 00
eth0: nv_start_xmit_optimized: entries 1 queued for transmission. tx_flags_extra: 0

it seems like every packet is queued up.
Comment 13 Daniel Drake (RETIRED) gentoo-dev 2007-03-25 19:20:50 UTC
Thanks for testing. The next step would be to file a forcedeth bug upstream at http://bugzilla.kernel.org. Be sure to mention that 2.6.18 works, 2.6.20 doesn't, and 2.6.21-rc4-git10 is still broken. Post the new bug URL here when done.

If you are really keen you could do a bisection to find the exact commit which introduced the bug. See http://www.reactivated.net/weblog/archives/2006/01/using-git-bisect-to-find-buggy-kernel-patches/
Comment 14 Alex Blom 2007-03-26 19:17:31 UTC
strange, i did a bisect between 2.6.18 and 2.6.20 and every point was bad. I dont get it. And when i tried ethtool -r eth0 the machine locked up.
Comment 15 Alex Blom 2007-03-26 20:06:53 UTC
i just did some more bisecting and tried 2.6.17-rc2 and it didnt work there either. I think im doing something wrong in the config put i cant figure out what.
Comment 16 Daniel Drake (RETIRED) gentoo-dev 2007-03-26 23:30:53 UTC
Can you attach your 2.6.18 config?
Comment 17 Daniel Drake (RETIRED) gentoo-dev 2007-03-26 23:31:57 UTC
Also, are you 100% sure you were rebooting into the new kernel image on each test? You can use the "uname -v" sanity check here. http://www.gentoo.org/doc/en/kernel-config.xml#doc_chap5
Comment 18 Daniel Drake (RETIRED) gentoo-dev 2007-03-26 23:39:44 UTC
Do you have a 2.6.18 kernel which you can boot into and the network card works?
Comment 19 Alex Blom 2007-03-27 11:12:47 UTC
My current is: Linux tacaz 2.6.18-gentoo-r6 #4 SMP PREEMPT Fri Jan 12 18:48:36 CET 2007 i686 Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz GenuineIntel GNU/Linux

And it works, and i checked my last bisect kernel using uname -a and it said 2.6.17-rc2, im sure.

It's so strange.
Comment 20 Alex Blom 2007-03-27 11:14:13 UTC
Created attachment 114597 [details]
2.6.18 .config
Comment 21 Daniel Drake (RETIRED) gentoo-dev 2007-03-28 00:48:31 UTC
In your git tree do the following:

git branch test
git checkout test
git reset --hard v2.6.18

Then use the .config you just attached, compile the kernel, and boot into it. Then do the "uname -v" check, and see if the network works.
Comment 22 Alex Blom 2007-03-29 20:49:38 UTC
I did some more testing, with my 2.6.20 .config as start no kernel worked but if i just copied my 2.6.18 .config to 2.6.20 it worked. So redid the configuration of 2.6.20 again and enabled some misc options that i that i had in my 2.6.18 config. And i worked. After that i disabled the options i though i had enabled in the first place but it still works, I must have forgotten some option. Anyways, it works now and we can close this bug or whatever.

I'll attach my working 2.6.20 .config
Comment 23 Alex Blom 2007-03-29 20:50:03 UTC
Created attachment 114889 [details]
Working 2.6.20 .config