Após várias horas de esforço, pensei em contribuir com minha experiência. Talvez isso economize outras pessoas algum tempo.
Macbook Pro
Mac OSX 10.7.5
iTunes 11.1.1
iphone 5, ios 7.0.2
Em algum momento, não sei exatamente quando, talvez depois de instalar o iTunes 11.0, o compartilhamento USB parou de funcionar. Em um esforço para corrigir esse problema, entrei em Configurações de rede e excluí a rede USB do iPhone, pensando que seria capaz de adicioná-la novamente. Não vá. Ele realmente acabou e, quando cliquei em +, não consegui adicioná-lo novamente.
O principal recurso que usei para isso está aqui:
https://discussionsjapan.apple.com/thread/10102167?start=15&tstart=0
Eu usei o Google Translate para traduzir a página. Basicamente, é uma discussão mais completa e persuasiva dos problemas relacionados ao AppleUSBEthernetHost.kext que são discutidos em outros lugares.
Procurei em /var/log/system.log e vi os sinais indicadores de que o tethering USB não funcionaria:
Com.apple.kextd [10] Falha ao carregar / Sistema / Biblioteca / Extensões / AppleUSBEthernetHost.kext - erro de link (libkern / kext). Com.apple.kextd [10] O carregamento do com.apple.driver.AppleUSBEthernetHost falhou; removendo personalidades. kxld do kernel [com.apple.driver.AppleUSBEthernetHost] :. O supertable vtable 'vtable para IOEthernetController' para vtable 'vtable para AppleUSBEthernetHost' está desatualizado. Verifique se o seu kext foi construído com os cabeçalhos corretos. Kernel Não é possível carregar o kext com.apple.driver.AppleUSBEthernetHost - o link falhou. Falha no carregamento do executável do kext com.apple.driver.AppleUSBEthernetHost.
Isso ocorreu após a instalação do iTunes mais recente, que era 11.1.1. Examinei o version.plist para o AppleUSBEthernetHost.kext e vi o 7.0, que parecia certo. Talvez não tenha sido construído corretamente para minha máquina. Eu não sei.
Então, eu baixei este: http://carlogent.com/KextUtilityFix.zip Ele inclui o antigo AppleUSBEthernetHost.kext v2.3.0, bem como o KextUtil do cVad. Removai o antigo AppleUSBEthernetHost.kext de / System / Library / Extensions e o soltei usando o KextUtil. Isso não corrigiu o problema. Ainda!
Procurei novamente no arquivo system.log e vi mensagens sobre um cache do kernel fora de sincronia com os kexts reais. Então eu pensei - como reconstruo o cache do kernel?
Em seguida, executei sudo kextcache
(esqueci, esqueci o comando exato) para reconstruir o cache a partir da linha de comando.
Então reinicie.
Nesse ponto, conectei o iphone via USB e abri as configurações de rede. Eu poderia + adicionar o Iphone USB que estava faltando. Mas ainda assim essa conexão não estava ativa. Ele dizia "Não conectado". Examinando o arquivo kernel.log, pude ver que o kernel estava detectando o iphone sendo conectado e desconectado repetidamente. Então, de volta à caixa de diálogo Configurações de rede, cliquei no pequeno ícone "cadeado" que impede outras alterações. Voila. o USB do iphone ficou "conectado" e tudo começou a funcionar como esperado.
....