OSC Connection fails after a while (OSX & QLC 4.9.1)

Archive of the non-categorized posts related to the QLC+ technical support.
Please do not create new threads here, instead, use the categories above !
teackele
Posts: 20
Joined: Thu May 07, 2015 11:06 am
Real Name:

Hello all

The 4.8 branch had a very stable osc implementation. With 4.9 version i'm experiencing problems after a while.

My setup
-OS 10.8
-QLC 4.91.
-Enttec DMX USB Pro
-MacBook connected to wifi router
-iPhone 5s with touch OSC

Haven't got it pinpointed down exaclty yet, but it seems that osc input to qlc+ stops working once the iphone has last connection with the wifi and reconnects.

Known bug?

Regards teackele
User avatar
mcallegari
Posts: 4462
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Hi, the OSC plugin has been completely rewritten on QLC+ 4.9.0.
It is possible that it still has glitches, but I need a precise way to reproduce issues.

Can you please try to identify when the plugin stops receiving data from touchOSC ?
Maybe it's something related to some network timeout.
I'll try to do some more tests myself.
teackele
Posts: 20
Joined: Thu May 07, 2015 11:06 am
Real Name:

thx for the swift response.

i'll try to explain it when it happens so you can possibly recreate it. I can also send you files (qlc+ setup, osc input profile and touch osc screen/interface)

-startup qlc plus
-load a file with buttons connected to osc plugin and custom profile on universe 2 (input on universe 1 is midi)
-start touch osc on iphone (haven't tested on android yet). iphone is connecte through wifi with qlc (mobile networking like 3g and 4g turned off)
-disable wifi on the iphone or walk out of range of wifi network
-reconnect to wifi or walk in to range until wifi automatticaly reconnects
-try to control qlc+ with the osc on the iphone again

Can i enable file logging of debug output somewhere so i could send you log file output?

Regards Teackele

BTW our installation running on QLC+ (dmx rgb led in every duck and DMX relay board operating valves controlling water flow) http://www.noorderzon.nl/uploads/opengr ... 2869431858
plugz
Posts: 637
Joined: Sun Apr 12, 2015 6:30 pm
Real Name: David

Hello,

Is the iphone connected directly to the computer running QLC+, or is there a wifi router between the 2 devices ?
teackele wrote: BTW our installation running on QLC+ (dmx rgb led in every duck and DMX relay board operating valves controlling water flow) http://www.noorderzon.nl/uploads/opengr ... 2869431858
This is brilliant!
teackele
Posts: 20
Joined: Thu May 07, 2015 11:06 am
Real Name:

Hello,

Thanks :D

There's a wifi router between the iphone and qlc+
-the touter has no internet acces
-network is 192.168.5.0
-qlc+ computer has fixed ip address (192.168.5.10)

teackele
User avatar
mumbles
Posts: 113
Joined: Thu Jul 16, 2015 4:39 am
Location: Central USA
Real Name: Justin

teackele wrote:Hello,

Thanks :D

There's a wifi router between the iphone and qlc+
-the touter has no internet acces
-network is 192.168.5.0
-qlc+ computer has fixed ip address (192.168.5.10)

teackele
I don't know if this will help or not but when Im using my iOS devices running home automation app's on networks without internet I have to configure my phone differently to make apps run stable.

On your iPhone under wifi> network Info> (Set static IP and sub mask ) (Leave Router, DNS, and Search Domains BLANK.)

This forces the iPhone to use cell network for internet and stop probing LAN for internet. but still allows iPhone access to LAN devices.
OSX 10.10.5 QLC+ 4.9.1
Surface Pro4 Windows 10
Raspberry Pi B OLA 0.95
Raspberry Pi 2B QLC+

Swisson XMt-350
Chauvet RDM2Go
Enttec Pro Mk2
ultraDMX Micro
FTDI USB-RS485-WE-1800-BT XLR

Korg nanoKONTROL2
Korg nanoPAD2
User avatar
mcallegari
Posts: 4462
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Hi teackele,
I just made a quick test with touchOSC on Android and QLC+ on Linux.

- loaded a QLC+ project
- controlled a few widgets of the virtual console
- closed touchOSC
- turned off WiFi on the phone
- turned WiFi back on
- started touchOSC

It's working as expected, and there's a technical explanation for it.
OSC works with UDP packets so the communication is "connectionless". It means that there is no check between the hosts if the connection is up or down. They just send/receive packets no matter if there is someone listening on the other side.
So you can even restart QLC+ while touchOSC is open on the phone and OSC will still work (as well as ArtNet and E1.31)

Now, I can do the same test on OSX, but being a *nix-based OS, I expect to see the same I've seen on Linux.
Unless it depends on touchOSC on iOS, then I'm afraid I can't help.
BTW our installation running on QLC+ (dmx rgb led in every duck and DMX relay board operating valves controlling water flow) http://www.noorderzon.nl/uploads/opengr ... 2869431858
Awesome use case indeed !
Can you tell us more or point us to pictures/videos or whatsoever ? :)
plugz
Posts: 637
Joined: Sun Apr 12, 2015 6:30 pm
Real Name: David

Have you tried stopping and relaunching TouchOSC after the reconnection is done ?

What do you have to do to make the setup work again ?
teackele
Posts: 20
Joined: Thu May 07, 2015 11:06 am
Real Name:

Hello

There are 2 ways to make the osc work again
-restarting QLC+
-switching between inputs (127.0.0.1 and 192.168.5.10). just switching between them makes it work again

teackele
teackele
Posts: 20
Joined: Thu May 07, 2015 11:06 am
Real Name:

Hello

I've been looking at the source code of the OSC plugin. It's pretty straightforward. I notied that the change beteween version 4.8 and 4.9 is basically that youve deciced to not use LibLO anymore and use the QUdpSocket of the Qt Framework instead.
I don't know with what version of Qt the OSX version is compiled, but googling on QUdpSocket gives some hits on bugs in the QUdpSocket implementation. Might this be the suspect?

Regards Teackele
User avatar
mcallegari
Posts: 4462
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

teackele wrote:I don't know with what version of Qt the OSX version is compiled,
version 5.4.2
teackele wrote:but googling on QUdpSocket gives some hits on bugs in the QUdpSocket implementation. Might this be the suspect?
Can you please point me to these hits you found ?
User avatar
mcallegari
Posts: 4462
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Thank you very much.
Qt 5.5.1 is scheduled to be released in September and should contain the fix for this problem.
I will produce a TEST version with Qt 5.5.1 and notify you here.
teackele
Posts: 20
Joined: Thu May 07, 2015 11:06 am
Real Name:

Thx. I'll test it as soon as it's available

Teackele
plugz
Posts: 637
Joined: Sun Apr 12, 2015 6:30 pm
Real Name: David

This precise bug was not present in Qt5.4.1, can you test with Qt5.4.1 ?
teackele
Posts: 20
Joined: Thu May 07, 2015 11:06 am
Real Name:

Hello ,

Will try, but got my next gig tomorrow in germany, not sure i have the time to create a build environment on my macbook before that

regards teackele
TolikKozak
Posts: 5
Joined: Wed Sep 02, 2015 2:36 am
Real Name:

I am looking for a good osc/midi controller for my phone to control qlc+ with. Awaiting your update. TouchOSC is the only one i see that looks well done and popular, but not sure if i want to invest in it yet as I dont know if it will work. Let us know when you can. :)
User avatar
mumbles
Posts: 113
Joined: Thu Jul 16, 2015 4:39 am
Location: Central USA
Real Name: Justin

Hi TolikKozk

It sounds like your looking for an alternative to TouchOSC? I was the same way about buying TouchOSC. I tried 3 or 4 OSC apps before purchasing TouchOSC. In my experience its definitely the easiest to customize, integrate with QLC+, and its stable. Its not free but if you want an OSC app for your phone I highly recommend it.
OSX 10.10.5 QLC+ 4.9.1
Surface Pro4 Windows 10
Raspberry Pi B OLA 0.95
Raspberry Pi 2B QLC+

Swisson XMt-350
Chauvet RDM2Go
Enttec Pro Mk2
ultraDMX Micro
FTDI USB-RS485-WE-1800-BT XLR

Korg nanoKONTROL2
Korg nanoPAD2
teackele
Posts: 20
Joined: Thu May 07, 2015 11:06 am
Real Name:

Hello

Haven't had time to ompile a different version of Qlc for my last gig. But on my way back I got an idea of which may be the problem. My Touch osc is set up to send ping and accelerometer messages. This causes lots of OSC traffic. My guess now is that the Qt UDP implementation (or qlc+) probably chokes somewhere (filled buffer or similar)
Haven't tried it yet without accelorometer and ping messages yet though.

regards teackele
User avatar
mcallegari
Posts: 4462
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

teackele wrote:Hello

Haven't had time to ompile a different version of Qlc for my last gig. But on my way back I got an idea of which may be the problem. My Touch osc is set up to send ping and accelerometer messages. This causes lots of OSC traffic. My guess now is that the Qt UDP implementation (or qlc+) probably chokes somewhere (filled buffer or similar)
Haven't tried it yet without accelorometer and ping messages yet though.

regards teackele
According to the Qt bug report on the UDP socket implementation, that can actually be the cause. Lot of traffic disturbs the socket.
I am eagerly waiting for Qt 5.5.1 to be released. Should happen any day now.
Post Reply