Internet Sharing from WiFi to Ethernet doesn't work in Mountain Lion 10.8.4
I'm trying to share my WiFi connection on a Macbook Air to a USB-to-Ethernet adapter. I'm very, very, very frustrated at how Apple seems to have broken this feature that used to work on earlier software releases. I've tried dozens of different fixes and can't even keep them straight anymore.
When I turn on Internet connection sharing, 'ifconfig' gives me:
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 04:0c:ce:db:3f:78
inet6 fe80::60c:ceff:fedb:3f78%en0 prefixlen 64 scopeid 0x4
inet 192.168.2.37 netmask 0xffffff00 broadcast 192.168.2.255
media: autoselect
status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether 06:0c:ce:db:3f:78
media: autoselect
status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::3590:a853:773c:8914%utun0 prefixlen 64 scopeid 0x6
inet6 fd0f:571b:bba6:6428:3590:a853:773c:8914 prefixlen 64
en1: flags=863<UP,BROADCAST,SMART,RUNNING,SIMPLEX> mtu 1500
ether c8:a0:30:af:84:4c
media: autoselect
status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:de:48:05:fe:97
Configuration:
priority 0 hellotime 0 fwddelay 0 maxage 0
ipfilter disabled flags 0x2
Looking at other answers, I've tried adding my 'en1' USB Ethernet adapter with 'sudo ifconfig bridge0 addm en1', but it gets rejected:
ifconfig: BRDGADD en1: Operation not supported on socket
I can add my wifi adapter with 'sudo ifconfig bridge0 addm en0' and I can see it now on the 'bridge0' adapter:
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
ether 04:0c:ce:db:3f:78
inet6 fe80::60c:ceff:fedb:3f78%en0 prefixlen 64 scopeid 0x4
inet 192.168.2.37 netmask 0xffffff00 broadcast 192.168.2.255
media: autoselect
status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether 06:0c:ce:db:3f:78
media: autoselect
status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::3590:a853:773c:8914%utun0 prefixlen 64 scopeid 0x6
inet6 fd0f:571b:bba6:6428:3590:a853:773c:8914 prefixlen 64
en1: flags=863<UP,BROADCAST,SMART,RUNNING,SIMPLEX> mtu 1500
ether c8:a0:30:af:84:4c
media: autoselect
status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:de:48:44:19:92
Configuration:
priority 0 hellotime 0 fwddelay 0 maxage 0
ipfilter disabled flags 0x2
member: en0 flags=3<LEARNING,DISCOVER>
port 4 priority 0 path cost 0
Doesn't do me a darn bit of good though. The USB Ethernet connection doesn't respond to any DHCP requests. If I force an IP address on en1 with 'ifconfig en1 192.168.7.1', I lose connectivity.
h56-126:~ jason$ ping 192.168.2.37
PING 192.168.2.37 (192.168.2.37): 56 data bytes
64 bytes from 192.168.2.37: icmp_seq=0 ttl=64 time=0.062 ms
64 bytes from 192.168.2.37: icmp_seq=1 ttl=64 time=0.167 ms
^C
--- 192.168.2.37 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.062/0.115/0.167/0.053 ms
h56-126:~ jason$ ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
Request timeout for icmp_seq 0
^C
--- 192.168.2.1 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
h56-126:~ jason$ ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
Request timeout for icmp_seq 0
ping: sendto: No route to host
Request timeout for icmp_seq 1
ping: sendto: No route to host
Request timeout for icmp_seq 2
^C
--- 192.168.2.1 ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss
h56-126:~ jason$ route -n get default
route to: default
destination: default
mask: default
gateway: 192.168.2.1
interface: en0
flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
h56-126:~ jason$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
ether 04:0c:ce:db:3f:78
inet6 fe80::60c:ceff:fedb:3f78%en0 prefixlen 64 scopeid 0x4
inet 192.168.2.37 netmask 0xffffff00 broadcast 192.168.2.255
media: autoselect
status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether 06:0c:ce:db:3f:78
media: autoselect
status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::3590:a853:773c:8914%utun0 prefixlen 64 scopeid 0x6
inet6 fd0f:571b:bba6:6428:3590:a853:773c:8914 prefixlen 64
en1: flags=863<UP,BROADCAST,SMART,RUNNING,SIMPLEX> mtu 1500
ether c8:a0:30:af:84:4c
inet 192.168.7.1 netmask 0xffffff00 broadcast 192.168.7.255
media: autoselect
status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:de:48:05:fe:97
Configuration:
priority 0 hellotime 0 fwddelay 0 maxage 0
ipfilter disabled flags 0x2
member: en0 flags=3<LEARNING,DISCOVER>
port 4 priority 0 path cost 0
h56-126:~ jason$
I'm at my wit's end.
MacBook Air, OS X Mountain Lion (10.8.4)