Tuesday, September 25, 2007

Evolution Attachment Reminder.

I don't believe it.
Evolution now has an "Attachment Reminder". Note that KMail from the popular KDE desktop has such a function since ages. The GNOME crowd is now suddenly selling it as the best thing since sliced bread.
Go figure...

Saturday, September 15, 2007

Home again

Yesterday evening, we wrapped up the BlueZ Developer Meeting with a nice dinner in the restaurant "L'artichaut" in downtown Montpellier. After that i returned to the hotel, since i unfurtunately had booked a very early flight at 7:00 in the morning, meaning that i needed to get up at 5:30. Oh well.
At the airport i found out that Brad Midgley was as crazy as me, since he was taking the same flight, a fact we only noticed in the checkin queue.
All in all the BlueZ meeting was a very nice event, i met most of the people who attended there for the first time and i actually look forward to the next meetings and hope to meet them all again there.
But for now, i just hope that my train home arrives soon, so i can finally start into the weekend.

Wednesday, September 12, 2007

Off to Montpellier!

Yesterday i traveled to Montpellier, France, to take part in the BlueZ Developers Conference, kindly sponsored by ACCESS. The travel was "interesting", since while changing flights in Paris, Charles de Gaulle, suddenly half of the Terminal was evacuated, of course 5 minutes before i should have started boarding the plane.
Well, half an hour later, there was a loud "bang", and shortly afterwards, everything was back to normal. Nobody knows what happened exactly, but somebody murmured something about "suspicious baggage". Something similar happened when i traveled to FOSDEM this year, so why am i surprised...?
Oh well, i finally arrived.
The meeting is great, with lots of interesting people attending and pretty interesting topics, and all that in a great mediterranean surrounding, with great weather (29°C). What more can i wish for.

Saturday, August 25, 2007

linux@dbox2: implemented AVIA ENX reset

Since this is the first weekend after returning from vacation, i thought i'd turn to the tuxbox project again. This time i experimented with my Sagem dbox2 instead of my dreambox 500.
I was finally fed up with the joy of reverse-engineered hardware: sometimes, if you do strange things to the AVIA ENX chip, it will somehow lock up. Unfortunately, there is no way to reset it, short of rebooting the box. Looking at the code i found out that there actually is a reset function for the chip, but it's only used at module load and unload. Unfortunately you cannot unload the module since lots of other stuff depends on it, so rebooting the box is actually faster than trying to reload the module.

I went for the quick and very dirty way and exported a file in /proc which, if something is echoed into it, performs a chip reset of the AVIA ENX chip.

The diff is quick, dirty, and trivial. But it works for me. The important parts of it are here:
--- a/driver/ext/aviaEXT.c      21 May 2006 23:01:10 -0000
+++ b/driver/ext/aviaEXT.c 25 Aug 2007 12:53:13 -0000
@@ -27,6 +27,7 @@
#include <linux/module.h>
#include <linux/devfs_fs_kernel.h>
#include <asm/uaccess.h>
+#include <linux/proc_fs.h>

#include "avia_av.h"
#include <dbox/aviaEXT.h>
@@ -86,6 +87,14 @@ static struct file_operations aviaEXT_fo
.ioctl = aviaEXT_ioctl
};

+extern void avia_gt_dmx_risc_reset(int);
+static int avia_av_proc_write_avia_reset(struct file *f, const char *b, unsigned long c, void *d)
+{
+ printk("calling avia_gt_dmx_risc_reset(1)\n");
+ avia_gt_dmx_risc_reset(1);
+ return c;
+}
+
static int __init aviaEXT_init(void)
{ if (!(devfs_h = devfs_register(NULL,"dbox/aviaEXT", DEVFS_FL_DEFAULT, 0, 0,
@@ -93,6 +102,18 @@
printk(KERN_ERR "aviaEXT: could not register with devfs.\n");
return -EIO;
}
+
+ struct proc_dir_entry *proc_bus_avia_reset;
+
+ proc_bus_avia_reset = create_proc_entry("avia_reset", 0200, proc_bus);
+ if (!proc_bus_avia_reset) {
+ printk("avia_av_proc: could not create /proc/bus/avia_reset");
+ return -ENOENT;
+ }
+
+ proc_bus_avia_reset->write_proc = avia_av_proc_write_avia_reset;
+ proc_bus_avia_reset->owner = THIS_MODULE;
+
return 0;
}


Of course you need to EXPORT_SYMBOL(avia_gt_dmx_risc_reset); at the appropriate place.

Combine this interface with something like the following:
#!/bin/sh
valold=""
while sleep 1; do
# the "avia" interrupts stop if the chip has crashed
valnew=$(grep avia$ /proc/interrupts)
if [ "$valnew" = "$valold" ]; then
echo "$(date) avia_reset"
echo > /proc/bus/avia_reset
fi
valold="$valnew"
done


It resets the chip automatically, should it crash again while experimenting.

Friday, July 20, 2007

New toy: Novatel Merlin XU870

After i had been using an Option GT 3+ (nozomi driver) and an GT Fusion (with an useless Marvell WLAN chip inside), i today got a Novatel Merlin XU870 ExpressCard to play with.
After plugging it in its ExpressCard->CardBus adapter and into my Notebook running openSUSE 10.3alpha6, two usb-serial ports appear, of which you can only use the first one, the second port needs some magic, so it is not usable yet.
This is the only major disadvantage of this card vs. the Option cards: with the Option cards you can monitor signal strength and network status while being online, using umtsmon for example, with the Novatel you can't.
On the pro side, i like the non-blinking Novatel status LED much more than Option's nervously blinking 2 LEDs. It has 5 colors for different network states:
    yellow: HSDPA

    blue: UMTS (3G)

    magenta: EDGE ("2.5G")

    green: GPRS


    red: error (no network)

Which is almost as good as monitoring via umtsmon. Also, the Novatel seems to do much less random disconnects, but this has to be proven in longer sessions before i can tell this for sure.
All in all, the first impression is pretty good and it works without any problems in Linux, at least on distributions that ship a somewhat recent kernel.

News site, that does not want to be read?

So they made quite some fuss about this "cool new news site". When i finally looked at it, it was too bad for words.
I hate sites, where i have to hit CTRL-+ (for "make font bigger") in Konqueror twice just to be able to read the main text, not to mention the fine print. Or, as a colleague put it nicely: "what i wonder, is if the people who design e.g. novell.com or news.opensuse.org never use that same browser tab to go visit google.com ..." (Hi, Seth!)

Tuesday, July 17, 2007

The Toughbook is back

My beloved Toughbook CF-51 is back from warranty repair. For the third time. Oh well, maybe it is not as tough as advertised after all.
Anyway, i like the machine since, although it being a bit heavier and bulkier, it is still quite well engineered. It is perfectly supported under Linux, fast enough (Pentium M 1.6 GHz), has ancient hardware (similar to the nx5000 mentioned in the previous post) and because of that it has pretty good battery runtime.
If it only wouldn't break as often.
Next time, i'll request a CF-Y5 from my boss.

Friday, July 13, 2007

I like old hardware

While working up my mail backlog in the train, i came across this mental masturbation by the Intel Linux folks on LKML.
Don't get me wrong, they are doing a great job with regard to saving power on Intel machines running Linux, and i am taking advantage of their work every day, when using my machines while on battery.
However, getting a recent machine from 21 Watts to 15 Watts may be nice, but my 3 years old nx5000 (Centrino 1, Pentium M 1400 MHz, 2 GB RAM) is only sucking about 11-12 Watts from its batteries without any tweaks.
So sometimes i am wondering what all that "technological progress" is
good for...

Friday, June 29, 2007

Hackweek is over

Hackweek was an event where my employer, the SUSE Linux Products GmbH in Nürnberg, or to be precise: our mother company, Novell, allowed all of its Linux engineers to work one week on stuff that we like.
Not on the stuff that our boss (or marketing, or the sales people or whoever) likes.
This was a pretty neat idea. They topped it off by taking care of everything: we had a nice brunch every morning, during the days we were served various refreshments and the evenings were rounded off with a nice meal, too. Sometimes it was hard to get to hacking, besides all that food ;-)

I mostly finished off one of my pet projects from the last months, porting the neutrino GUI to the dreambox, which is now committed to the project's cvs and, save some minor cleanups, should be pretty much ready to use.

Some links:
  • My idea.opensuse.org project page (not much to see there)

  • The tuxbox project

  • The tuxbox project webforum (mostly german)
  • A blog. Finally.

    And that from me, who always said he hates that web 2.0 stuff and thinks that nobody is going to read all that crap. Oh well.

    So at this place you will be reading my various rants, most of them probably around Open Source Software, Linux and some tech gadgets, so generally highly uninteresting and mostly boring stuff.

    Enjoy your stay.