FHEM Forum

FHEM - Hardware => Server - Linux => Thema gestartet von: MrT2010 am 03 Januar 2013, 13:06:48

Titel: Can't open server port in log file
Beitrag von: MrT2010 am 03 Januar 2013, 13:06:48
Hallo,

ich habe auf einem Debian Rechner fhem-5.3.deb installiert. Das cfg-file ist unverändert.

Wenn ich nun als root-user durch Aufruf von "perl fhem.pl fhem.cfg" FHEM starten möchte, geht dies nicht. Im Log-File steht:

"telnetPort: Can't open server port at 7072: Permission denied. Exiting."

Als root sollte man jedoch die Rechte eigentlich haben...

Kann mir jemand sagen, was das Problem ist?

Danke :-)
Titel: Aw: Can't open server port in log file
Beitrag von: rudolfkoenig am 03 Januar 2013, 15:08:43
Normalerweise koennen unter Linux nur root Programme Ports unter 1024 oeffnen, das trifft hier aber nicht zu. Die Fehlermeldung bei einem bereits geoeffneten Port ist anders (Address already in use). Ich tippe auf eine Linux/Debian Restriktion analog zu den Windows Firewall, habe aber auf die schnelle nichts dazu gefunden.
Titel: Aw: Can't open server port in log file
Beitrag von: MrT2010 am 03 Januar 2013, 16:14:02
Ok, ich habe eine Lösung gefunden. Ich musste mit "usermod -G inet fhem" den Nutzer fhem den Zugriff erlauben. :-)
Titel: Aw: Can't open server port in log file
Beitrag von: ext23 am 11 Januar 2013, 08:34:32
Das hört sich so nach aktiviertem SELinux an.
Titel: Aw: Can't open server port in log file
Beitrag von: MrT2010 am 11 Januar 2013, 13:05:26
Nicht ganz - es ist ein Debian welches auf einem Android Tablett läuft. :-)

Jetzt funktioniert FHEM - Server und Client laufen auf dem Tablett, jetzt warte ich nur noch auf mein CUL, um zu sehen, ob das auch am Tablett funktioniert.
Titel: Antw:Can't open server port in log file
Beitrag von: _Billy_ am 25 Juni 2015, 15:59:08
Hi all, habe genau das gleiche Problem, ebenfalls Installation auf einem Android/Debian chroot environment, allerdings funktioniert diese Lösung nicht bei mir :-(

Die Gruppe ist auch nicht verfügbar auf meinem Debian.

Hat einer eine Idee?

Wäre suuuper dankbar!
Titel: Antw:Can't open server port in log file
Beitrag von: knopf_piano am 20 August 2015, 22:28:42
Hallo,
ich habe seit heute das gleiche Problem  :'( :'(:
Lösung vo  oben greift nicht, gruppe gibts nicht.
im log...
telnetPort: Can't open server port at 7072

--> kein FHEM möglich.
Analyse:

telnetPort: Can't open server port at 7072
tcp        0      0 0.0.0.0:7072            0.0.0.0:*               LISTEN      999        25047       3969/perl

ps ax|grep fhem   
5555 ?        R      0:07 perl fhem.pl fhem.cfg
5604 pts/0    S+     0:00 grep --color=auto fhem

somit fein.

Bei

service fhem stop
service fhem start

kommt sporadisch - und ich hab KEINE Ahnung wann und warum - die obige Fehlermeldung.
Und zwar ohne, dass ich an irgendwas anderem rumspiel, crons phantom-ports aufmachen etc...
Das mach ich öfter, auch wg. modul-reload und um generell fhem neu zu initialisieren.
M.E. darf da auch nix passieren, geht mit service apache2/squid3/privoxy/mpd und Konsorten ja auch...

Ich bin schon sukzessive vorgegangen und hab, mehrere Einzel-cfg's auskommentiert, ob da vielleicht ein Bock drin ist...
Lief dann wieder sauber (warum auch nicht).
Aber nach ein paar mal fhem stop/start war der 7072 angeblich wieder belegt.

nebenbei: Meine ganze Config lief bisher top ohne Probleme und ich war mächtig zufrieden und stolz mit WAF ganz weit vorne :-)

Lösen kann ich das nur durch

shutdown -r now


Mein System:
- Bananian auf Bananapi-R1
- fhem 5.6 svn-trunk vom 20.08.2015

Wär für einen tip echt dankbar!


Titel: Antw:Can't open server port in log file
Beitrag von: Wernieman am 21 August 2015, 08:03:15
Nah deim fhem stop mal nachgeguckt, ob eventuell noch ein fhem-prozess läuft?

ps aux | grep [f]hem
Titel: Antw:Can't open server port in log file
Beitrag von: knopf_piano am 21 August 2015, 13:34:10
Nach service fhem stop und genannter 7072 port verwendung...

ps aux | grep [f]hem                                                                                                                               :(
fhem     28643 13.5  5.4  65032 53676 ?        S    10:57  22:27 perl fhem.pl fhem.cfg


Kill 28643, pkill perl, pkill fhem, service fhem stop ... nützt nix

Damit bin ich rausgekommen, nach langem suchen, 28643 als aktuelle pid in meinem fall

kill -9 28643
Titel: Antw:Can't open server port in log file
Beitrag von: knopf_piano am 22 August 2015, 21:42:15
mit dem kill bin ich aber nich glücklich, da es immer wieder zu Problemen gefürht hat, dass nicht ordentlich gekillt wurde etc.

Ich bin dahintergekommen, was den "Hänger verursacht"...

Folgendes struct-define hab ich, um die Kalender/Calviews zu aktualisieren :

define CalviewAllStruct structure CalendarView myCalViewPrivEvents myCalViewTermineGesch myCalViewGeburtstag myCalViewCaroPrivat myCalViewCaroTermineGesch
define CalendarAllStruct structure Calendar myCalendarPrivEvents myCalendarTermineGesch myCalendarGeburtstag myCalendarCaroPrivat myCalendarCaroTermineGesch

define Ntfy_CalendarInitialize notify (global:INITIALIZED|global:REREADCFG) {\
  fhem("sleep 10;;set CalendarAllStruct update;;set CalviewAllStruct update;;sleep 2;;set CalviewAllStruct update;;")\
}


Jetzt hab ich's auskommentiert, 2x gekillt (wie oben beschrieben) -> voila, fhem reread und service start/stop geht wieder...

ich vermute im global:INTIALIZED|global REREADCFG das Ei...

Habt ihr ähnliche/gleiche Erfahrungen?
Titel: Android chroot: Can't open server port in log file
Beitrag von: fhemHolli am 13 November 2015, 18:42:04
Zitat von: _Billy_ am 25 Juni 2015, 15:59:08
Hi all, habe genau das gleiche Problem, ebenfalls Installation auf einem Android/Debian chroot environment, allerdings funktioniert diese Lösung nicht bei mir :-(

Die Gruppe ist auch nicht verfügbar auf meinem Debian.

Irgendwie wollte ich meine Android settop box Minix neo X8-H auch mal was vernünftiges machen lassen und da bot sich ein Linux im chroot geradezu an.
Das ging soweit gut bis zum fhem start, der wunderbar abgebrochen wurde und im LOG gab es immer das berühmte:
"telnetPort: Can't open server port at 7072: Permission denied. Exiting."

Aber dafür gibt es eine Lösung....

Android erlaubt nur Nutzern die auch einer Gruppe mit der Group ID 3003 angehören den Aufbau von sockets für den Internet Zugriff.

In meiner chroot Umgebung, gemacht mit der app "Linux Deploy" war die Gruppe "aid_inet" mit der ID 3003 schon vorhanden, ich musste dem user fhem nur noch dieser Gruppe zuordnen.

Falls bei euch in der chroot Umgebung keine Gruppe mit der ID 3003 vorhanden ist, erzeugt euch einfach eine, der Name ist wohl egal, Hauptsache die Gruppe bekommt als ID die 3003.

Hier noch einige Links zum Thema:
Android User & Gruppen IDs: http://android-dls.com/wiki/index.php?title=Android_UIDs_and_GIDs (http://android-dls.com/wiki/index.php?title=Android_UIDs_and_GIDs)
Ein wenig Erklärung: https://github.com/guardianproject/lildebi/issues/6 (https://github.com/guardianproject/lildebi/issues/6)

Ich hoffe das erspart einigen Fhem Nutzern den Leidensweg...
Titel: Antw:Can't open server port in log file
Beitrag von: Wernieman am 17 November 2015, 08:06:00
Wobei Dir klar ist, das Android und Debian unterschiedliche Dinge sind? ;o)