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;