Zurück   Android-Hilfe.de > Samsung Forum > Samsung Galaxy (I7500) Forum > Root / Hacking / Modding für Samsung Galaxy


Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!

Ad-hoc wifi

Das Thema "Ad-hoc wifi" befindet sich unter Root / Hacking / Modding für Samsung Galaxy auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 15.09.2009, 22:44   #11 (permalink)
Neuer Benutzer

Registriert seit: 10.07.2009
Beiträge: 7
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard AW: Ad-hoc wifi

mit entweder "-p /data/misc/wifi" oder "-i eth0" geht's nicht. ich habe auch kein kommando "lsof" zur zeit. ich werde wohl später versuchen, nachdem ich debian auf mein galaxy habe.
skrj2e ist offline   Mit Zitat antworten
Alt 18.09.2009, 09:01   #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
Standard AW: Ad-hoc wifi

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
sven-ola ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei sven-ola für diesen Beitrag:
fakeraol (14.09.2010)
Alt 21.09.2009, 21:10   #13 (permalink)
Neuer Benutzer

Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
Standard AW: Ad-hoc wifi

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
harry_m ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei harry_m für diesen Beitrag:
Lubomir (24.09.2009)
Alt 21.09.2009, 21:27   #14 (permalink)
Erfahrener Benutzer

Registriert seit: 08.07.2009
Beiträge: 200
Abgegebene Danke: 1
Erhielt 14 Danke für 12 Beiträge
Standard AW: Ad-hoc wifi

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?
leromarinvit ist offline   Mit Zitat antworten
Alt 21.09.2009, 21:35   #15 (permalink)
Neuer Benutzer

Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
Standard AW: Ad-hoc wifi

Zitat:
Zitat von leromarinvit Beitrag anzeigen
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?
Also auf den HTC-Geräten mach ich das so ...
*) 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
Bekommt das "ifrename" nicht noch einen Parameter?

Hast keine Lust dann mal was zu testen?

Harry
harry_m ist offline   Mit Zitat antworten
Alt 21.09.2009, 21:51   #16 (permalink)
Erfahrener Benutzer

Registriert seit: 08.07.2009
Beiträge: 200
Abgegebene Danke: 1
Erhielt 14 Danke für 12 Beiträge
Standard AW: Ad-hoc wifi

Zitat:
Zitat von harry_m Beitrag anzeigen
Also auf den HTC-Geräten mach ich das so ...
*) Wlan über die ganz normale API deaktivieren
*) Schauen, ob das Kernel-Modul entladen wurde
*) Kernel-Moduel wieder laden.
Hab gerade genau das probiert, aber eth0 wird damit leider nicht von alleine erzeugt. Irgendwas fehlt also noch.
Zitat:
Zitat von harry_m Beitrag anzeigen
Code:
ifrename
iwconfig wlan mode ad-hoc
iwconfig wlan essid whatever
Bekommt das "ifrename" nicht noch einen Parameter?
Nein, das liest /etc/iftab. Aber es wäre wohl kein allzu großer Aufwand, entweder ifrename entsprechend umzubauen oder den relevanten Teil einfach rauszukopieren und in ein eigenes Tool zu verpacken.

Zitat:
Zitat von harry_m Beitrag anzeigen
Hast keine Lust dann mal was zu testen?

Harry
Kein Problem!
leromarinvit ist offline   Mit Zitat antworten
Alt 21.09.2009, 22:13   #17 (permalink)
Neuer Benutzer

Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
Standard AW: Ad-hoc wifi

Zitat:
Zitat von leromarinvit Beitrag anzeigen
Nein, das liest /etc/iftab. Aber es wäre wohl kein allzu großer Aufwand, entweder ifrename entsprechend umzubauen oder den relevanten Teil einfach rauszukopieren und in ein eigenes Tool zu verpacken.
Ok, dann hätt ich noch einige Fragen.

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
harry_m ist offline   Mit Zitat antworten
Alt 21.09.2009, 22:46   #18 (permalink)
Erfahrener Benutzer

Registriert seit: 08.07.2009
Beiträge: 200
Abgegebene Danke: 1
Erhielt 14 Danke für 12 Beiträge
Standard AW: Ad-hoc wifi

Zitat:
Zitat von harry_m Beitrag anzeigen
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.
Nein, iftab ist ein selbst erstelltes File. Da steht nur eine einzige Zeile drin mit "<newname> <macaddr>". Habs mir aber nochmal angeschaut, das ist gar nicht notwendig. Das gleiche kann man mit "ifrename -i eth0 -n newname" erreichen. Vorher (kurz voerher! max. 1s oder so; irgendwas stellts sonst regelmäßig wieder auf "up") ifconfig eth0 down.

Zitat:
Zitat von harry_m Beitrag anzeigen
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)?
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.
leromarinvit ist offline   Mit Zitat antworten
Alt 21.09.2009, 23:59   #19 (permalink)
Neuer Benutzer

Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
Standard AW: Ad-hoc wifi

Zitat:
Zitat von leromarinvit Beitrag anzeigen
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.
Mmmmmh ... das ist natürlich ziemlich "ugly". Vorallem Wlan nicht regulär zu stoppen und stattdessen einfach das interface umzubenennen. Das Gerät registriert dann aber schon (obwohl nicht über Settings deaktiviert), dass Wlan nicht mehr verfügbar ist und jetzt die "Mobile-Datenverbindung" genutzt werden soll?

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
harry_m ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei harry_m für diesen Beitrag:
Hanneskitz (22.09.2009)
Alt 23.09.2009, 01:09   #20 (permalink)
Neuer Benutzer

Registriert seit: 21.09.2009
Beiträge: 27
Abgegebene Danke: 0
Erhielt 13 Danke für 10 Beiträge
Standard AW: Ad-hoc wifi

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)
harry_m ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

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




Du liest gerade: "Ad-hoc wifi" unter "Root / Hacking / Modding für Samsung Galaxy" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.