Tieske | Thijs Schreijer's techie stuff

Jan/12

6

Fixing the UPnP stack issues

The last few days I spent some time fixing the .NET UPnP stack to be more resilient. The stack itself it pretty ok, but the problem is that you do not have control over all the other UPnP devices out there. If these are faulty and don’t play by the rules, you can either ignore them (what the UPnP stack did until now) or try and handle only those parts that are ok.

Supporting for the UPnP gateway showed that several devices would simply not show up. Some fiddling with other UPnP tools and the debug facilities showed that the devices had faulty description xml’s (bad UPnP implementations by their vendors). The cases were the Grace Digital tuner and the Vera home automation box (the Grace Digital has a firmware update, beta, available that fixes the issue)

I had to take a pretty steep dive into the code to fix all the undelying elements. What happened was that the code for parsing device and service xml’s only had exception handling on the highest level. This means that you get either all or nothing. (more…)

, ,

Today I uploaded yet another update for the gateway and xPLGirder component. Mike C put it to the test and had a list findings, most are resolved now. Besides those bugfixes the component now also uses lua events (based on the component model) besides the regular Girder events. This should make it easier to develop lua code that works with the xPL component.

, , , , ,

Here’s another update of the gateway and the xPLGirder component. It had a nasty (and hard to find) bug, which took me nearly a day to find and fix (fixing was actually 1 minute). There is also a functional update (to the xPLGirder plugin) that accompanies the bugfix; if for some reason the announcement of a UPnP device does not complete, this is now detected and any missing elements will be re-requested.

, , , ,

Dec/11

9

UPnP tutorial using Girder

This post will try to explain how the UPnP devices can be controlled using Girder. By explaining some UPnP basics and at the same time create some example code to control a simple device. (more…)

, , , ,

Dec/11

9

UPnP gateway and xPLGirder update

A few days ago I updated the gateway (I even gave it its own page now) and the xPLGirder component (the only client for the gateway so far). On the Girder forum there are now some users experimenting with it and it seems to be working pretty well. It already outperformed an IR controller :-)

Great to see it finally comes to a use beyond just me!

, , ,

Aug/11

26

All new UPnP-2-xPL gateway

It’s been more than a year since I actually updated the gateway, but this is a major overhaul, still early stage, so probably going to be buggy.

The xPL schema set has been revised and is more thorough, the entire UPnP device description will now be announced and it will be done in a more structured way (check the readme for the schema details). Obviously there is no compatibility with the previous version. But that was a piece of disposable-test-code anyway. (more…)

, , ,

After some discussion a proposal was made on the xPL forums to add fragmentation so the message size limit could be bypassed. The schema for this is ‘fragment.basic’ and support for it has been added to the xPL library for .NET in version 5.4.

There are some other minor updates too, check the changelog for those.

xPLLib for .NET is available for download on the xPLLib page

 

, , , ,

Today I posted some long overdue updates. Quite some time ago it was agreed to loosen up the xPL protocol with regard to the values in the xPL message body.

From pure ASCII it now allows UTF8 encoding for the values (keys remain ASCII only). At the same time the length restriction of 128 characters was lifted, which basically means that the value can be as long as the overall message size supports (which is set at 1500 bytes).

So todays updates are the xPLLib for .NET, version 5.3, updated to allow these changes and the WireShark dissector, version 1.1, which will now show a warning (for backward compatibility) in cases of UTF8 and long values.

There are some other minor updates too, check the changelog for those.

(more…)

, , , , , , , ,

Apr/11

27

WireShark xPL dissector; a network protocol analyzer

I’ve recently turned to WireShark to do some network analysis but found tracking the bits and bytes of xPL not too easy, though still not difficult. But when I read that WireShark can be extended using Lua, I started fiddling around with that to see how I could get xPL support in WireShark. And this post is about the results…

The ‘dissector’ I wrote (download is below) will examine xPL packets, and dissect them into the underlying components. This allows you to use WireSharks filtering capabilities to find just the xPL messages you need. Beyond that it will analyze the structure of the messages received and validate that against the xPL protocol, flagging any malformed messages. (more…)

, , , , , ,

Apr/11

13

About online backup services, why Mozy sucks

I recently lost a lot of data and had to restore it, the full set is 225GB, so thats quite a bit to download. Fortunately last summer (2010) I decided to go for an online backup service, with a set-and-forget promise for the backups. The initial backup took 2 months to complete, but after that all went pretty smooth.

So I was a happy Mozy customer (MozyHome product) for quite a while, unfortunatley the restore capabilities of the Mozy software are completely crap, and you only find out to late… (more…)

, , , ,

Older posts >>

Find it!

Theme Design by devolux.org

Bad Behavior has blocked 71 access attempts in the last 7 days.