Jump to content

WLAN: Connection refused


raphael_vogel
 Share

Recommended Posts

Hi

Habe einen Stack mit Step-Down, Master, Servo und WLAN Extension.

WLAN ist mit static IP (192.168.178.18) konfiguriert.

 

Nach dem Einschalten kann ich den Stack mit dem BrickViewer erreichen.

Dann mache ich einen "Disconnect", schliesse den BrickViewer und warte 30-60 Minuten.

Wenn ich mich dann erneut mit dem BrickViewer über die IP zum Stack verbinden will bekomme ich folgende Fehlermeldung:

 

"Please check host, check port and check if the Brick Daemon is running"

 

Wenn ich dann per Java Binding versuche auf den Brick zuzugreifen bekomme ich beim Aufruf von

ipConnection.connect("192.168.178.18", 4223);

die Exception "java.net.ConnectException: Connection refused"

 

Allerdings funktioniert

ping 192.168.178.18

problemlos ?!

Link to comment
Share on other sites

hallo raphael,

ich hab das grad versucht nachzustellen.

Ich hab hier mit einem Cisco AP nicht das Problem.

vom adressbreich 192.168.178.0/24 ausgehend vermute ich das du eine FritzBox o.ä. benutzt.

Hast du dort "Sendeleistung automatisch auf den tatsächlichen Bedarf verringern" aktiviert? Da hatten wir schonmal einen Thread drüber und deaktiviern half.

 

Gruß

Link to comment
Share on other sites

Ist sicher gestellt, dass kein zweites Gerät diese IP verwendet, z.B. per DHCP? Ist der IP-Bereich des DHCP-Servers jenseits dessen, was für statische IPs verwendet wird?

 

Wenn sich nach Einschalten des Stacks ein anderes Gerät mit derselben IP im Netz anmeldet ist der Stack nicht mehr erreichbar, der ping klappt dann noch, da er zum anderen Gerät geht.

Link to comment
Share on other sites

Ich hab's bei mir mal ausprobiert:

- Stack mit Step-Down, Master, WLAN, Servo-Brick und ein paar Bricklets

- Einschalten, Connect OK

- ca. 30 Minuten warten => Connect geht noch, reagiert normal

 

Allerdings arbeitet mein Stack mit DHCP gegen eine Fritzbox, die bei Bedarf Sendeleistung bei Bedarf reduziert (also auch das klappt bei mir).

 

Meine IP ist aber sicher nicht anderweitig nochmal vergeben.

Link to comment
Share on other sites

Ich hab eingestellt: Der DHCP-Server vergibt IP-Adressen

von 192.168.178.20

bis 192.168.178.200

Das sollte also ok sein.

 

Nach dem einschalten komm ich ja per BrickViewer auf den Stack, indem ich mich mit 192.168.178.18 verbinde. Das Problem tritt erst nach 30-60 Minuten auf wenn man nichts macht, also sozusagen idle ist.

 

Habs gerade nochmals probiert und den Stack nur 1m entfernt vom Router aufgestellt.

Stack eingeschalten mit BrickViewer verbunden - alles ok !.

 

Nach 40 Minuten nochmals versucht mit BrickViewer - ich bekomm die Meldung:

Please check host, check port and check if the Brick Daemon is running

 

Hat der BrickViewer eigentlich ein log file, in das man mal reinschauen kann?

Link to comment
Share on other sites

Hmm, bei mir geht's - habs gerade nochmal versucht.

 

In der Fritzbox gibt's auf der WLAN-Seite eine Checkbox der Art

 

"Die angezeigten WLAN-Geräte dürfen untereinander kommunizieren"

 

Ist die gesetzt? Bei mir ist die Option aktiv. Hast Du mit der Zeit variiert? Wenn Du nach 2-3 Minuten neu verbindest geht es noch, nach 10 auch noch, aber ab ca. 30 Minuten dann nicht mehr?

Link to comment
Share on other sites

Ja die Option ist aktiv.

 

Wenn ich nach 2-3 Minuten wieder verbinde funktioniert das noch. Nach 10 Minuten meist auch noch. Wann es dann genau nicht mehr funktioniert ist schwer zu sagen.

 

Was ich nicht verstehe ist, dass ich noch "pingen" kann und GainSpana0147e auch noch in der Fritz Box als aktiv angezeigt wird (unter "bekannte WLAN Geräte").

 

Der BrickViewer kommt auch sehr schnell mit der Fehlermeldung, so als ob sofort von der WIFI Extension geblockt wird.

 

Wenn ich auf dem Master einen Reset mach geht's wieder.

 

 

 

Link to comment
Share on other sites

Einen Versuch hät' ich noch:

- den Stack zusätzlich per USB anschließen

- Mit brickv 1x über WLAN direkt connecten und 1x über USB/localhost

  (sollte ja beides gehen nach Neustart)

- dann warten bis der Connect über WLAN nicht mehr geht

- geht dann ein Connect über USB/localhost+brickd ?

 

Mein Akku ist jetzt leer :-\, ich hab's mit Verbindungen nach 10, 20 und ca. 30 Minuten versucht: hat bei mir geklappt; über 30 Minuten habe ich noch nicht versucht.

Link to comment
Share on other sites

ok danke für die Tipps, das teste ich gerade mal.

Werde danach auch noch folgendes Programm laufen lassen, dass jede Minute eine Verbindung zum Stack aufbaut was ausgibt und wieder abbaut. Mal sehen wie lange das läuft.

public class TestWLAN {

private static final String MASTER_UID = "5VGM8Y";

public static void main(String[] args) throws InterruptedException {
	int times = 1;
	while(true){	
		IPConnection ipConnection = new IPConnection();
		BrickMaster masterBrick = new BrickMaster(MASTER_UID, ipConnection);
		try {
			ipConnection.connect("GainSpana0147e", 4223);
			System.out.println("Call: " + (times++) + " Voltage: " + masterBrick.getStackVoltage());
			ipConnection.disconnect();
			// wait one minute
			Thread.sleep(1000*60);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (AlreadyConnectedException e) {
			e.printStackTrace();
		} catch (TimeoutException e) {
			e.printStackTrace();
		} catch (NotConnectedException e) {
			e.printStackTrace();
		}
	}

}
}

Link to comment
Share on other sites

Also ich habe mit mit brickv 1x über WLAN direkt connected und 1x über USB/localhost => beides geht nach restart.

 

Dann 50 Minuten gewartet und dann

- Connect mit brickv über WLAN geht nicht mehr !!

- Connect über USB/localhost funktioniert noch. Dort wird auch angezeigt, dass das die WLAN Extension aktiv ist und im Status "Associated"

 

Link to comment
Share on other sites

Ja die Fritz Box zeigt noch die korrekte MAC Adresse an.

Hab auch andere Rechner und Smartphones und Tablets im WLAN alles kein Problem.

 

Mein Programm das jede Minute einen Connect zum WLAN macht läuft schon seit 80 Minuten ohne Probleme.

Das heisst es muss irgendwie damit zusammenhängen, dass das WLAN Modul nach längerer Inaktivität nicht mehr ansprechbar ist.

 

 

Link to comment
Share on other sites

Hmmm

ich hab in meinem Fritz Box Protokoll folgende Einträge.

19:50 hab ich den Stack neu gestartet.

09.02.13	19:50:59	WLAN-Gerät angemeldet (2,4 GHz). Name: GainSpana0147e, IP-Adresse: 192.168.178.47, MAC-Adresse: 20:F8:5E:A0:14:7E, Geschwindigkeit 11 MBit/s.

Dann um 20:03 Uhr:

09.02.13	20:03:38	WLAN-Gerät abgemeldet (2,4 GHz). Name: GainSpana0147e, MAC-Adresse: 20:F8:5E:A0:14:7E.

Dann 7 Sekunden später

09.02.13	20:03:45	WLAN-Gerät angemeldet (2,4 GHz). Name: GainSpana0147e, IP-Adresse: 192.168.178.47, MAC-Adresse: 20:F8:5E:A0:14:7E, Geschwindigkeit 11 MBit/s.

Dann wieder 20:15 Uhr

09.02.13	20:15:54	WLAN-Gerät abgemeldet (2,4 GHz). Name: GainSpana0147e, MAC-Adresse: 20:F8:5E:A0:14:7E.

und eine knappe Minute später wieder

09.02.13	20:16:45	WLAN-Gerät angemeldet (2,4 GHz). Name: GainSpana0147e, IP-Adresse: 192.168.178.47, MAC-Adresse: 20:F8:5E:A0:14:7E, Geschwindigkeit 11 MBit/s.

 

Danach hab ich erfolglos probiert mit brickv zu connecten.

 

Ist das normal oder stimmt was mit meinem WLAN nicht?

Link to comment
Share on other sites

Aufgrund der Erfahrungen der letzten Wochen:

Vermutlich spinnt die WiFi-Extension. Denke dein Log gerade ist dabei hilfreich.

Das Connection refused bedeutet, dass die Extension den Verbindungsverusch bewusst ablehnt (als würde der brickd dort nicht mehr lauschen).

Link to comment
Share on other sites

Interessant! Gucke ich mir am Montag an.

Was für einen AP verwendest du (Hersteller, Modell)?

Edit: AP geht ja aus dem Screenshot hervor: Fritzbox 7112.

 

In 2.0.2 hatte ich etwas am "Association Keep Alive Timer" geändert, was bei unserem AP dazu geführt hat, das er sich weniger oft Disassociated hat. Bei dir hat es offensichtlich den gegenteiligen Effekt.

 

Das "Connection Refused" Problem nach einerm Dis- und Reassociation hat auch RSchiessl (schreibt hier manchmal im Forum). Der hatte mir per Email auch schon mitgeteilt, dass die Probleme mit 2.0.2 schlimmer geworden sind.

 

Ich wette ihr habt den gleichen AP, ich bringe das mal in Erfahrung :).

 

Damit haben wir jetzt einen Anhaltspunkt (Keep Alive Timer) bzgl dieses Problems. Das Problem gab es übrigens in Protokoll 1.0 auch schon. Was wir jetzt in Erfahrung bringen müssen: Kommt bei der WIFI Extension irgendwas an nach der Reassociation nicht mehr klar oder verschluckt der AP sich aus irgendwelchen Gründen.

Link to comment
Share on other sites

Bei meiner Fritzbox kommt nur 1x die Anmeldung im Log.

 

Allerdings hatte ich gerade was Ähnliches 2x kurz nacheinander (aber leider auch nicht immer reproduzierbar):

wenn ich ca. 8-10x: Verbindung herstelle, ein paar Befehle sende und Verbindung trenne, dann war der Stack über WLAN nicht mehr erreichbar und ich muss neu starten.

 

Mit ist es auch schon passiert, dass ich das Servo noch bewegen konnte, aber das Auslesen der Spannung einen Timeout bekommen hat und danach nicht mehr funktioniert hat. Wenn ich dann die Verbindung trenne, geht kein neuer Connect mehr.

Link to comment
Share on other sites

Anbei eine neue Master Brick Firmware zum Testen. Ich hab die Einstellung vom Keep Alive Timer wieder auf Default gestellt und Resette jetzt einmal das Komplette WIFI Modul und Konfiguriere neu wenn ich ein Disassociation Event vom AP bekomme. Dadurch sollte das "Connection Refused" Problem definitiv gelöst sein :).

 

Wenn es jetzt immernoch da ist, muss es was mit dem AP zu tun haben.

brick_master_firmware_2_0_4-beta1.bin

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...