2 votes

Comment faire pour que le Reverse USB Tethering fonctionne sur mon appareil KitKat ? Je l'ai déjà fait fonctionner sur mon appareil Jellybean.

FWIW Reverse USB tethering fonctionne très bien sur mon appareil Jellybean, supposons qu'il a le numéro de série 0123456789ABCDEF, voici les commandes que j'utilise pour le faire fonctionner :

adb -s 0123456789ABCDEF shell su -c 'service call connectivity 33 i32 1'
sleep 5
sudo ifconfig usb0 10.42.0.1 netmask 255.255.255.0
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
adb -s 0123456789ABCDEF shell su -c "ifconfig rndis0 10.42.0.2 netmask 255.255.255.0"
adb -s 0123456789ABCDEF shell su -c "route add default gw 10.42.0.1 dev rndis0"

J'exécute ces commandes sur ma machine Linux à laquelle le téléphone est connecté, et sur mon appareil Jellybean le navigateur chargera un site web en utilisant les données sur USB.

Maintenant j'ai un appareil KitKat, et j'ai un script similaire, j'utilise

"service call connectivity 34 i32 1"

sur la première ligne car Kitkat a besoin d'une commande légèrement différente, mais même après que toutes mes commandes aient été exécutées sans message d'erreur, lorsque je charge le navigateur sur le téléphone, j'obtiens simplement "page non trouvée".

Y a-t-il un moyen de résoudre ce problème ? J'ai essayé d'envoyer un ping à Google depuis le téléphone et les pings fonctionnent, donc je suppose que c'est un problème logiciel ?

Quelqu'un a-t-il réussi à faire cela sur KitKat ? Merci

EDIT : J'ai fait d'autres tests, et je pense que c'est un problème de DNS. Le ping des adresses IP fonctionne bien, mais le ping des noms d'hôtes donne 'ping : unknown host' sur l'appareil Kitkat. Le ping des noms d'hôtes fonctionne parfaitement sur l'appareil Jellybean, j'ai les deux connectés à la même machine Linux en ce moment, donc la seule différence ici est la version d'Android.

J'ai le sentiment qu'il y a des étapes ou des commandes supplémentaires que je dois ajouter à mon script ici, car je ne peux même pas ping le nom de mon routeur à partir de l'appareil Kitkat, alors que je peux ping l'adresse IP sans problème.

1voto

HypnoToad Points 71

Après quelques essais et erreurs, j'ai réussi à le faire fonctionner. Il s'avère que c'est un problème de DNS. Si quelqu'un d'autre a ce problème, il s'avère que vous avez besoin de quelques commandes supplémentaires pour que KitKat fonctionne.

J'ai ajouté ces éléments à la fin du script que j'ai posté ci-dessus et je peux maintenant envoyer des pings à Google et recevoir des pings en retour :

adb shell su -c 'ndc resolver setifdns rndis0 "" 192.168.1.1 192.168.1.1'
adb shell su -c 'ndc resolver setdefaultif rndis0'

Remplacez 192.168.1.1 par l'adresse IP de votre routeur, il utilise cette adresse pour le DNS.

Maintenant je vais essayer google DNS (8.8.8.8) et voir si cela fonctionne toujours, et aussi voir si je peux le faire fonctionner avec mon appareil Jellybean connecté à la même boîte linux.

-1voto

chmeee Points 288

Avez-vous essayé ? http://forum.xda-developers.com/showthread.php?t=1371345 Il est dit que c'est compatible avec les versions Android inférieures à 5.0.

0 votes

Je ne peux pas utiliser ce logiciel car la machine que j'utilise pour donner à mon téléphone un accès au réseau fonctionne sous Debian Linux. Windows n'est pas une option ici, j'en ai peur. Je vais lire la section de dépannage, car elle peut contenir des informations utiles. J'espère qu'elle contient des informations sur la configuration du serveur DNS.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X