On Wed, Aug 17, 2011 at 6:50 PM, Greg Ungerer <g...@snapgear.com> wrote: > Hi Nunya, > > On 17/08/11 02:22, nunya si wrote: >> >> I have project where I take new uClinux on a coldfire 5275 dev board >> and bridge both Ethernet interfaces together with brctl. >> >> If Ethernet plugged in when I turn on the board everything work just >> fine BUT if I turn on board and THEN plug in Ethernet after it has >> booted then I can talk to the local address but nothing passes in/out >> of the bridge. Also if I power board up with Ethernet and un-plug and >> re-plug in Ethernet then same problem, talk locally but not across >> bridge. >> >> Doing "ifconfig eth0 up" every time I plug in cable will cause >> everything to work. >> >> I play with: >> >> fec_enet_adjust_link(struct net_device *dev) function in fec.c and if >> run only once: >> >> static char rerun=0; >> if(rerun++>0) return; >> >> ácan solve up/down/up issue, but not plug in after boot issue. Not >> know how to run ifconfig from driver automatic. >> >> What can do to solve issue to make eth0... Work in bridge after plug >> in/out Ethernet all by itself? > > Do you have either mii-tool or ethtool on your target? > It would be good to know what they report as the link > status on eth0. > > Regards > Greg > > >
Thank You Greg, I install ethtool and report is as follows: /> ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 1 Transceiver: external Auto-negotiation: on Link detected: yes Also /proc/kmsg announces: "PHY: 1:01 - Link is Up - 100/Full Also bridge reports after link up: br0: port 1(eth0) entering forwarding state but still bridge is broken... I have bad fix like this in fec.c last lines of function static void fec_enet_adjust_link(struct net_device *dev): if (status_change) { phy_print_status(phy_dev); dev_ioctl(dev_net(dev), SIOCSIFFLAGS, "eth0"); // hack make eth0 work } And this fixes everything so far... no right way to fix but working. Ideas? Regards (and thank You), Nunya Si _______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev