2009

2008

2007

Changing USB Vendor and Product IDs on Arduino Diecimila

▁ may 11 2008

Because having the stock standard USB VIDs and PIDs were annoying when trying to hookup a libusb filter driver under Windows, I decided to have a look around to see if it was at all possible change these values. After a bit of researching, here’s what you need to do (you’ll need to do this under Windows; I haven’t tried under Wine, but it’d probably be better to run underneath VMware):

  1. Grab the D2XX driver setup executable from here, and install it. After you change the PID and VIDs and you wish to reprogram them again, you’ll need to make your own custom driver package; read about it in this document.
  2. Now, we can program the EEPROM on the USB< -->Serial chip. Head over here to grab MProg. Install that, and open it up.
  3. Click File->New and fill in the information in the main application panel as required. Device type is FT232R. Once you’re done, click on Device->Scan. The log panel should point out “Number Of Programmed Devices = 1”. If this is right, Device->Program should flash the EEPROM and put the new data on it. Then, quit MProg and re-connect the USB device.

Apparently, there’s also a version of the EEPROM programmer for FreeBSD. I haven’t actually tested this, since the above steps worked fine for me, but if you’re under Linux, it might useful to give it a go/modify it where necessary.

Happy hacking. =)

. o .

Monkey broke the Tubes!

▁ apr 21 2008

Looks like somebody tripped and fell over a cable in semi-slumber, the datacenter monkey at acpi.info broke something, or whatever. The site ‘acpi.info’ that contains all the ACPI specification documents and misc. information isn’t resolving

I’ve uploaded the mess that is the ACPI Specification to my website for the moment. Spending half an hour trying to get the darned PDF out of their slow servers (which isn’t really their fault; probably just temporary load or something) isn’t particularly fun, I can assure you.

Anyway, here’s the 624 page monster: http://mediati.org/temp/ACPIspec30a.pdf

Feel free to link to it while the official site is dead. Seriously though, who ever wrote this thing should be shot. It reads like an adult version of Pirates of the Carribean.

Speaking of datacenter monkeys, I’m finally changing everything over to the other machine, so, blog will be down but everything should remain up (except maybe if I fsck the DNS entries, again).

Was this really worth blogging, you might be asking, dear reader? Probably not.

0 comments — categories: software, tech
. o .

Code monkey

▁ jan 25 2008

Pushed out a new release of r5u870 last night. Woohoo! Few cool changes in this release:

  • Includes recode-fw.scm. Very useful tool to extract the firmware blobs from your device driver, if your device isn’t supported. Instructions on how to use are on the wiki.
  • Giant code merge from new modular usbcam library, posted by Sam to LKML back in May 2007.
  • Support for the 05ca 183b, 05ca 1837 and 05ca 1839 UVC cameras! Sweetness! The HP Pavilion’s 1812 camera is currently experimental, though, I’d love folks to give it a go.
  • Updated ChangeLog entries! What, you mean I wasted half an hour of my life?!

If you notice any bugs, don’t be afraid to email me (check the wiki for FAQs first, though). For those who already emailed me about stuff from previous releases, please upgrade, give it a go, and then email me back your status. I haven’t forgotten, I’ve just been very busy.

In other news, I’ve also managed to get the equalizer code for Banshee merged into trunk, so I’m pretty stoked about that. Style changes and all that have been sorted. Works lovely with both the older-gen equalizer element, and the current one in CVS. The element is currently in gst-plugins-bad, though, it’s moving to -good before the next release.

The new Banshee’s going to be sweet, I tell you!

Also managed to code up a pretty cool IRC log search script for Bongo. You can check (Jonny: not Czech ;) it out here. Looks a bit ugly, yes, but it sure does the job damn fine.

Well, I think that’s enough for now. Microsoft are at our LUG meeting this afternoon for a Q&A session. Hopefully we get some nice flames going, though, the committee has asked us not to. Though, cmon, we’re a loud bunch - someone can’t resist, I’m sure!

Gah, and I have to pack tomorrow, too. I hate packing.

1 comment — categories: software, tech
. o .

Coming soon...

▁ jan 21 2008

… to a Banshee near you:

Banshee EQ

1 comment — categories: software, tech
. o .

Bongo BoF @ LCA

▁ jan 15 2008

Attention those coming to LCA!

I’m considering having a BoF (Birds of a Feather) conference during the conference relating to Bongo and stuff. I’m asking here because, well, I honestly have no idea how many are going to come. If I don’t have enough numbers, there’s probably not all that much point in putting up a request for the room. Also, if you’d like to come, if you could optionally give me an idea of when you’d like the BoF to be held (ie which sessions), so that you don’t miss out on your favorite talks! :)

To quote the programme:

This year we have a dedicated Birds of a Feather room that is available during the main conference (Wednesday to Friday). More information on running or attending a BoF session will be available when the conference opens.

I guess I could always generalise it, and possibly get a few other speakers involved. I might email this idea to chat/mel8ourne list.

Also, if you want to catch me at LCA, PM/email me. Mobile number is 0401215248.

0 comments — categories: software, tech, life, bongo
. o .

Banshee 0.13.2

▁ jan 10 2008

Good to see the Banshee crew push out a new release from the 0.13 series. Few minor improvements which make things a bit nicer, but generally Banshee ‘trunk’ is going to be the big one.

The new Last.fm playlist source is absolutely smashing. Cheers to Gabriel Burt for that. Last.fm the way it was meant to be.

Yes, it’s that damn good. Why else would I bother to blog? ;)

0 comments — categories: software, tech, music
. o .

r5u870

▁ jan 02 2008

r5u870 is a terrific little driver written by Sam Revitch that provides support for Ricoh R5U870 webcams. The original driver itself supports the following devices:

05ca:1810 HP Pavilion Webcam - UVC 05ca:1830 Sony Visual Communication Camera VGP-VCC2 (for VAIO SZ) 05ca:1832 Sony Visual Communication Camera VGP-VCC3 (for VAIO UX) 05ca:1833 Sony Visual Communication Camera VGP-VCC2 (for VAIO AR1) 05ca:1834 Sony Visual Communication Camera VGP-VCC2 (for VAIO AR2) 05ca:1835 Sony Visual Communication Camera VGP-VCC5 (for VAIO SZ) 05ca:1836 Sony Visual Communication Camera VGP-VCC4 (for VAIO FE) 05ca:1870 HP Pavilion Webcam / HP Webcam 1000

Now, since the kernel doesn’t come with this driver, I couldn’t use my webcam on my laptop. Sucky. After a bit of researching, I found that this appeared to be the driver I needed. So, I clicked on the link to download the driver off Sam’s website (http://lsb.blogdns.net/ry5u870/ via the Wayback Machine). Guess what? The site’s down. Damn.

After a bit of peeking around in different places, I managed to download a .deb from here and took the source from the upstream/ directory inside. Haha, now I had the source.

I installed the linux-headers-2.6.xxx package (kernel-source on OpenSUSE 10.3; they’re headers package doesn’t work AFAIK) and compiled. Success! Go-go-gadget modprobe. The module loaded OK, but the driver didn’t detect my webcam. I went back and checked the original device support list - my device wasn’t there. It was actually a VGP-VCC7 (05ca:183a), which wasn’t built into the driver. Another quick Google sent me here. Ah hah, so I needed to patch the driver so it could support my device, and extract the firmware from the original driver.

After I had applied the patch, and got the firmware going, I compiled and installed. Finally, it seemed to have worked! I fired gstreamer-properties and tried to test the video input - it failed. After installing xawtv, I ran it and see what came up - my webcam. Apparently it doesn’t like being run through GStreamer, which sucks, ‘cause that’s where Cheese is at.

So, I spent the rest of the weekend debugging, and compiling, and debugging…

At the end, I came up with this: r5u870 0.10.1. And it works! See? (please don’t ask what happened to my eye, I must’ve been blinking at the same time, or something.. =)

My ugly mug.

r5u870 0.10.1 is actually modified version of the original device driver, that has several advantages:

  • Properly implements V4L version 1 query functions. While version 1 has been obsoleted, it’s still necessary to have support for it as a number of apps still use it, including GStreamer’s v4lsrc element (v4l2src is on the way, I believe it’s in gst-plugins-bad at the moment).
  • Native support for VGP-VCC7, including supplied microcode.
  • Can compile against Linux kernels 2.6.24+. OpenSUSE 11.0 Alpha 0 uses this at the moment, I expect more distros to start using it sooner or later.

If you want to download or contribute, head over to it’s wiki page. I should probably note I’m merely the maintainer of the driver until Sam comes back from the null void, if that happens. I might attempt to get this into the current kernel tree, too.

2 comments — categories: software, tech
. o .

Bongo bits

▁ dec 14 2007

It’d probably be useful to explain to everybody briefly what all the codenames we’re on about actually mean, seeing as there’s probably going to be much discussion regarding them fairly soon. Hopefully I haven’t missed anything.

I should probably also mention this reflects my perfect view of the world, and mine only. Some of the stuff mentioned here I haven’t really discussed with many, so it may hit the trashcan quickly. I’ll also avoid getting into technical details - you can check out the wiki and try to piece together how it works if you’re so keen, or you can catch me on IRC.

  • Dragonfly: The current web UI implementation, duh.
  • Crystal: What I intend to be the core for our new web bits - Flasher and Avocado (see below). Basically, Crystal will consist of a pluggable backend, message transport API thingy, and the base client made from Javascript. Both Flasher and Avocado would be able to plug into the Crystal’s client bit with their own (X)HTML and Javascript to make it look and do like whatever it needs to, while still being able to have access to all the helpers, communcation libraries, shared APIs, etc. Less duplicated code, FTW. Please note that some of the stuff on the wiki isn’t the latest version of what’s in my head/doesn’t make sense. Note to self: don’t write wiki entries very late at night.
  • Flasher: Alex Hudson’s proposal for a web interface that can be accessed by users without a Bongo account (either on the current server, or generally). We want to be able to interact with them, share events etc., without having to register them. Primarily, people will gain access to Flasher in two ways: either by having a link sent to them via e-mail (e.g., an invitation), or by following a link from a website. Flasher will probably end up being a very cut down version of the calendaring component in Avocado, with some extra Flasher-only bits built on top.
  • Avocado: the sexy, new web UI for Bongo (hopefully). Would have it’s own neato interface, and be mainly plugin-based. Mail, calendars, contacts would be part of the ‘core plugins’ shipped with Avocado. Developing/adding new plugins should be relatively trivial. APIs will be provided from both Avocado itself (for stuff like widgets, etc) as well as Crystal (networking, basic plugin stuff, …).

Comments, please!

3 comments — categories: software, tech, bongo
. o .

TemplateBit and stuff...

▁ dec 10 2007

More Javascript hacking!

I’ve been working a little utility class called TemplateBit that enables you to create little template things out of HTML elements in Javascript. There are several advantages for using TemplateBit instead of doing things the traditional way:

  • Keeps your code seperated and neat. Don’t mix up your HTML and Javascript.
  • Easy to modify and theme.
  • Less code required to write your web application.

You can check out the source of TemplateBit, the demo source (useful if you want to know how it worked) and the demo itself. Be sure to view the demo JS source, as its easier for you to see than for me to explain.

You can also check out a version created without using TemplateBit here.

Hopefully we can utilise this for Avocado and Flasher at some stage.

Speaking of Bongo, I’m planning to do some Bongo work at some stage during the next week or two, and will be spending most of my break working towards the stuff I didn’t finish for M3. I’ve had been fairly busy of late, as (for those who didn’t already know), I had a lot of work dumped on my plate at the last minute, and the fact that my internet went down for a bit didn’t make things any better.

I also want to get the finalised planning for Crystal underway, probably after a meeting with probably the Chief Moo, and who ever else wants to come along. I’ll give out proper details as to when we’ll be discussing it so you can come and join the fun. I’m not sure if we should use IRC or the -devel.

I think that’s enough blogging for one day by my standards.

0 comments — categories: software, tech, bongo
. o .

Pie menus in Javascript

▁ nov 10 2007

Wanting to try out some of the cool new stuff in MooTools 1.2, I’ve written a radial/pie menu in Javascript. Seeing as I’ll probably need one in the near future, I thought I might as well spend my time doing something useful.

Pie menus are actually quite useful. Shamelessly copied from Wikipedia:

Pie menus are faster and more reliable to select from than linear menus, because selection depends on direction instead of distance. The circular menu slices are large in size and near the pointer for fast interaction (see Fitts’ law). Experienced users use muscle memory without looking at the menu while selecting from it. Nested pie menus can efficiently offer many options, and some pie menus can pop up linear ones. Pie menus are shown only when requested, resulting in less distraction and clutter than toolbars and menu bars that are always shown.

You can check out a demo page (hastily put together with a full MooTools download uncompressed, eek) I’ve put up, as well as the source. You’ll probably need to remove one or two lines from the show/hide functions if you’re not building your MooTools download with Fx.Tween. The only other requirement(s) are the Array stuff, the Class stuff, as well as the CSS Selectors module.

I’ve also included proper event handling in the code, so you can have listeners for when the menu is popped up; eg: var menu = new PieMenu('containerclass', 'menudiv'); menu.addEvent('onShown', function() { alert('Menu shown!'); });

Any improvements/comments/suggestions welcome!

0 comments — categories: software, tech
. o .

Dragonfly prefs

▁ aug 26 2007

For those of you who have been running off trunk for the last couple revisions, it’d probably be useful to clear out your prefs for Dragonfly now that we have working code back in SVN as of this afternoon. If you haven’t - this blog post probably doesn’t apply to you. :)

Basically, you’ll just need to delete your /preferences/dragonfly file in the store. Instructions are provided with this entry, so if you’re reading this post via a Planet, you’ll need to click to ‘read more’, if you need to read them.

Read more »

3 comments — categories: software, tech, bongo
. o .

Quotes

▁ jul 16 2007

Quotes!

Awesome, or what? :D

4 comments — categories: software, tech, bongo
. o .

100 * 2 = 200!

▁ jul 08 2007

Congratulations to all Bongo contributers/coders/clowns on the big TWO ZERO ZERO! While probably more than half of these make up missing files from my commits, it’s great to see Bongo heading in such a great direction after such a short amount of time. A great community at work, folks!

0 comments — categories: software, tech, bongo
. o .

Hawkeye under Apache

▁ jun 27 2007

I’ve just commited a patch to enable the use of Hawkeye under Apache. You’ll need to setup Apache as per the wiki.

I also think I may have fixed the double-login issue that was occurring, where you’d have to enter your login information twice before you could gain access to Hawkeye. If you’re still getting this problem, email me/comment so I know I still have some more work to do. Otherwise, hooray!

Now, to utilize the exposed user-management interface! Note for packagers: Fix src/www/bongo.conf.in to use similar values as those from wiki.

0 comments — categories: software, tech, bongo
. o .

Kazam!

▁ may 10 2007

We now have a shiny new admin panel in trunk, commited last night! Woohoo! Since we all love pictures, here’s one of the login: Login screen.

Thanks to so_solid for fixing my nasty Mac OS line endings, and some of my Python coding.

0 comments — categories: software, tech, bongo
. o .

Hawkeye progress

▁ may 05 2007

After spending a few days tweaking the Hawkeye layout, it seems to be coming along rather nicely. Here’s a before and after, the left being the mockup, the other the current implementation (in Epiphany):

hawkeye-mockup-12.png

currentimpl.png

The Python code calculating the current memory usage is a nice touch. Plus it works fairly well in most browsers, such as IE7, Firefox, Opera, Epiphany, and Konqueror, unless you’re running IE6, which we discovered looked completely yucky (thanks Jonny).

It should also be simple enough to fully deck out the admin interface with the different tasks - the real issue is going to be getting agent pages dynamically entered into the system, and possibly getting the task group panes fixed up a bit more by sorting them into a tile view.

I’ll hold off on a patch until tomorrow, when I can hopefully get one or two more issues sorted, then hopefully post it to -devel.

A final thanks to Alex Hudson for adding me to the Planet - and to the Bongo devs for working on such a great product!

0 comments — categories: software, tech, bongo
powered by