Leopard and usbmuxd issues
Preface: This post to save the frustration of system.log files being filled up with error messages and an iPhone not being recognized by iTunes. It is of an extreme technical nature, and will be completely uninteresting to you.If you are seeing messages in your console logs that look like:
5/27/08 1:43:27 AM com.apple.launchd[1] (com.apple.usbmuxd9136) Exited with exit code: 1
You most likely have a corrupted group definition file. To confirm, type dseditgroup nobody. If there's no output, you have the same problem I had. Here's how to correct it:
- Delete the file: sudo rm /var/db/dslocal/nodes/Default/groups/nobody.plist
- Type: sudo dseditgroup -o create nobody
- Edit /var/db/dslocal/nodes/Default/groups/nobody.plist and find where it defines the "gid". Change it from 500 to -2. (To match /etc/group).
- Delete /var/db/dslocal/indices/Default/index
- Reboot
Now, if you type "dseditgroup nobody", you should see a bunch of attributes, and your usbmuxd should load properly. And best of all, iTunes will see your iPhone!
October 5, 2011: Update from Bob Kennedy:
Your item ... news/andsuch/000199.php was much appreciated -- very useful to create a _usbmuxd group -- THANKS !But, my error message was a bit different: "getpwnam("_usbmuxd") failed". So, I needed to create a user, in addition to group.
A good procedure for adding the user appeared at:
http://www.ubertechnologist.com/?p=118
"iPhone not recognized or charging after OS update"But, that article contains a typo in the "executable" portion ... two missing CR/LFs. Here is his list of commands to add the user "_usbmuxd":
dscl localhost -create /Local/Default/Users/_usbmuxd dscl localhost -create /Local/Default/Users/_usbmuxd generateduid FFFFEEEE-DDDD-CCCC-BBBB-AAAA000000D5 dscl localhost -create /Local/Default/Users/_usbmuxd gid 213 dscl localhost -create /Local/Default/Users/_usbmuxd home /var/db/lockdown dscl localhost -create /Local/Default/Users/_usbmuxd name _usbmuxd dscl localhost -create /Local/Default/Users/_usbmuxd passwd **** dscl localhost -create /Local/Default/Users/_usbmuxd realname "iPhone OS Device Helper" dscl localhost -create /Local/Default/Users/_usbmuxd shell /usr/bin/false dscl localhost -create /Local/Default/Users/_usbmuxd uid 213
