| |||||||
Das Thema "Ad-hoc wifi" befindet sich unter Root / Hacking / Modding für Samsung Galaxy auf Android-Hilfe.de.
![]() |
| | Themen-Optionen | Ansicht |
| | #11 (permalink) |
| Neuer Benutzer Registriert seit: 10.07.2009
Beiträge: 7
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
| |
| | |
| | #12 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 31.07.2009
Beiträge: 72
Abgegebene Danke: 1
Erhielt 24 Danke für 12 Beiträge
|
Da fehlen dir garantiert die "root" rechte. Tipp mal "id". Fuer alle interessierten: mein Ad-Hoc-Connect-Script funktioniert mittlerweise recht gut, ich paste es mal hier hin: Code: #!/system/bin/sh
# Fixed IP config, use ADR=dhcp otherwise
ADR=104.198.65.66
MSK=255.0.0.0
DNS=67.223.248.57
# Wifi config, BSSID seems to be required. Use "r" command to show scan_results
# Do "iwlist wlan0 freq" on PC for channel list, ch1=2412, ch11=2462, ch13=2472
ESSID="olsr.freifunk.net"
BSSID="02:ca:ff:ee:ba:be"
FREQU=2457
# Neighbour for ping test ("P" command)
NEIGH=104.198.65.65
DEV=eth0
# Note: the /system/bin/sh has no test command
# so we use "case;easc" instead of "if;then;fi"
timer () {
case "$time" in
0)return 1;;
esac
time=$((time-1))
}
pidof () {
for cmd in /proc/*/cmdline
do
case "$(cat $cmd)" in
$1*)
pid=${cmd#/proc/}
echo ${pid%%/*}
return
;;
esac
done
}
state () {
for i in $(wpa_cli -i $DEV -p /data/misc/wifi status)
do
case "$i" in
wpa_state=*)echo ${i#*=};;
esac
done
}
# returns network number, creates new entry if ssid unknown
getnetnum () {
ssid=$1
net=none
IFS="
"
for i in $(wpa_cli -i $DEV -p /data/misc/wifi list_network)
do
unset IFS
set $i
case "$2" in
$ssid)net=$1;;
esac
done
case "$net" in
none)
net=$(wpa_cli -i $DEV -p /data/misc/wifi add_network)
;;
esac
echo $net
}
# ssid bssid frequency
adhoc () {
net=$(getnetnum $1)
pid=$(getprop dhcp.$DEV.pid)
cmd=$(cat /proc/$pid/cmdline 2>&-)
# Note: saved /data/misc/wifi/bcm_supp.conf not sufficient for function
# We always need to (re-)set the parameters with the following commands.
wpa_cli -i $DEV -p /data/misc/wifi set_network $net mode 1 >&-
wpa_cli -i $DEV -p /data/misc/wifi set_network $net ssid \"$1\" >&-
wpa_cli -i $DEV -p /data/misc/wifi set_network $net bssid $2 >&-
wpa_cli -i $DEV -p /data/misc/wifi set_network $net frequency $3 >&-
wpa_cli -i $DEV -p /data/misc/wifi set_network $net key_mgmt NONE >&-
wpa_cli -i $DEV -p /data/misc/wifi enable_network $net >&-
wpa_cli -i $DEV -p /data/misc/wifi ap_scan 2 >&-
wpa_cli -i $DEV -p /data/misc/wifi select_network $net >&-
time=5
while timer
do
state=$(state)
case "$state" in
COMPLETED)time=0;;
DISCONNECTED|ASSOCIATING)sleep 1;;
*)
echo "Error: state is $state" 2>&-
exit 1
;;
esac
done
echo $state
case "$state" in
COMPLETED);;
*)exit 1;;
esac
case "$ADR" in
dhcp|DHCP);;
*)
# Using a fixed IP config
case "$cmd" in
/system/bin/dhcpcd-*)
# Active dhcpcd, wpa_supp starts new dhcpcd, wait for that
time=5
while timer
do
case "$(getprop dhcp.$DEV.pid)" in
$pid)sleep 1;;
*)time=0;;
esac
done
;;
esac
case "$(cat /proc/$(getprop dhcp.$DEV.pid)/cmdline 2>&-)" in
/system/bin/dhcpcd-*)
echo "Stopping dhcpcd ($(getprop dhcp.$DEV.pid))"
kill $(getprop dhcp.$DEV.pid)
;;
esac
# Fake a running dhcpcd
setprop dhcp.$DEV.pid $(pidof /system/bin/wpa_supplicant)
setprop init.svc.dhcpcd running
setprop dhcp.$DEV.ipaddress $ADR
setprop dhcp.$DEV.mask $MSK
setprop dhcp.$DEV.dns1 $DNS
ifconfig $DEV $(getprop dhcp.$DEV.ipaddress) netmask $(getprop dhcp.$DEV.mask)
setprop dhcp.$DEV.reason BOUND
setprop dhcp.$DEV.result ok
;;
esac
echo "Ok."
}
case "$1" in
l)
wpa_cli -i $DEV -p /data/misc/wifi list_network
;;
o)
shift
/data/local/bin/olsrd $*
;;
O)
kill $(pidof /data/local/bin/olsrd)
kill -9 $(pidof /data/local/bin/olsrd)
;;
p)
ping 151.1.1.1
;;
P)
ping $NEIGH
;;
s)
wpa_cli -i $DEV -p /data/misc/wifi status
;;
S)
wpa_cli -i $DEV -p /data/misc/wifi config_save
;;
[0-9])
wpa_cli -i $DEV -p /data/misc/wifi select_network $1
;;
w)
wpa_cli -i $DEV -p /data/misc/wifi
;;
h)
cat<<EOF
Script to connect to wireless lan in ad-hoc (IBSS) mode.
The following single char commands are available:
l lists configured network entries
o starts olsrd (ad-hoc routing daemon)
O stops olsrd (ad-hoc routing daemon)
p ping test to internet (ctrl-c to stop)
P ping test to neighbour (ctrl-c to stop)
s shows current wpa_supplicant status
S save config, adds adhoc entry to java wifi settings
[num] manually activate network by number
w interactively use wpa_cli command line
h show this help.
(empty) start ad-hoc wifi mode
You need to switch Wifi off/on to return to normal operation.
You need superuser rights ("root access") to execute. For this,
you may create a script in /system/bin to callup this script,
e.g. su -c "$0 \$*" (with quotes as shown!)
EOF
;;
*)
adhoc $ESSID $BSSID $FREQU
;;
esac
exit 0 |
| | |
| Folgender Benutzer bedankt sich bei sven-ola für diesen Beitrag: | fakeraol (14.09.2010) |
| | #13 (permalink) |
| Neuer Benutzer Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
|
Hallo Leute! Also ... ich bin einer der Entwickler von "Wireless Tether for Root Users" (android-wifi-tether - Project Hosting on Google Code). Ich würde gerne eine Galaxy-Version fabrizieren. Da ich aber selbst kein Galaxy zur Verfügung habe, wäre ich für Hilfe dankbar. Das größte Problem scheint für zu sein, das Wifi-Interface in den AdHoc-Modus zu bringen. Kann mir jemand bestätigen, das es mit iwconfig funktioniert? Also: iwconfig eth0 mode ad-hoc Super wäre auch, wenn sich Leute bei mir melden, die bereit sind, Programme (schnell zusammengebastelte Test-Programme) zu testen. Dann bitte ein PM an mich. Danke. ![]() Harry |
| | |
| Folgender Benutzer bedankt sich bei harry_m für diesen Beitrag: | Lubomir (24.09.2009) |
| | #14 (permalink) |
| Erfahrener Benutzer Registriert seit: 08.07.2009
Beiträge: 200
Abgegebene Danke: 1
Erhielt 14 Danke für 12 Beiträge
|
iwconfig funktioniert an sich, aber irgendwas schaltet dauernd wieder zurück - deswegen das ifrename vorher. Das ist natürlich nur ein quick&dirty hack, aber für eine saubere Lösung kenn ich mich leider zu wenig aus, was Android rundherum alles noch so macht. Bei den HTC-Geräten wird für adhoc AFAIK tiwlan.ini verändert, stimmt das?
|
| | |
| | #15 (permalink) | |
| Neuer Benutzer Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
| Zitat:
*) Wlan über die ganz normale API deaktivieren *) Schauen, ob das Kernel-Modul entladen wurde *) Kernel-Moduel wieder laden. *) Eine angepasste tiwlan.ini mittels wlan_loader laden (da ist das "AdHoc" konfiguriert). *) IP-Adresse drauf konfigurieren und das ganze restliche Zeug (dnsmasq, masquerading,...) *) Beim Ausschalten die ganze Prozedur rückwärts. Funktioniert eigentlich recht ok. Also sowas hier sollte funktionieren? Code: ifrename iwconfig wlan mode ad-hoc iwconfig wlan essid whatever Hast keine Lust dann mal was zu testen? ![]() Harry | |
| | |
| | #16 (permalink) | ||
| Erfahrener Benutzer Registriert seit: 08.07.2009
Beiträge: 200
Abgegebene Danke: 1
Erhielt 14 Danke für 12 Beiträge
| Zitat:
Zitat:
Kein Problem! | ||
| | |
| | #17 (permalink) | |
| Neuer Benutzer Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
| Zitat:
Ist /etc/iftab bereits auf dem Galaxy oben oder ist das von euch raufkopiert und geändert worden? Wie schaut der Inhalt von iftab aus (kannst du die vielleicht mal anhängen)? Wenn ich das jetzt richtig gesehen habe, dann kann man dem "ifrename" mit dem "-c" switch eine alternative iftab-Datei unterjubeln. Und ja ... wenn du Wlan über "Settings" deaktivierst, dann wird das Kernel-Modul NICHT entladen? Wie bringst du das Interface wieder in einen "normalen" Modus (wieder mit iwconfig)? Nochmals Danke. Harry | |
| | |
| | #18 (permalink) | |
| Erfahrener Benutzer Registriert seit: 08.07.2009
Beiträge: 200
Abgegebene Danke: 1
Erhielt 14 Danke für 12 Beiträge
| Zitat:
Doch, es wird entladen. Ich meinte nur, dass eth0 nicht automatisch wieder entsteht, wenn ich es dann manuell lade. Die einfachste Möglichkeit, wieder in den normalen Modus zurückzuschalten, ist WLAN aus- und wieder einzuschalten. "iwconfig wlan mode managed" hat lustigerweise nicht funktioniert. | |
| | |
| | #19 (permalink) | |
| Neuer Benutzer Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
| Zitat:
Und ... sieht man nicht vielleicht mit einem "adb logcat" was er genau macht, um das Wlan-Interface (nach dem Laden des wlan-Moduls - beim Aktivieren über Settings) wieder hoch zu bringen (damit das eth0 wieder sauber da ist)? Egal ... ich werd mich morgen einmal hinsetzen und versuchen was zu basteln ... Harry | |
| | |
| Folgender Benutzer bedankt sich bei harry_m für diesen Beitrag: | Hanneskitz (22.09.2009) |
| | #20 (permalink) |
| Neuer Benutzer Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
|
Hallo! Also ... so, ich habe eine erste Test-Version zusammengestellt (wird sicherlich nicht die letzte sein, bis das Zeug funktionieren wird). Verfügbar ist Test1 hier: http://android-wifi-tether.googlecod...laxy-test1.apk Mit einer hoher Wahrscheinlichkeit wird diese Version nicht ordentlich funktionieren, denn ich verwende, wie schon bei den HTC-Geräten, die Methode (wie oben schon erwähnt): 1) Wifi-Interface deaktivieren 2) Kernel-Modul laden usw. usf. Und ja ... leromarinvit hat ja schon gesagt, dass diese Methode nicht funktionieren soll. Egal, vielleicht testet ihr trotzdem - wenn es nicht funktioniert, dann bleibt ja immernoch die "Interface umbennen"-Variante. Wenn ihr testet ... bitte immer das Log ansehen (unter [menu] und "Show log") - erst dort sieht man die Fehler wirklich. Und ... tethering kann auch ohne GUI gestartet werden, das sollte noch einige zusätzlich Meldungen ausspucken. Das geht mit: /data/data/android.tether/bin/tether start /data/data/android.tether/bin/tether stop Ebenfalls wäre der Output von "adb logcat" hilfreich. Und wenn ihr schon am Testen seid, dann könntet ihr auch nocht bluetooth-tethering ausprobieren (benötigt nicht ein Wifi in AdHoc)! Es gibt dazu ein Video auf unserer Google-Code-Seite: android-wifi-tether - Project Hosting on Google Code Bin auf eure Fehlermeldungen gespannt ![]() Harry EDIT: Ahja ... das ganze Zeug erfordert natürlich einen Netfiler-enabeld Kernel! Geändert von harry_m (23.09.2009 um 01:16 Uhr) |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Connection / Internet per Ad Hoc | Hagbard235 | Android Allgemein | 7 | 01.09.2010 14:28 |
| Android Market per Wifi?? [Gelöst] | sophie | HTC Magic Forum | 9 | 10.09.2009 09:26 |
| WiFi Indikator | Axel_Foley | Samsung Galaxy (I7500) Forum | 12 | 10.08.2009 17:10 |
| Im Standby: WiFi aus, 3G an? [Gelöst] | XEP-624 | Samsung Galaxy (I7500) Forum | 8 | 09.08.2009 14:33 |
| G1 - Aktivierung über Wifi | zx128 | T-Mobile G1 Forum | 2 | 02.02.2009 18:19 |