Monday, May 16, 2011

Ardiuino for embedded development?

Google just announced that the Android development platform will support and use the Arduino platform as its platform for developing gadgets to the Androids.

Open source is good so I decided to look into this. Arduino is based on the Wired environment and seems to have a good code base. Atmel CPUs which Arduino and Wired is based on also seems to have good support in the open source community.

But when I looked into the examples provided by Arduino I only find simple single threaded samples without any support for async events (with the exception of interrupts) or some way to run several threads in some way.

I am not sure how important this is but I think if you want to do anything more than the provided samples you quickly end up making ugly code. And things that are harder to maintain.

For me this makes me choose another platform if I want to develop for embedded platforms. If you look at Netduino you will find an embedded platform for .NET Micro framework with some open source. And for almost the same price. This platform is more what I expect from an embedded enviorment today.

Labels:

Tuesday, April 26, 2011

How effective is Riverbed Steelhead?

The Steelhead boxes seems very good at optimizing WAN traffic. And when the opportunity passed me I gave it a shot at home.

My setup is pretty straight forward. I have connected the Riverbed between my LAN and my firewall. The other Riverbed is placed behind my company firewall, and both are connected together through VPN over Internet.

Below you can see some graphs (from my Riverbed) that shows how much data that are optimized. At the end I will talk about what kind of traffic that are optimized and how I have set it up.

Setup and use

The following optimizations have been in use:

  • SSL encrypted traffic from the company mail server. (Without prefetching.)
  • CIFS.
  • Lotus Domino.
  • HTTP.

Except some file copying to try performance I have not run any test cases. I have only worked as normal and let the Riverbed figure out for itself what it can do.

I do not plan to conclude with anything here, just show that it works.

Labels:

Monday, March 21, 2011

TMG with UAG drops HTTPS connections

Problem

I am running UAG/TMG on a server running Windows 2008 R2. All the latest pathes at the time of writing is applied.

My web listener accepts traffic on port 80 but not on port 443. Each time I access port 443 I see a corresponding entry in the log – packet dropped by default policy and a wierd error like 0xc004000d. (I did write about this problem in a previous article, that conclution was wrong but helped me at that time.)

Investigating further I see that running “netstat –ano” shows a binding to 0.0.0.0:443 that should not be there. This is the root cause of all my problems.

If you run the command “netsh http show urlacl” you’ll find HTTP bindings that are caused by http.sys. I found SSTPSvc started as part of the UAG install.

screendump on a UAG server

How I solved my problem

The easiest way to solve this problem is to bind http.sys to a specific IP address. Just make sure that you add all IP addresses used by UAG.

netsh http add iplisten ipaddress=1.2.3.4

Boot your server and everything should now work.

Labels: