Respostas:
Não conheço nenhuma maneira de fazer o compartilhamento de wifi sem raiz (antes da versão 2.2). No entanto, você pode usar bluetooth ou um cabo USB com PDANet que não requer raiz.
Aqui está a resposta final:
Primeiro, no seu telefone, instale um emulador de terminal no Android market e execute
cat /proc/cpuinfo
que mostrará as informações detalhadas do processador do seu telefone (ARM5 no meu caso).
Posteriormente, é necessário instalar um ambiente de compilador cruzado ARM5 na sua caixa Linux (faça o download do Ubuntu e do VirtualBox se você é maníaco por Windows / Mac e não possui uma caixa Linux), para compilar o código nativo do seu telefone.
Você faz isso para poder iniciar um ataque de escalação de privilégios NO SEU TELEFONE.
Portanto, em seguida, você precisa compilar um ataque de escalada de privilégios para o ARM5 (microprocessador HTC Hero). Para isso, use o ataque RageAgainstTheCage feito por Sebastian Krahmer do Suse Linux Berlin (somente em binário), com engenharia reversa aqui:
http://pastebin.com/fXsGij3N
Uma versão pré-compilada está disponível aqui
http://cmw.22aaf3.com /common/rageagainstthecage-arm5.zip
Faça o download do kit inicial do SDK para Android no Google.
Instale o Android Platform SDK apropriado (versão 2.1 para mim).
http://developer.android.com/sdk/index.html
Em seguida, faça o download do pacote superusuário (su):
http://cmw.22aaf3.com/common/su-2.3.6.2-efgh.zip
Coloque tudo, o pacote de superusuário, o programa su e o RageAgainstTheCage explorados na mesma pasta do adb (um programa para conectar-se ao seu telefone Android a partir do SDK do Android). Você precisa ativar a Depuração por USB e alternar o compartilhamento da Internet.
Em seguida, você transmite o arquivo rageagainstthecage.bin para a pasta / data / local / tmp no telefone (inicialmente, como usuário normal, você tem acesso de gravação apenas ao sdcard e à pasta temp, mas isso é suficiente)
adb push rageagainstthecage.bin /data/local/tmp/
Então você inicia um shell no seu telefone:
adb shell
E altere a propriedade em rageagainstthecage.bin para todos
chmod 755 /data/local/tmp/rageagainstthecage.bin
Em seguida, você começa a usar novamente a página em seu telefone como usuário normal
/data/local/tmp/rageagainstthecage
Quando a exploração terminar, sua conexão adb deve terminar.
Se não digitar
exit
adb kill-server
adb start-server
Agora conecte novamente ao seu telefone:
adb shell
O shell do ADB agora é executado com privilégios escalados (root). Então agora, remonte o sistema de arquivos para que você possa escrever na partição do sistema.
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
exit
Agora empurre su e superusuário para o seu telefone (lembre-se, você tem acesso de gravação agora)
adb push su /system/xbin/
adb push Superuser.apk /system/app/
E então mude a propriedade em su para todos
adb shell chmod 4755 /system/xbin/su
Em seguida, baixe e instale um desses aplicativos gratuitos que exigem que você faça o root no telefone. Inicie o superusuário.
Agora inicie o seu aplicativo tether. Um pop-up será exibido, perguntando se você deseja conceder acesso a este aplicativo como root. Diga sim e verifique se lembra.
Agora mude de telefone e reinicie. Quando reiniciado, tudo volta ao normal, sem mais privilégios de root. Mas su ainda está lá e é executável para todos. Portanto, quando estiver logado, inicie o aplicativo tether wifi. Como você lembrou do aplicativo de superusuário, ele usará su para mudar esse aplicativo para root, o que significa que agora funcionará bem, apenas com o aplicativo tether com privilégios de root :)
Em seguida, conecte-se à sua caixa Linux à sua nova marca. trabalhando hotspot Android WIFI. Depois de ter certeza de que funciona, não se esqueça de colocar restrições de acesso ao ponto de acesso.
BTW, se você usar seus privilégios escalados para exportar alguns pacotes apk para engenharia reversa, notará que o Android não possui o comando cp.
Você pode contornar essa restrição usando cat (copy-cat):
cat /data/app/superuser.apk >> /sdcard/Downloads/superuser.apk
;-)
O meu samsung galaxy s (android 2.1) tinha uma opção de compartilhamento integrada desde o início. Configurações-> wifi-Mobile AP e eu só precisei marcar uma caixa de seleção para que funcionasse. E funciona muito bem. (não bloqueado aqui t-mobile / holanda)
Não consigo encontrar o nome do aplicativo.
O Easy tether é um aplicativo incrível que permite o compartilhamento de wifi. http://www.androidzoom.com/android_applications/communication/easytether-lite_eoqh.html
Você não vai gostar desta resposta, mas sua operadora pode fornecer o serviço se você estiver disposto a pagar mais por isso. A Sprint ofereceu um recurso de ponto de acesso WiFi por US $ 30 / mês no Evo pré 2.2. Ridículo, sim. Mas pode ser sua única opção.
Você pode ficar sem revogação, é um aplicativo que fornece acesso root sem alterar seu kernel / exibir um rom / anular sua garantia, use isso em todas as inicialização (automática) e, em seguida, obtenha o aplicativo superusuário. Em seguida, você pode usar o aplicativo Open Tethering, que requer acesso root.
Essa é a única maneira gratuita de fazer a conexão wifi. Caso contrário, pague à sprint ou ao seu provedor a taxa mensal de ativação por compartilhamento.
No pior cenário, você pode amarrar usando o aplicativo EasyTether. Ele cria um mecanismo de encaminhamento para solicitações HTTP através da porta USB. Requer software no Android + computador. Não é o compartilhamento de WiFi, mas o compartilhamento gratuito e sem raízes. Por 3 dólares, você pode obter a versão pro e fazer HTTPS também. Melhor que nada (ou 30 dólares por mês - isso é insano -)
Resposta curta, você precisa torcer pelo compartilhamento de ponto de acesso wifi ou pagar à Sprint US $ 30 por mês. Pensei em comprar o pacote, mas decidi contra, porque eles já cobram US $ 10 a mais por linha, sem motivo legítimo. Meu pensamento é que eles esperam que você amarre e não possa fazer nada a respeito, então eles cobram mais e a cada mês, 10 dólares são adicionados rapidamente por linha, especialmente para aqueles em seu plano que nem se importam em amarrar em absoluto.