Gear notes: Monoprice HDBaseT Extender

For NRAO’s off-site meetings, we bring our own AV equipment to the hotel/conference center; this reduces cost and guarantees equipment that we know works. This year was the first time we used HDBaseT in that equipment and I’m very happy to say that it worked almost flawlessly.

Previously, we’ve been using VGA for all the signals in the setup. This involved hauling lots of 75 and 100-foot VGA cables and running a very large cable bundle down the middle of the room to the projector cluster. We have 3 outputs in this cluster: the projector, the confidence monitor and the timer display. This time, I wanted to use HDBaseT to simplify the cabling.

Since we were going to be purchasing a new projector, anyway, I made sure to get one that had built-in HDBaseT. I chose the Panasonic PT-EW640, a 5800-lumen WXGA projector. In addition to having just about every other input on the planet, it’s LAN jack can also support HDBaseT. For the sender, I decided to give the Monoprice extender a try. I was introduced to Monoprice equipment at a recent Government Video Expo and instantly fell in love with their RedMere thin HDMI cables. But, would their HDBaseT talk to the projector?

I’m pleased to report that the answer is a resounding “yes”. There were absolutely zero issues connecting the output of the Monoprice HDBaseT extender to the projector. Since then, I’ve also tested it with an Extron MPS-602 switcher — that combo also works perfectly, although the “Sig” and “Link” LEDs on the Extron’s RJ-45 jack do not light. Weird…


Note: This review is to confirm interoperability only and does not represent an endorsement of any products or services by the National Radio Astronomy Observatory.

Tagged , , Comments Off on Gear notes: Monoprice HDBaseT Extender

EDID Processing on Video Converters – A Rant

So, in the process of trying to help a colleague find a way to add HDMI support to an existing 5-BNC RGBHV switching system, I’m reminded of just how poor the state of EDID handling is on A/V equipment.

Essentially, my colleague needs an HDMI-to-VGA converter so he can feed the resulting signal into his RGBHV matrix switch. If problem with this setup is EDID handling. In an RGBHV system, there’s no DDC signal and, hence, no EDID information can be passed to the computer. This has all kinds of bad results, ranging from the computer not detecting the connection at all, to being unable to select the right output resolution, to (on Macs, particularly) getting an output picture that’s horizontally compressed due to aspect ratio mis-match.

Why can’t equipment vendors consider EDID processing and, even more importantly, publish their device’s EDID capability in their manuals? I have to resort to buying 5 different devices and testing their EDID handling and sending most (or all) of them back when I discover that they do the wrong thing.

So, what’s the wrong thing? Well, on HDMI-to-whatever devices, it’s usually one of:

  • No EDID handling whatsoever (they send no EDID at all)
  • Sending a hard-coded “1080p” EDID regardless of the sink device or output resolution (I’m looking at you, Kramer Electronics; and you Aurora Multimedia)
  • Passing most of the sink device’s EDID, but adding in extra resolutions that don’t match the sink device’s aspect ratio

Any one of these common flaws results in an unusable connection.

And this is especially true of Mac systems. For some reason, they always re-format their output to match the aspect ratio of the connected device. If the device says it supports 1080p or any other 16:9 resolution, and you switch your output resolution to, say 1024×768, the Mac will add black bars to the side to pad out the video to 16:9! Then, your XGA projector shows a tall, squished picture on the screen even though you selected the right resolution manually. Why, Apple? Why?

So, the moral of this story is: Always make sure your EDID is handled correctly. (And have lots of EDID emulators on hand for when it’s not 🙁 )

Tagged , , Comments Off on EDID Processing on Video Converters – A Rant

Windows binary release of JS Timer now available

I’ve posted a Windows binary release of my JS Timer conference countdown timer app. It’s built with node-webkit and has the same functionality as the Mac release.

Get JS Timer 1.0 from github!

Tagged Comments Off on Windows binary release of JS Timer now available

Tracking internet plugins with munkireport

UPDATE: Moments after posting this, Arjen has pushed changes to munkireport-php that integrate Internet Plug-in version reporting directly into the software. If you can update to the latest WIP version, there is no need to hack your munkireport installation.


 

We run the excellent Mac software management tool Munki as well as the excellent reporting interface munkireport-php to manage our OSX systems. Part of munkireport is a software inventory system that reports about all software installed on the client systems. However, it only tracks “Applications” — meaning things that are Mac App bundles. Today I set about to track other software, specifically Internet Plug-ins.

Joe Wollard posted a modified version of Josh Potter’s script in the Munki-web-admin group. The script can be found here and seems to work just fine. It globs the Internet-plugins directory, gathers info about all the plugins contained therein and then appends that info to Munki’s application inventory file. The trick was to integrate this script into munkireport.

Munkireport integrates with munki by providing a custom set of pre/post-flight scripts. Obviously, the postflight is where we want to run this bit of code as we want to make sure we report the newly-installed version data. I’m a bit out of date on my munkireport installation, so I don’t have the postflight.d directory system yet, so I added it into the postflight script directly in the main() function before the point where the data is sent up to the munkireport server. Once I upgrade, I should be able to put this in a separate script inside postflight.d and package it separately.

My final script can be found in this gist. The one change I made was to replace blank CFBundleName strings with the globbed directory name rather than ‘N/A’ as this allows it to be more easily searchable in munkireport.

In order to get this new postflight pushed out to all clients, I use munkireport’s native client installation system by modifying the hosted postflight script on my munkireport server. This file is located in assets/client_installer/postflight. After editing that script, I generate a new munkireport.plist pkginfo file, add that to my Munki repository, run makecatalogs, and then bump the package version number so my clients all re-fetch the scripts including my new postflight.

Now all my clients are happily reporting their Java and Flash plugin versions in munkireport! And there was much rejoicing.

Flash plugin version report

Tagged , Comments Off on Tracking internet plugins with munkireport

Moving LVM2 logical volumes from one physical volume to another – Part 1

So, on discovering a server that’s configured with the wrong disk layout, I find myself needing to consolidate all logical volumes onto a single physical volume (PV) so I can re-configure the other PV. The machine has the disk space, so it should be a matter of shuffling bits in a “shell-game” so I can clear off the second PV and re-build the disk array with the right RAID level.

LVM2 has the utility pvmove that can move physical extents from one disk to another. Maybe I can make this work for me 🙂

First hurdle: all physical disk blocks are allocated to LVM physical volumes. I need to shrink my first PV to make room for blocks from my second PV. To see how many blocks on PV 1 are in use, I run

pvdisplay -m

Which reports that all extents up to 96640 are in use. So I should be able to shrink the PV down to, say, 100000 extents safely. With 32MiB extents, the command to do this should be

pvresize -t /dev/sda3 --setphysicalvolumesize 3200000M

but I’m too chicken to run this on a live system. I need to set up a test machine to verify that this works.

UPDATE: So, it does work, but it turns out that a reboot is needed to update the kernel partition table after the next step, which is resizing the partitions.

(It might have been easier to just resize the partition first and then resize the PV with “pvresize /dev/sda3” and let it fill the new partition.)

After shrinking the sdb1 partition to match the new PV size, create a new partition, sda4, to hold the new PV. Create the new PV (I did it in system-config-lvm) and add it to the volume group (VG) of the logical volumes we want to move off of sdb1 as extents must be moved to a new PV in the same group.

I’m testing this on a VM now. I’ve already determined this will require a reboot, so I’m less enthused about the process already. :-/

Tagged Comments Off on Moving LVM2 logical volumes from one physical volume to another – Part 1

First “1.0” release of my JS Timer app

I’m proud to announce the 1.0 release of my conference countdown timer app “JS Timer”. JS Timer is an easy-to-use, configurable countdown timer for timing presentations / talks at symposia, conferences, etc. It runs in any HTML5-capable browser, or in an embedded webkit view by using the native app releases.

The native app release is only available for Mac OS X at this time. I hope to be able to create a Windows application version soon. In the meantime, users of all platforms can grab the HTML zipfile and run in the browser of your choice.

Get it from my Software page.

The source code is available on github. Issues / feedback / etc. gladly accepted!

Tagged Comments Off on First “1.0” release of my JS Timer app

Hello world!

(Decided to keep the default “first-post” title)

I haven’t updated my NRAO personal page in quite some time. I’m going to use the WordPress platform to try and post more useful info from my toils as a System Administrator.

Comments Off on Hello world!