PDA

View Full Version : I need full-duplex


jdsmith575
02-11-2002, 03:27 PM
I need to find a way to enable 10base-T full-duplex for the LAN I am on here at school. If I check out ifconfig -a, I can see that I am set at half-duplex and that full is supported. I think ifconfig and the file /etc/iftab hold the power to fixing this, but I don't know how to change them properly. Any help would be appreciated.

jdsmith575
02-12-2002, 12:29 PM
Come on! I need some help here. Someone has to know how to set this.

mervTormel
02-12-2002, 01:36 PM
i did a google for [ "mac os x" ifconfig duplex ]

and found some chatter here:

http://www.macintouch.net/mosxreaderreports74.html

search the page for duplex

jdsmith575
02-12-2002, 01:53 PM
Yeah, thanks for that link. Unfortunately I've read basically the same info several times already. People seem to know the problem, but no one knows how to fix it.

stetner
02-13-2002, 05:05 AM
What is your output from ifconfig -a

Some people are confused about the SIMPLEX flag. From Apples developer site:

<GMT11-Dec-2001 15:35:08GMT> J.L.:
The SIMPLEX flag refers to the fact that an Ethernet interface can't hear its own transmissions. It will always be set for all Ethernet interfaces. This has nothing to do with whether the media connection in in FULL or HALF duplex mode.

does your media line say:

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

If so you are running full duplex.

Cheers,
Doug

jdsmith575
02-13-2002, 06:16 PM
This is what I get with ifconfig en0:

en0: flags=8863<UP,BROADCAST,b6,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 129.118.187.9 netmask 0xffffff00 broadcast 129.118.187.255
ether 00:0a:27:7e:70:b6
media: autoselect (10baseT/UTP <half-duplex>) status: active
supported media: none autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 100baseTX <half-duplex> 100baseTX <full-duplex>

As you can see, I am at half-duplex.

macubergeek
02-15-2002, 12:33 PM
ok this isn't the entire answer...
I'm a solaris guy and I'd accomplish this with the ndd command and make it permanent in /etc/rc2.d/S99inet

but I believe you'd use ifconfig <with some switch)
and make it permanent in the file /private/etc/iftab

hope that helps a little ;)

stetner
02-15-2002, 05:00 PM
Yep, that will do it. The hard part is finding what that switch is 8-)

I scanned apples developer pages for duplex problems but have not found a mention of what the arguments are to ifconfig that control duplex.

Cheers,
Doug

macubergeek
02-15-2002, 05:33 PM
From the tech support article I read today in the Apple knowlegebase:
macos 9 and also X is set to autonegociate.
Now with 9 there is a system extension that will hard code the machine to 100 full or 10 half.
Don't know what you do in x.
Believe you can just edit that file I mentioned in my last post, and reboot to accomplish the same thing.

jim

mervTormel
02-15-2002, 11:05 PM
jd,

i wonder if this might help with the syntax you are looking for. i was browsing some bash 2.05 completions and found one for ifconfig. here it is for your perusal:

# Linux ifconfig(8) completion
#
_ifconfig ()
{
local cur

COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}

case "${COMP_WORDS[1]}" in
-|*[0-9]*)
COMPREPLY=( $( compgen -W '-a up down arp promisc allmulti \
metric mtu dstaddr netmask add del \
tunnel irq io_addr mem_start media \
broadcast pointopoint hw multicast \
address txqueuelen' $cur ))
COMPREPLY=( $( echo " ${COMP_WORDS[@]}" | \
(while read -d ' ' i; do
[ "$i" == "" ] && continue
# flatten array with spaces on either side,
# otherwise we cannot grep on word
# boundaries of first and last word
COMPREPLY=" ${COMPREPLY[@]} "
# remove word from list of completions
COMPREPLY=( ${COMPREPLY/ $i / } )
done
echo ${COMPREPLY[@]})
) )
return 0
;;
esac

COMPREPLY=( $( ifconfig -a | sed -ne 's/^\('$cur'[^ ]*\).*$/\1/p' ))
}
complete -F _ifconfig ifconfig


i was able to:

$ sudo ifconfig en0 down
$ sudo ifconfig en0 metric half-duplex
$ sudo ifconfig en0 up

though i was truly down after the first command, i was unable to see my nic go half-duplex.

let us know if you make any progress with these options.

jdsmith575
02-17-2002, 01:03 AM
I've decided that as Mac OS X currently is, it is impossible to set my ethernet connection to full-duplex.

Several sources seem to support this idea. The clincher though, is that it works on my PC. I loaded FreeBSD 4.5 onto my PC and successfully configured my connection as 10base-T full-duplex with the same command (sudo ifconfig en0 media 10base-T/UTP mediaopt full-duplex) that I had been trying on my Mac.

Thanks for all your help with my problem. But it looks like I won't be able to fix it, for now anyways.

macubergeek
02-17-2002, 07:53 AM
look I don't know if this is even feasible but have you considered getting the source for the ifconfig binary in freeBSD and recompiling it for macos x? What you are setting here are just kernel parameters....quite honestly I have a vague memory that you use another command I can't remember now to set kernel parameters in macos x/Darwin....I don't think it's ifconfig something like somethingctl maybe kernctl?

hey look at the man page for the command sysctl