2010-11-23 64 views
1

En ce moment, je travaille avec des protocoles de routage ad hoc (à savoir OLSR et B.A.T.M.A.N.) sur les appareils Android enracinées exécutant Cyanogenmod. Mes tests fonctionnent plutôt bien. Cependant, il y a une chose qui est vraiment ennuyante: je peux seulement me connecter à un réseau ad hoc existant, mais ne pas en créer un manuellement en utilisant seulement les téléphones. En ce moment j'utilise mon ordinateur portable pour mettre en place un réseau ad hoc et pour exécuter un petit serveur DHCP. Savez-vous créer manuellement un réseau ad hoc en utilisant le shell sur Android?Comment configurer un réseau ad hoc en utilisant le shell sur un appareil Android rooté?

J'ai trouvé quelques méthodes comment ceci devrait fonctionner, mais aucun n'a fonctionné pour moi. J'ai essayé d'utiliser ifconfig, iwconfig, netcfg et même wpa_cli (qui semblait être le meilleur choix pour cela). Mais après tout essai, le système est revenu à l'état «pas de connexion Wi-Fi» - même si le téléphone est resté en mode ad hoc pendant quelques secondes lors de la recherche d'une adresse IP. Je serai tellement heureux si je peux enfin contourner ce problème, car alors je pourrais utiliser mon ordinateur portable pour l'accès à Internet (et donc la recherche d'aide en ligne pendant les tests) au lieu de l'utiliser pour mettre en place un réseau ad hoc . :-)

+0

Stackoverflow est pour les questions de programmation. Pour les questions de convivialité Android, s'il vous plaît utiliser android.stackexchange.com –

+0

@mayra Comme vous pouvez lire ma question est sur la programmation - ici, il est la programmation d'un script shell. – mreichelt

+0

Désolé, il semblait qu'il s'agissait d'exécuter des commandes sur le shell, ne pas écrire un script. Vous pourriez toujours avoir plus de chance là-bas. –

Répondre

2

I Ne suis pas vraiment clair sur les détails techniques, mais android-wifi-tether vous oblige à avoir un noyau personnalisé avec le support NETFILTER, que je ne sais pas si Cyanogenmod a. Vous pourriez essayer d'utiliser un autre projet open source comme exemple: Barnacle Tether. Il ne nécessite pas de custom kernel.

J'ai commencé à regarder la source de Barnacle pour mon propre projet. C'est assez facile à compiler, mais je viens juste de commencer à jouer avec ça alors je ne connais pas la réponse exacte à votre question.

+0

Ce projet semble intéressant, et le code semble assez simple. Peut-être que si j'ai le temps, je peux extraire la partie nécessaire pour créer un réseau ad-hoc. Après un rapide coup d'œil sur le code, il semble qu'ils créent un nouveau processus wpa_supplicant, se connectent à lui et exécutent quelques commandes avec lui. Donc, fondamentalement peut-être il ya une solution en utilisant wpa_cli - encore la question de savoir comment le faire est encore ouvert ... – mreichelt

+0

Je marque cela comme la bonne solution, bien que le problème n'est pas encore entièrement résolu. Peut-être que je reviendrai sur ce problème plus tard et publierai la solution ici. :-) – mreichelt

1

Corrigez-moi si je me trompe, mais l'ancienne application tethering cyanogen (android 1.6, avant que le tethering ne soit officiellement offert) ne crée-t-elle pas un réseau ad-hoc pour les clients tether? (J'ai fini par l'utiliser pour ne pas attacher, mais juste pour mettre en place un réseau afin que je puisse entrer dans le téléphone à partir d'un ordinateur portable pendant que je jouais avec les pilotes hôtes USB et donc je ne pouvais pas utiliser ADB.)

+0

Voulez-vous dire http://code.google.com/p/android-wifi-tether/? J'ai déjà regardé certaines sources mais je n'ai pas trouvé d'informations pour créer un réseau ad-hoc. Et je ne peux pas l'utiliser parce que j'utilise Android 2.2 sur les nouvelles versions de CyanogenMod. Tout ce dont j'ai besoin est un ensemble de commandes shell pour configurer un réseau ad-hoc sur Android. – mreichelt

+0

Par curiosité, que se passe-t-il si vous activez le partage de connexion maintenant? –

+0

Si j'active la connexion, CyanogenMod crée un nouveau hotspot (= mode infrastructure, pas de mode ad-hoc). – mreichelt