How To Disable OS X Mavericks USB autorun

After inserting USB 3G modem i always getting same behavior:

if bundled software is not installed:

  • Opening finder window with mounted folder
  • Opening standard installer dialog (agree license, install software that written inside 3G modem)

if installed already:

  • Modem-related app is launching

Question: how to disable that "autorun" (not exactly windows-style autorun, i know)?

Super-annoying

P.S. Things applied only to OS X Maverick, previous OSX versions don't show same behavior

UPDATE

  • Modem brand is HUAWEI E173

  • Previous OSX version don't show same behavior

  • Found hidden modem helper, location: /Library/StartupItems/HWNetMgr

plist:

{
  Description     = "HWNetMgr";
  Provides        = ("HWNetMgr");
  OrderPreference = "Early";
  Messages =
  {
    start = "Starting Huawei HWNetMgr";
    stop  = "Stopping Huawei HWNetMgr";
  };
}

And removed it completely && rebooted. Results: nothing actually changed. Same behavior as mentioned above. So i thinking it's not related to the modem brand/bundle and in-system property.


You need to remove the auto launch job with the launchctl command.

For example, in my case I have already installed a modem manufactured by ZTE. So I searched for LAUNCHD listings using the launchctl list command and grepped for those modem strings.

launchctl list | grep -i zte

Showing:

5681    -   cn.com.zte.usbswapper.plist

If you do not find your app, then output all the jobs to a file. This awk command tries to overcome the chance that you may have spaces in your launchd job name.

launchctl list 2>/dev/null | awk '
{ x="\""substr($0, match($0, $3), 100)"\""; print x; system("launchctl list " x) }
' > launchList.txt

Open launchList.txt. The name of the launchd job will be shown in "..." above the {} block where you hopefully find a "Mobile Partner" or "AutoOpen" string.

Perhaps inspect the item to be more confident before removal. Surround by "" if there are spaces in the job name.

launchctl list "cn.com.zte.usbswapper.plist"

Then just remove it. This is the command to stop the auto load. Be very sure you are removing the correct agent or deamon.

launchctl remove "cn.com.zte.usbswapper.plist"

Add it again if you want, using the full path of the PLIST file.

launchctl load /Library/LaunchAgents/cn.com.zte.usbswapper.plist

The modem sofware may have a hidden "helper" application that launches on user login. This helper application would wait for the USB modem to be inserted and launch the modem software upon insertion.

Check your LoginItems in System Preferences > Users & Groups > User > LoginItems.

(I would have made the above info a comment/question but my rep score only allows answers not comments...)


You'll want to check in either:

/Library/LaunchAgents/ /Library/LaunchDaemons/

This is where software will install its background daemons. Once you find the plist associated with the vender/software, move the plist file out and reboot. With any luck, that should be it.


You should remove /Library/StartupItems/HWPortDetect and HWNetMgr, and you might want to delete them from launchctl too.