Archive for April, 2010

DBus Tutorial (from Dan Williams)

In a thread on the NetworkManager mailing list explaining why a dbus-python script wasn’t working, Dan posted this tutorial, and I thought it was a good one, and should go out to a bit of a broader audience. (This is copied verbatim from the email, no spell checking or such – again, I did not write this, I am merely posting it here for others to consume)
Read more

Speaking of wireless…

Thanks to Jeremy Olexa (aka darkside) I now have 2 new Atheros based cards.

One is a Belkin N1 Wireless Notebook card, Part #F5D8011 – ath9k based, although I’ve gotten it recognized by the kernel and I can get an IP address via dhcp, as well as connected via WPA2, I can’t seem to pass traffic.
Two is a Buffalo AG54 WLI-CB-AG54L, this one seems to be ath5k based, although I haven’t attempted to use this one at all yet.

Currently towards the bottom of the todo list, is to get these both working, preferably using the N1 as an access point, so I can test out the speeds of the Efika MX’s wireless. This has a secondary goal of seeing if the wireless issue that I have (currently I cannot seem to ssh into any wireless clients) is the AP I am using (pfSense based) or if it is something more; I’m guessing the former.

Kismet and the Efika MX

Back in June of 2009, a bug was opened about a new Kismet release. I was extremely busy, and eventually, I had some time, so I looked in to it, but I couldn’t quite get things working right, so I put it back on the back burner. Fast forward even more, and yngwin saw the bug, and asked me if I had any issues with him dropping the new Kismet (based on Kismet-newcore) in the Gentoo-x86 tree, and since I didn’t respond, he went ahead and did so. And I am glad he did, because it reminded me that I wanted to get back to it. (I did actually fix a minor issue that the setuid bit was getting reset so it wasn’t getting installed properly, still also need to look into the plugins)

As some people have read, I got an Efika MX OpenClient from Genesi, and I’ve had a chance to work with it quite a bit. One of the things that I wanted to play with was Kismet on it, as I think the Efika MX Smartbook would make an excellent platform for wardriving (amongst many other things), being compact, lightweight, and having gps and wireless built in, with a very long battery life.

So, I gave it a shot, and it most definitely works (I’ve keyworded Kismet ~arm for the 2010.01.1 release) using the latest kernel (2.6.31.12.3-ER1) as of this writing, as well as the latest firmware for the wireless card from Ralink ( USB Firmware 22 released 03/31/2010. This is with the mac80211-based rt2800usb driver, NOT the rt3070sta driver from staging.

There is definitely a lot of potential in these little machines, and I really wish I had the means to buy more of them, just so that I had a few around to play with different things rather than having the one and swapping out the sdcard (assuming I’m not doing it on the pata ssd drive in the device.) I am really looking forward to when the smartbook gets released.

Bustle

While working on the Gnome overlay with the Gnome team, I decided to give Empathy a go.  I talk to maybe 3 total people on AIM, and no one on Yahoo, which just leaves me with Jabber (Gmail) contacts that I actually talk to.  So I installed it, I even enabled webkit so that I could use Adium themes with it (I personally prefer Stockholm, just be sure to look inside the folder and only move the style into the right place.)

It was kind of a disaster.  I’m running on a Quad Core, 2.4ghz machine, and double clicking on a contact would take up to 25 seconds for the window to show up.  I was not a happy camper.  Watching htop, I could see that my DBus session bus was working hardcore.  100% cpu usage on 1 core.

No problem, I thought to myself, whipped open my handy terminal, ran “dbus-monitor –session” to watch the traffic that was causing it to use so much cpu and…. nothing.  Zilch.  There was no (apparent) traffic going on but the session bus was still using 100% cpu.

I popped over to the Gnome bugzilla, and started reading through bugs, but none were coming close to what I was seeing.  In desperation, I turned to the faithful Google.    And I searched… and came up empty – not so much empty as simply results that weren’t helpful at all.

I let it go for a few days, asked a couple people if they were having any issues, and most don’t use Empathy, so that was a bust.  Then I was looking around while I was “at work” which really meant I was sitting in the office as opposed to my room using the computer, and I came across Bustle; http://willthompson.co.uk/bustle/

Bustle is very nice, in that it can show you timings.  Once I had that compiled, I used Recordmydesktop to take a video of me using Empathy, with Bustle running, logging everything that went on with Empathy.  Then I popped in to the Empathy IRC channel (#empathy on irc.gnome.org) and mentioned in the channel that it was taking a long time for my IM windows to open, and pointed them at the video ( http://dev.gentoo.org/~steev/files/empathy-dbus.ogv (21MB)) and then at the two screenshots of Bustle ( http://dev.gentoo.org/~steev/files/screenshots/empathy-bustle1.png andhttp://dev.gentoo.org/~steev/files/screenshots/empathy-bustle2.png ), and Danni replied to me, asking why I was using the logger, when it shouldn’t be enabled.  So I disabled it, and removed telepathy-logger from my system, re-compiled Empathy, and sure enough, the IM window pops up instantly.  I’ve removed the dependency as well as got rid of the useflag (with a note in the ebuild about why) and committed it to the Gnome overlay.  Due to Danni saying that no one should be using telepathy-logger, I’ve also package.masked it in the Gnome overlay.  I must say, using Bustle is *very* nice, and I’d like to thank Will Thompson for writing it.

I also smiled at the “How?” section of the Bustle website, considering that was the exact purpose for me downloading it.

I’m hoping to write an ebuild for Bustle, and apparently it is really easy to do with Haskell as the Gentoo Haskell team has a script that you run that will write the ebuild for you.  I haven’t started working with it yet, but I definitely plan to, as Bustle is now definitely on my radar for usage in debugging what is going on with apps and their DBus usage.

Rocks, as presents…

Gentoos build their nests out of rocks, which are then jealousy guarded. Particularly nice rocks are offered as gifts by male Gentoos to females to curry favor.

All this time my ex’s thought I was just being cheap… ;)