Skip to contentSkip to conversation

forcedeth and kernel 2.6.5 has "no link"

DISCUSSION John Wong 2 participants 3 messages Apr 16, 2004 – Apr 17, 2004

Subsystems (2)
lore
Share & tools
lore

John Wong

author
#0 lore raw

Under kernel 2.6.4, ethtool reports:

Settings for eth0:
Link detected: yes

This is with forcedeth 0.23

Under kernel 2.6.5, ethtool reports:

Settings for eth0:
Supports Wake-on: g
Wake-on: d
Link detected: no

This is with forcedeth 0.25

With 2.6.5, it doesn't see an link but there is one. The connection is quite slow, so I'm thinking it may be using 10baseT-HD instead of 100baseTx-FD. The forcedeth driver does not appear to support autonegotiation.

http://bugzilla.kernel.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=OPEN&bug_status=ASSIGNED&bug_status=REOPENED&field0-0-0=product&type0-0-0=substring&value0-0-0=forcedeth&field0-0-1=component&type0-0-1=substring&value0-0-1=forcedeth&field0-0-2=short_desc&type0-0-2=substring&value0-0-2=forcedeth&field0-0-3=status_whiteboard&type0-0-3=substring&value0-0-3=forcedeth

I had submitted the bugzilla id 2283. 2496 is something that I am experiencing too.

John

#1 lore raw
Quoted 7 lines · John Wong

Under kernel 2.6.4, ethtool reports:

Settings for eth0:
Link detected: yes

This is with forcedeth 0.23

Quoted 10 lines

Under kernel 2.6.5, ethtool reports:

Settings for eth0:
Supports Wake-on: g
Wake-on: d
Link detected: no

This is with forcedeth 0.25

Odd. I'm not aware of any changes that might cause that difference. I'll check the diff.

Quoted 4 lines

I had submitted the bugzilla id 2283. 2496 is something that I am experiencing too.

Could you try the attached patch?

--
Manfred

drivers/net/forcedeth.c +8 -0
@@ -1263,6 +1263,14 @@
 				dev->name, id1, id2, i);
 		np->phyaddr = i;
 
+		if (id1 == 0x0015 && (id2 &0xfff0) == 0xf440) {
+			printk(KERN_DEBUG "%s: open: Found ICS, applying workaround.\n", dev->name);
+        		/* workaround for ICS1893 PHY */
+            		mii_rw(dev, i, 0x0018, 0xD200);
+			set_current_state(TASK_UNINTERRUPTIBLE);
+			schedule_timeout(HZ);
+		}
+
 		spin_lock_irq(&np->lock);
 		nv_update_linkspeed(dev);
 		spin_unlock_irq(&np->lock);
author
#2 lore raw

Hi,

After applying the patch to 2.6.5, I still get the timeouts:

NETDEV WATCHDOG: eth1: transmit timed out
eth1: tx_timeout: dead entries! NETDEV WATCHDOG: eth1: transmit timed out
eth1: tx_timeout: dead entries!

John

Quoted 49 lines · Manfred Spraul
Quoted 7 lines · John Wong

Under kernel 2.6.4, ethtool reports:

Settings for eth0:
Link detected: yes

This is with forcedeth 0.23

Quoted 10 lines

Under kernel 2.6.5, ethtool reports:

Settings for eth0:
Supports Wake-on: g
Wake-on: d
Link detected: no

This is with forcedeth 0.25

Odd. I'm not aware of any changes that might cause that difference. I'll check the diff.

Quoted 4 lines

I had submitted the bugzilla id 2283. 2496 is something that I am experiencing too.

Could you try the attached patch?

--
Manfred

drivers/net/forcedeth.c +8 -0
@@ -1263,6 +1263,14 @@
 				dev->name, id1, id2, i);
 		np->phyaddr = i;
 
+		if (id1 == 0x0015 && (id2 &0xfff0) == 0xf440) {
+			printk(KERN_DEBUG "%s: open: Found ICS, applying workaround.\n", dev->name);
+        		/* workaround for ICS1893 PHY */
+            		mii_rw(dev, i, 0x0018, 0xD200);
+			set_current_state(TASK_UNINTERRUPTIBLE);
+			schedule_timeout(HZ);
+		}
+
 		spin_lock_irq(&np->lock);
 		nv_update_linkspeed(dev);
 		spin_unlock_irq(&np->lock);