Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Enable full duplex ethernet in 10.2 Network
You can now enable full duplex ethernet in Jaguar. Previously, the ifconfig command would not recognise the mediaopt full-duplex flag, even though ifconfig listed it as an option. It seems to be fixed now in Jaguar, but I have not yet done any speed tests to confirm whether it really is working. Anyways the error message is gone when you try to enable full-duplex. These commands should be entered in the terminal window:

To view the current ethernet settings:
  % ifconfig
To change to full duplex:
  % sudo ifconfig en0 mediaopt full-duplex
To change back to half duplex:
  % sudo ifconfig en0 mediaopt half-duplex
To force a different speed (your network/hub/router/modem must also support this speed!):
  % sudo ifconfig en0 media 10baseT/UTP mediaopt full-duplex   [or]
% sudo ifconfig en0 media 100baseTX mediaopt full-duplex [etc...]
Check the output of 'ifconfig' to see the supported media types for your ethernet card.

Even if your other network hardware supports full-duplex operation (it probably does) you may not notice a big difference in speed unless you have a lot of two-way traffic. If you do have constant simultaneous upstream and downstream traffic you might see a speed increase up to 12% depending on other network conditions.


Panther broken!
    •    
  • Currently 4.25 / 5
  You rated: 4 / 5 (4 votes cast)
 
[68,543 views]  

Enable full duplex ethernet in 10.2 | 25 comments | Create New Account
Click here to return to the 'Enable full duplex ethernet in 10.2' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
autoselect not working?
Authored by: MaxMarino on Sep 03, '02 04:13:25AM

what if entries for 'media' and 'supported media' were set to: autoselect

Wouldn't that save you from setting and resetting between full and half duplex?
Check with ifconfig if you have those entries set as 'autoselect': Jaguar should select the best available connection.



[ Reply to This | # ]
autoselect not working?
Authored by: Miga on Sep 03, '02 05:53:01AM

It does not work for me to change to full-duplex, 100BaseTX, though the media supports it.



[ Reply to This | # ]
autoselect not working?
Authored by: carsten on Sep 05, '02 12:50:29PM

autoselect always sets my ethernet to half-duplex, even though my hub supports it. This was a problem for me in Mac OS 9 too. (G4 dual-450)

(I tried the same hub on a windows machine, and it configured the interface at full-duplex. Grrrr.)

The automatic setting may work just fine on some machines. For example one of the new iMac flat panels I tested automatically selected full-duplex without my intervention.

So if you want full-duplex and automatic isn't giving it to you, you can always try to force it manually. If your hub/modem doesn't support it you won't see any internet activity at all, then just leave it at automatic.



[ Reply to This | # ]
autoselect not working?
Authored by: macjohnmcc on Sep 20, '02 10:20:53AM

I've changed nothing on my 10.2 Dual G4 1GHz and I see that my NIC is already set to full duplex.



[ Reply to This | # ]
Autoselect has been working for a while
Authored by: cabo on Sep 03, '02 05:48:08PM
Just so people don't think they have to fiddle with this stuff necessarily: ifconfig en0 on my PBG4 says:
en0: flags=8863 mtu 1500
        inet6 fe80::203:93ff:fe12:3456%en0 prefixlen 64 scopeid 0x4 
        inet 192.168.217.27 netmask 0xffffff00 broadcast 192.168.217.255
        ether 00:03:93:12:34:56 
        media: autoselect (100baseTX ) status: active
and has been saying similar things (without the inet6 stuff, of course :-) since 10.1.2. My Ethernet switch also believes the PBG4 is full duplex, and there is no mismatch as I'm easily getting 5 MBytes/s out of the thing (haven't run ttcp though). Of course, it's nice you now can influence it via ifconfig (which I haven't verified).

[ Reply to This | # ]
Autoselect has been working for a while
Authored by: BraindeadMac on Sep 04, '02 10:48:17AM

Ditto. My gigabit connections at work are recognized at full duplex (quicksilver and PB G4), and all of my other machines are appropriately setup as full duplex by autoselect. My PB G3 (Lombard model) and my wife's iBook 366, which never had anything better than 10.1 also had full duplex 100MBit connections courtesy of autoselect. Perhaps if you've got bad wiring or a faulty hub/relay configuration there might be a problem but virtually nobody should have to worry about this.



[ Reply to This | # ]
Autoselect has been working for a while
Authored by: gxw on Sep 19, '02 09:07:58PM

Mine's working properly too.
media: autoselect (100baseTX <full-duplex>) status: active

Running an 800 Mhz eMac with 10.2.1 connected to a Linksys 8 port Cable/DSL router/switch.



[ Reply to This | # ]
remember to match both sides of the link
Authored by: ptudor on Sep 06, '02 05:14:17PM
If you force your host to full-duplex but leave the switch side at auto, they'll negotiate down to the least common, half duplex. So you'll start picking up errors on the line like crazy.

Just a reminder that both sides of the link must match-- both auto or both 100-FD. If you just force your Mac expecting everything to suddenly be twice as fast, you'll actually find it to be about 10x slower once you start actually pushing traffic.

--
ptudor

[ Reply to This | # ]

mediaopt full-duplex DOES NOT work..
Authored by: jfanelli on Sep 14, '02 12:17:14PM

Folks, you have been able to issue the command to force duplex since 10.0, problem is, it doesn't do anything.

sudo ifconfig en0 mediaopt full-duplex

will appear to execute, but it doesn't actually force the duplex setting. I have verified this on 3 macs, my Beige G3 (with 3rd party 10/100 card), my G4/733 DA, and my TiBook550.

I have these connected to a Cisco 2924XL ethernet switch, where I have likewise force 100/Full Duplex on the ports in question. Even after issuing the force duplex command, and ifconfig en0 still shows the autonegotiated half-duplex setting. Of course, none of my PC's have problems negotiating duplex, and in typical windows fashion, you can force every conceivable NIC setting on Windows 2000 anyway. A full-duplex ethernet Sniffer (I work for Network Associates) on the link verifies this.

Autonegotiation not working well is not Apple's problem alone, many cards and switches have problems negotiating duplex. What is Apple's problem is its unique blindness to the fact that such settings should be configurable by advanced users and network administrators.

I love Jaguar, but network performance, and especially file sharing is still pathetic.

regards
Jeff Fanelli



[ Reply to This | # ]
mediaopt full-duplex DOES NOT work..
Authored by: dpfaust on Sep 18, '02 01:58:57PM

I found this problem as well. It appears that you have to supply both link speed and duplex for it to take in OSX 10.2. I ran the following first:

ifconfig en0 mediaopt full-duplex

and got the same results you did.

I then ran this:

ifconfig en0 media 100baseTX mediaopt full-duplex

and got the desired results.

Now my question is, how do I set this so that it happens automatically at boot time? I know that you can set some options in the /etc/iftab file. Currently my iftab file has this line:

en0 -AUTOMATIC-

Should I change it to this:

en0 media 100baseTX mediaopt full-duplex

Thanks,

Dave



[ Reply to This | # ]
mediaopt full-duplex DOES NOT work..
Authored by: ScienceMan on Oct 31, '02 07:12:30PM

I would also like to make these settings -- did this work for you?



[ Reply to This | # ]
mediaopt full-duplex DOES NOT work..
Authored by: carsten on Sep 21, '02 09:48:09AM

I checked system.log in the Console and it reports that my ethernet is indeed still only running at half-duplex. :( Well the lesson here is: just because you don't get an error message anymore don't assume it's working.



[ Reply to This | # ]
mediaopt full-duplex DOES NOT work..
Authored by: jdos2 on Oct 04, '02 09:40:22PM

Indeed there are many cards that don't honor user settings, including systems such as AIX and their implementation of Token-Ring adapters.

The problem, or not, depending, is if the port and system aren't reporting errors, the negotiation was successful and things are probably working find, albiet wrong.

Besides, one can point to plenty of bad decode info even in the newest versions of Sniffer...

;->



[ Reply to This | # ]
mediaopt full-duplex DOES NOT work..
Authored by: jlneemidge on Oct 10, '02 04:25:24PM
File sharing I can understand, but I'm not sure about the gripe about network performance. I routinely saturate 100baseT ethernet from my laptop (PBG3 Firewire -- Pismo). It keeps pace just fine with AIX systems at work, and AIX has a _very_ good network stack.

I see no particular problems with Jaguar, at least on my hardware, with either network throughput or latency. I do agree that, e.g., ifconfig should actually do what it's told to do, but I don't see performance issues.

[ Reply to This | # ]

mediaopt full-duplex DOES NOT work..
Authored by: Mr_Britt on Jan 28, '03 12:12:10PM
I have just gone through the same problem with our network of Mac's and PC's. We have both Cisco Catalyst 35xx-XL's and 29xx-XL's in our network that are interconnected using Gigabit Fibre. You need to stop the spanning tree protocol at port startup in these switches for the Mac's to autonegotiate the link correctly. To do this either use the Cisco Cluster Management Suite (CMS) to turn ON PortFast and set Duplex and Speed to Auto, or add the following to your ports config using telnet:
interface FastEthernet0/4      %% Your interface here
 description MacTest           %% port name
 switchport access vlan 4      %% vlan its in
 spanning-tree portfast        %% This is the only nonstandard option
!                              %% and stops STP from delaying port/link startup
This has fixed most of our network issues with Mac's and all the NIC's report the correct duplex and speed at both the switch and the machine. Hope this helps.

[ Reply to This | # ]
mediaopt full-duplex DOES NOT work, but...
Authored by: atrusler on Feb 26, '03 03:08:07PM

I got this to work on an XServe and a G-4, but not on my G-3. You have to have the media option and the mediaopt option in the command or it will not do anything. For example:

ifconfig en0 mediaopt full-duplex

does nothing. but:

ifconfig en0 media 100baseTX mediaopt full-duplex

works like a charm. You can verify this by ifconfig. If autoselect is still showing up next to the media type, it did not work.



[ Reply to This | # ]
auto selected full-duplex
Authored by: kd_121 on Oct 03, '02 04:10:44PM

Hi,
I thought I would check mine, and it comes up:

media: autoselect (100baseTX <full-duplex>) status: active

I have not changed anything and I havn't tried to test or verify, but network works fast both ways for the most part. If it is auto sellecting full-duplex do you think it's working then? Or is there something flawed?

Thanks,
chris



[ Reply to This | # ]
auto selected full-duplex
Authored by: Eakster on Dec 21, '02 11:56:58PM
Yeah mine says that too. I have a G4 dual 450.

[Eaksters-Computer:~] eakster%ifconfig
lo0: flags=8049 mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010 mtu 1280
stf0: flags=0 mtu 1280
en0: flags=8863 mtu 1500
inet6 fe80::230:65ff:fea6:f9a0%en0 prefixlen 64 scopeid 0x4
inet 192.168.123.162 netmask 0xffffff00 broadcast 192.168.123.255
ether 00:30:65:a6:f9:a0
media: autoselect (100baseTX ) status: active
supported media: none autoselect 10baseT/UTP 10baseT/UTP 10baseT/UTP 10baseT/UTP 100baseTX 100baseTX 100baseTX 100baseTX 1000baseTX 1000baseTX 1000baseTX 1000baseTX

[ Reply to This | # ]
auto selected full-duplex
Authored by: Eakster on Dec 22, '02 12:04:48AM

Sorry the HTML took out the <full-duplex> of my last post
Here is my terminal text capture in plain text format :)

[Eaksters-Computer:~] eakster% ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::230:65ff:fea6:f9a0%en0 prefixlen 64 scopeid 0x4
inet 192.168.123.162 netmask 0xffffff00 broadcast 192.168.123.255
ether 00:30:65:a6:f9:a0
media: autoselect (100baseTX <full-duplex>) status: active
supported media: none autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <half-duplex,hw-loopback> 10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,hw-loopback> 100baseTX <half-duplex> 100baseTX <half-duplex,hw-loopback> 100baseTX <full-duplex> 100baseTX <full-duplex,hw-loopback> 1000baseTX <full-duplex> 1000baseTX <full-duplex,hw-loopback> 1000baseTX <full-duplex,flow-control> 1000baseTX <full-duplex,flow-control,hw-loopback>



[ Reply to This | # ]
command fails
Authored by: goodboys on Oct 11, '02 09:15:50AM

my 550 PBG4 just spits out:

ifconfig: SIOCSIFMEDIA: Input/Output error

no networking from a state of the art machine. great.



[ Reply to This | # ]
command fails
Authored by: mingking on Dec 10, '02 06:43:51AM

You have to be root to do this, otherwise you get that error. Use su or sudo. Doing advanced network configuration on any kind of machine, state of the art or not, still requires a savvy administrator.



[ Reply to This | # ]
command fails
Authored by: chrisf16 on Dec 28, '02 11:07:03AM

I've been trying the ifconfig command as root to get a B&W G3 to drop to 10baseT/UTP full-duplex and get the SIOCSIFMEDIA: Operation not supported. This is on 10.2 basic (can't apply the latest update because I can't connect yet). This Power Mac G3 has always failed at 100baseT. In system 9, I used the duplexer tool and it worked.

Any other suggestions?



[ Reply to This | # ]
Help
Authored by: VictorsMax on Jan 17, '03 08:45:14AM

So I tried the following:
sudo ifconfig en0 mediaopt full-duplex
and
sudo ifconfig en0 media 10baseT/UTP mediaopt full-duplex

After which i did a ifconfig and got the following:

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::230:65ff:febe:4438%en0 prefixlen 64 scopeid 0x4
inet 48.111.42.126 netmask 0xffffff00 broadcast 48.111.42.255
ether 00:30:65:be:44:38
media: 10baseT/UTP <full-duplex> (10baseT/UTP <half-duplex>) status: active

Question is: What does the (10baseT/UTP <half-duplex>) mean?

It appears that the NIC is set to full duplex, but when I do a file transfer test. I am actually communicating in half-duplex mode. Transferring a 1.5 meg file takes 4 minutes!!! As a baseline, I booted into OS 9 with Apple's duplexer tool and was able to transfer the same file in under a minute.
I've also tried disabling the half-duplex setting via a following command:
sudo ifconfig en0 -mediaopt half-duplex
and
sudo ifconfig en0 media 10baseT/UTP mediaopt full-duplex -mediaopt half-duplex
Both commands seem to do absolutely nothing in terms of disabling half-duplex. The -mediaopt parameter can be found in the man pages for ifconfig.

Any assistance in this full-duplex matter would be greatly appreciated.
Thanks
Victor



[ Reply to This | # ]
Help
Authored by: mellon on Jan 24, '03 05:55:21PM

The reason you're getting such poor performance when you configure the adapter in full-duplex mode is probably that the device into which it is plugged is configured to run full-duplex. When you configure MacOS to run full-duplex, it *says* it's full-duplex, but it's actually running in half-duplex.

I discovered this the hard way on Monday when I tried to transfer 80g of data over a crossover cable. The only way I was able to get decent performance out of the connection was to configure both ends half-duplex. If I configured both ends full-duplex, performance was about what you're reporting.

Sigh.



[ Reply to This | # ]
Full-Duplex
Authored by: ajoakland on Jul 09, '03 11:45:55AM

Hello,

You must be careful with auto-negotiate. One person said things must be auto-neg on both ends (mac & switch). This typically causes many problems. Only one end (client OR the switch) NOT both can be auto-negotiate. Non-compatible NIC and switches/hubs/routers will get into an continuous auto-neg handshake that will KILL your throughput.

ALSO, full-duplex is only good if you have a high quality infrastructure. If the datalines sitting in your walls are not "perfect" your full-duplex setting could cause so many errors, that you performance drops to NIL. I tend to FORCE 100Half-Duplex, and avoid most problems.

Servers, in server-rooms, with short cable runs to their switch, can usually handle the 100Full. (assuming the hardware involved allow it)

Summary: go ahead and push things to 100Half, then on a machine by machine basis, attempt 100Full, checking for throughput. Under no circumstances have Auto-Neg on both ends.

AJ



[ Reply to This | # ]