Subject: port-macppc/33667: macppc bm0 ethernet is slow (G3 B&W)
To: None <port-macppc-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <k-mid@msg.biglobe.ne.jp>
List: netbsd-bugs
Date: 06/08/2006 08:55:00
>Number: 33667
>Category: port-macppc
>Synopsis: macppc bm0 ethernet is slow (G3 B&W)
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: port-macppc-maintainer
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Thu Jun 08 08:55:00 +0000 2006
>Originator: Ken Midorikawa
>Release: 3.0
>Organization:
>Environment:
NetBSD gel 3.0 NetBSD 3.0 (G3MAC) #1: Mon Dec 26 19:04:45 JST 2005 root@gel:/usr/src/sys/arch/macppc/compile/G3MAC macppc
>Description:
In bm0 interface of NetBSD/macppc, communication of 100base was slow fatally.
I become better speed if I set it in 10base, but it is a waste.
After trial and error, I discovered that a problem was solved by one line patched to if_bm.c !
Of course it runs mega over bytes/sec :)
I do not understand a detailed reason well, but a problem in particular does not appear for half a year.
>How-To-Repeat:
Always.
>Fix:
diff -uw ./NetBSD-3.0/sys/arch/macppc/dev/if_bm.c.org ./NetBSD-3.0/sys/arch/macppc/dev/if_bm.c
--- ./NetBSD-3.0/sys/arch/macppc/dev/if_bm.c.org 2005-01-31 04:13:08.000000000 +0900
+++ ./NetBSD-3.0/sys/arch/macppc/dev/if_bm.c 2005-12-26 19:04:28.000000000 +0900
@@ -541,6 +541,9 @@
cmd->d_resid = 0;
sc->sc_rxlast = i + 1;
}
+
+ bmac_mediachange(ifp);
+
dbdma_continue(sc->sc_rxdma);
return 1;