Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Question:

Question: USB Ethernet stop working after hotplug

I have found that my Apple USB Ethernet dongle stop working if I plug in another USB device. This happens both using a USB hub, and when plugging directly into the MacBook Air. I also see this problem when using a similar dongle from another supplier (called AX88x72A). The USB Ethernet dongle works fine after booting, with status "Connected", but if I plug in another device like my phone or a USB drive, the status changes to "Cable Unplugged" after a few seconds, ifconfig no longer show the en1 interface, and syslog gives a few error lines such as:


Fri Jan 13 13:17:19 Airbook-II kernel[0] <Debug>: en1

Fri Jan 13 13:17:19 Airbook-II kernel[0] <Debug>: Ethernet \[AppleUSBEthernet\]: Link down on en1

Fri Jan 13 13:17:19 Airbook-II kernel[0] <Debug>: AppleUSBEthernet::prepareForFlash - Link down, Device 87bf600

Fri Jan 13 13:17:19 Airbook-II kernel[0] <Debug>: AppleUSBEthernet::prepareForFlash - Link down, Device 87bf600


After this, I must reboot the MacBook Air to get the dongle working again. Do anybody know how to force the AppleUSBEthernet driver to rescan the device tree (or something similar)?


With regards,

Birger Retterstøl Olaisen

MacBook Air, Mac OS X (10.6.8)

Posted on

Reply
Question marked as Solved
Answer:
Answer:

I have exactly the same problem here (MacBook Air 2,1 - OSX 10.6.8). After several tries (and reboots!), I've found that an unload/reload of the USB Ethernet driver works.

Note that operation is not automatic: I have to execute commands in a terminal in order to retrieve my Ethernet connection... but it is far better than a reboot!

So, if you want to test my method, once you have plugged a USB key (or after an hotplug of your USB-ethernet dongle), you can execute these commands on your terminal (note there are 2 lines and no space in the kext name, a space may be inserted by this forum):


sudo kextunload /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleUSBEth ernet.kext

sudo kextload /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleUSBEth ernet.kext


Of course, i've made a small script with these commands, and copied it on my PATH so it is even easier to execute it. It works perfectly for me, and I hope it could help.

David.

Posted on

Page content loaded

Jan 14, 2012 12:34 PM in response to birgerro In response to birgerro

are you able to get the usb internet dongle to work at all with the air? i've just set up a new air, but 99% of the time i get an error message telling me either my network is unplugged or i get a bogus ip address. i have multiple devices connected to the same network hub (an imac, a macbook) and they all work fine. the probelm is either the dongle or the brand new mac book air. but this problem kills the air for me.

Jan 14, 2012 12:34 PM

Reply Helpful

Jan 16, 2012 12:40 AM in response to markmal In response to markmal

In my case, with MacBook Air 3,2 and Mac OS X 10.6.8, I always get the internet dongles (both Apple, and the other one) to work if they are plugged into the machine when it boots, but not if I hotplug them after booting. And if I unplug a working dongle and plug it back in again also stops working (that is, Status "Cable Unplugged").


With regards,

Birger Retterstøl Olaisen

Jan 16, 2012 12:40 AM

Reply Helpful
Question marked as Solved

Feb 3, 2012 7:10 AM in response to birgerro In response to birgerro

I have exactly the same problem here (MacBook Air 2,1 - OSX 10.6.8). After several tries (and reboots!), I've found that an unload/reload of the USB Ethernet driver works.

Note that operation is not automatic: I have to execute commands in a terminal in order to retrieve my Ethernet connection... but it is far better than a reboot!

So, if you want to test my method, once you have plugged a USB key (or after an hotplug of your USB-ethernet dongle), you can execute these commands on your terminal (note there are 2 lines and no space in the kext name, a space may be inserted by this forum):


sudo kextunload /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleUSBEth ernet.kext

sudo kextload /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleUSBEth ernet.kext


Of course, i've made a small script with these commands, and copied it on my PATH so it is even easier to execute it. It works perfectly for me, and I hope it could help.

David.

Feb 3, 2012 7:10 AM

Reply Helpful

Feb 3, 2012 7:06 AM in response to DGenest In response to DGenest

That fix worked perfect! Just the kind of solution I was looking for. (The forum has broken the line between "AppleUSBEth" and "ernet.kext", which of course needs to be fixed before the command runs correctly).


Maybe I should make a daemon script that runs periodically and looks for some of the error messages, and then runs the unload/reload commands automagically?


Thanks,

Birger

Feb 3, 2012 7:06 AM

Reply Helpful

Feb 8, 2012 11:52 PM in response to DGenest In response to DGenest

By the way, do you also need a wait function in your script? My Macbook Air crashed when I ran those two commands one after the other from a script. It was something to do with a spinlock released twice, or something similar.


- Birger

Feb 8, 2012 11:52 PM

Reply Helpful

Feb 9, 2012 12:58 AM in response to birgerro In response to birgerro

No needs for a wait function in my script, and no crashes. Note that i "manually" run this script when the ethernet connection stops working (from a terminal, not from a daemon). You could try a simple "sleep 1" between the 2 lines in order to wait the kext completely stops before reloading it.

David.

Feb 9, 2012 12:58 AM

Reply Helpful

Jun 10, 2013 4:37 AM in response to DGenest In response to DGenest

I've had this problem, I'm ignorant when it comes to scripting. When I try and copy and paste these commands, I'm getting an error like this.


System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleUSBEth failed to load - (libkern/kext) not found; check the system/kernel logs for errors or try kextutil(8).

/Users/TomMacAir/ernet.kext failed to load - (libkern/kext) not found; check the system/kernel logs for errors or try kextutil(8).

ibm-0e5d37cabf8


Someone mentioned that a line was broken in the original description. I've even reloaded Lion using a recovery install and that didn't fix the problem. so frustrating It did work fine for a year and then at some point stopped working. My wireless was working so I didn't even realize it until certain apps on our network got really slow.


Thanks!

Jun 10, 2013 4:37 AM

Reply Helpful

Jun 10, 2013 4:49 AM in response to Merlin2008 In response to Merlin2008

There is a breakline in my commands, this breakline is inserted by this forum, not by me and this breakline is shown as as space. When you type the the commands, there is NO SPACE in AppleUSBEth ernet.kext.You have to type AppleUSBEthernet.kext.

The errors you have are clearly caused by this space. Note that i do not know if these commands work on Lion, since i had this problem with Snow Leopard.

David.

Jun 10, 2013 4:49 AM

Reply Helpful
User profile for user: birgerro

Question: USB Ethernet stop working after hotplug