Page 1 of 4

SwitchKing i Ubuntu problem

Posted: Fri 08 Jun 2012, 07:04
by MickeMek
Hej!

Nu har jag suttit flera dagar i rad och försökt få SwitchKing att fungera på en Linux-server.
Tålamodet börjar tryta, och inget inlägg här på "Forat" är bra nog att hjälpa mig.

Problemet är detta:

Jag startar med följande växel: sudo mono /bin/SwitchKing/Bin/SwitchKing.exe daemon 127.0.0.1 8080 127.0.0.1 8800
Mono drar igång och följande syns på skärmen:
  • Framework address is: http://127.0.0.1:8080/SwitchKingFrameworkServiceHost
    REST address is: http://127.0.0.1:8788
    Version is: 2.0.2.10
    Build date for this version is: 2011-12-29 22:31:00

    Framework Service Starting
    Framework Service Running
    Invocation Service Starting
    Invocation Service Running
    Collector Service Starting
    Collector Service Running
    REST Service Starting
    REST Service Running

    Press [Enter] to stop running services
När jag försöker ansluta med en webbläsare mot Framework adressen så får jag fram en blank sida i webbläsaren.
Vad ska jag förvänta mig att se där? (FYI, om jag ansluter till 127.0.0.1:8080 så får jag bara "Bad request")
Inga felmeddelanden i konsolen eller i debug-loggen syns.

Här följer versioner på alla program som är installerade på servern:
tdtool - 2.1.1
SwitchKing - 2.0.2.10
telldusd - 2.1.1-1

Re: SwitchKing i Ubuntu problem

Posted: Fri 08 Jun 2012, 07:44
by Martin
Switch King exponerar två olika tjänster för två olika typer av klienter - WCF-klienter (exempelvis Windows-klienten) eller REST-klienter (Android, iPhone/iPad, Windows Phone).

Den första tjänsten - WCF-tjänsten - är den som benämns som "Frameworktjänsten". Här krävs det en klient som pratar rätt språk för att ansluta - något som Windows-klienten (eller andra .NET-applikationer) klarar av. Denna (vanligtvis http://127.0.0.1:8080) kan du _inte_ ansluta till via webbläsaren. Däremot kan du ansluta med Windows-klienten mot denna adress.

REST-tjänsten, som i ditt fall verkar ligga på http://127.0.0.1:8788 kan du ansluta med till en webbläsare genom att exempelvis ange adressen http://127.0.0.1:8788/devices. Dock kräver Mono-ramverket på Linux att du anger username + password direkt i URL:en. Om du inte har ändrat detta får du en blank sida. Alla webbläsare stödjer inte username + password i URL, men exempelvis Firefox duger bra.

Alltså: http://user:pass@127.0.0.1:8788/devices om du kör Firefox direkt från Ubuntu-maskinen. Det bör ge dig en lista på dina enheter.

Det är också en bra idé att inte ange 127.0.0.1 utan att istället ange ditt interna IP i kommandoprompten. Vissa versioner av Mono kommer nämligen _bara_ att öppna för trafik från Localhost om du skriver 127.0.0.1, medan andra versioner av Mono (senare versioner) öppnar för trafik på alla IP:n på den lokala maskinen (vilket du oftast vill - bl.a. för att kunna ansluta med Windows-klienten).

(flyttat till rätt kategori)

Re: SwitchKing i Ubuntu problem

Posted: Fri 08 Jun 2012, 21:39
by MickeMek
Nu har jag suttit några timmar till..

1. Installerade om Ubuntu. Har nu Ubuntu server 10.10
2. Installerade om Mono Har nu Mono JIT compiler version 2.6.7
3. Installerade telldus-core. Har ni version 2.1.1
4. Installerade tellduscenter
5. Startar SwitchKing med följande parametrar: sudo mono /bin/SwitchKing/Bin/SwitchKing.exe terminal 192.168.100.104 8080 192.168.100.104 8800

Om jag går till webläsaren och skriver: http://user:pass@192.168.100.104:8800/devices från en annan dator i nätverket så får jag följande resultat:
Startar jag SwitchKing klienten på en annan dator i nätverket så får jag kontakt med servern, men så fort jag försöker ta bort enheter, ändra enheter eller aktivera enheterna från default-databasen så krashar servern, med följande resultat:
  • Stacktrace:


    Native stacktrace:

    mono() [0x80d4d0b]
    mono() [0x810ffeb]
    [0xec140c]

    Debug info from gdb:


    =================================================================
    Got a SIGSEGV while executing native code. This usually indicates
    a fatal error in the mono runtime or one of the native libraries
    used by your application.
    =================================================================

    Avbruten (SIGABRT)
    eller
    ERROR:shared.c:659:shm_semaphores_remove: assertion failed: (proc_count > 0)
Detta har med telldusd att göra. Försöker jag skapa en ny enhet utan att ha startat telldusd på servern får jag bara ett meddelande om att Telldus service not running.

Har du någon idé om vad som är fel?

Edited:
Har nu uppgraderat till mono-2.10.8.1, fortfarande ingen skillnad.
Jag har lyckats skapa en ny device, men varje gång man gör en förändring av devices som påverkar databasen så smäller mono.
Ändringen sparas i databasen, men man måste starta om SwitchKing server. Samma sak gäller om man tänder en device. (eftersom den skriver till devices i databasen)
Har man däremot tänt en device och försöker starta om SwitchKing server så smäller mono.
Då måste man in i databasen och sätta DeviceCurrentDeviceStateID = 0
------------------------------------------------------------------------------------

/ Micke

Re: SwitchKing i Ubuntu problem

Posted: Sat 09 Jun 2012, 10:30
by Martin
Jag är inte riktigt säker på att det är databasskrivningarna som spökar. Första intrycket var att det kunde ha med rättigheter för telldusd att göra.
Om du gör en förändring på en enhet så kan det orsaka att enheten ska synkas med telldusd och om rättigheterna spökar då så kommer servern gissningsvis att smälla om Mono runtime inte klarar av att hantera ett fel i telldusd.

Vilka användare kör du telldusd med och Switch King med, och har du bekräftat att telldusd verkligen får skriva i Telldus konfigurationsfil?

Det skulle kunna stå något i loggarna om detta (Switch Kings) och om det inte gör det skulle man kunna slå på debug för att se det sista som görs innan det smäller.

När Mono runtime smäller har man ingen möjlighet att hämta upp det.

Re: SwitchKing i Ubuntu problem

Posted: Sat 09 Jun 2012, 11:41
by MickeMek
Tjena..

Jag startar ju SwitchKing med sudo. Även inloggad som root.
Startar också telldusd som root & provat även med sudo.

Finns det någon mer konfig-fil som SwitchKing vill skriva i än tellstick.conf samt databasen?

Skall tilläggas att de ändringar som jag gör när mono smäller sparas i tellstick.conf

ls /bin/SwitchKing/Bin/SwitchKing.exe -lsa ger:
16 -rwxrwxr-x 1 root root 13312 2011-12-29 22:39 SwitchKing.exe

ls /etc/tellstick.conf -lsa ger:
4 -rwxrwxrwx 1 root plugdev 605 2012-06-09 00:48 /etc/tellstick.conf


Jag kan skicka en debug-log från SwitchKing om du vill.

Tack..

Re: SwitchKing i Ubuntu problem

Posted: Sat 09 Jun 2012, 20:29
by Martin
MickeMek wrote:Jag startar ju SwitchKing med sudo. Även inloggad som root.
Startar också telldusd som root & provat även med sudo.
Faktum är att Switch King egentligen inte behöver köras med sudo. Vanlig användare ska fungera. Samma sak med telldusd, om man konfigurerar upp rättigheterna på tellstick.conf.
MickeMek wrote:Finns det någon mer konfig-fil som SwitchKing vill skriva i än tellstick.conf samt databasen?
Switch King är inte själv och skruvar i tellstick.conf. Istället skickar Switch King en begäran till telldusd, som i sin tur läser/skriver i filen.
Utöver databas och loggfiler (under katalogen log) läser/skriver Switch King ingenstans.
MickeMek wrote:Jag kan skicka en debug-log från SwitchKing om du vill.
Ja tack.
http://www.switchking.se/sv/faq/39-konf ... ningslaege
Har själv inte kört 2.10.8, däremot 2.10.7, så det är möjligt att det hänt något i 2.10.8 (men det borde ju bli till det bättre isf).
MickeMek wrote:Då måste man in i databasen och sätta DeviceCurrentDeviceStateID = 0
Om du gör detta igen, sätt det hellre till 1 (Off) eller 2 (On). 0 används inte.

Re: SwitchKing i Ubuntu problem

Posted: Mon 11 Jun 2012, 20:47
by MickeMek
Har skickat lite loggar till dig per PM

/ Micke

Re: SwitchKing i Ubuntu problem

Posted: Sun 15 Jul 2012, 07:00
by peterpops
Hur gick det med detta för er?
Jag sitter på en ubuntu 12.04 server med exakt samma problem som beskrivs ovan...

Re: SwitchKing i Ubuntu problem

Posted: Sun 15 Jul 2012, 09:16
by Martin
Vi kom aldrig riktigt i mål med detta, annat än att det kunde konstateras att problemet uppstod i samband med att man skickade själva kommandot till TelldusD.

Hade en fungering om det kunde ha att göra med om man kör 32- eller 64-bitars. Vad gäller för dig?

Re: SwitchKing i Ubuntu problem

Posted: Sun 15 Jul 2012, 09:30
by peterpops
jag sitter på ett 32 bitars system med kernel 3.2.16

Hur jag än försöker så kraschar mono/switchking server ur, och för att sen få igång det utan att det kraschar igen så måste jag ersätta databasen med en ny kopia. Är helt ny användare av switchking så är nybörjare än så länge.

Jag upplever det som att problemet hamnar i databasen...