Posted by: Paulo Pires | May 7, 2009

Long time no see..

Hi fellow geeks,

Been 2 months since my last post, I know. I have been quite busy at work! And I guess it’s time I talk a little bit of what I’m doing since November.

Well, for a start I left Nokia Siemens Networks for PDM&FC (I know the website is old, and not trying to excuse the inexcusable, let’s say that people there are actually busy working on real stuff). Anyway, leaving a corporate for an SME was a refreshing decision! I didn’t feel productive anymore, and that was something I couldn’t stand. People were great, though :-)

Arriving at the new company was nothing as I had in mind. In the initial couple days, it was hard to find someone who could spare some time pointing me what to do and where to start. Soon, I realized everyone was so very busy working on their projects. Nonetheless, I was kindly received by my new coworkers, and I was eager to start showing what I’m able to do.

I started with some minor tasks like writing some Python + Gstreamer code for video-transcoding stuff; then some PHP spaghetti; ending with architectural design discussions for a scalable web service-oriented platform. But the true thing I was recruited for was yet to come, the EU-funded project (FP7) HURRICANE.

HURRICANE aims at delivering a framework to enable and execute seamless handover between heterogeneous radio access networks like 802.11, 802.16 aka WiMAX, DVB-H and 3GPP (UMTS). Let me throw some major concepts so you can better understand what I’m doing..

  • Handover – process of transferring an ongoing call or data session from one channel connected to the core network to another (see Handoff);
  • IEEE 802.21 – aka Media-Independent Handover (MIH) Service, this emerging standard is the base for this project, comprehending the facilitation of handover analysis procedures. The resulting decision process and execution is out-of-scope of the standard.

And this is what HURRICANE proposes: to provide an implementation of the .21 standard, some handover-decision/execution modules on top of it, and also the lower-layer access to the identified RATs (Radio Access Technologies).

802.21 - Media-Independent Handover

My main function on this project is to implement the proposed framework. Starting on the .21 generic service, the MIH Function (MIHF) and going through several stages of the link-layer (I hope to skip the real part on this), we’ll end by having, I hope, a real seamless handover between 802.11 and 802.16 – there are some more scenarios defined, but due to hardware access limitations, I don’t believe they’ll be fully deployed – powered by HURRICANE. Also, I’m the responsible to study (done!) and implement a PMIPv6 module to IP-mobility on top of this architecture.

A lot of work has been done, but there’s much more to do! I’m thrilled to see what we’ll achieve by the end of this year. In the meanwhile, I’ll be posting about casual stuff I shall be working on :-)

Cheers to you all, and cya soon!

Yours truly

Posted by: Paulo Pires | February 28, 2009

re: [tce] mobile voip

My dear Vitor Domingos, that’s why WiMAX is going to kick ass. One clear sign of such truth was when Nokia pushed N810 WiMAX Edition with Spring in the USA.

Posted by: Paulo Pires | February 26, 2009

My MIPv6 testbed

Oh yeah, just got “my” MIPv6 testbed up and running. It’s a work task actually, but some material is mine like the Asus EeePC and the Nokia N810. Well, just wanted to share with the world how wonderful it is :-p

Super-cool MIPv6 testbed

Super-cool MIPv6 testbed

Enjoy you geeks!

Posted by: Paulo Pires | February 26, 2009

Defining multiple IPv6 addresses in one single NIC in Linux

While on my MIPv6 quest, I needed to define two IP addresses to a single ethernet card. Well, I thought the usual aliases thing would suffice, but I guess I was wrong since that didn’t work, complaining something like:

SIOCSIFFLAGS: Cannot assign requested address

So I remembered that, at least in Linux, you can have multiple IPv6 addresses in one single NIC just by issuing the command:

ip -6 addr add 2001:db8:a::1/64 dev eth0

This worked out! But now I wanted to add it to my /etc/network/interfaces so that the changes would be permanent. After some googling I found out that all I had to do was to add the previous command like follows:

auto eth0
iface eth0 inet6 static
address 2001:db8:f:1::1/64
netmask 64
up ip -6 addr add 2001:db8:a::1/64 dev eth0

Then just reboot or execute:

sudo ifconfig eth0 down
sudo /etc/init.d/networking restart

And there you go! Multiple IPv6 in one single NIC the easy way :-)

Posted by: Paulo Pires | February 18, 2009

Custom kernel for Asus Eee PC

Recently a relative of mine bought an Asus Eee PC 4G (I believe it’s aka 701) with Windows XP. It’s a sweet device for any geek to have around, btw :-)

Oh well, some cola over the keyboard made it unusable.. at least for the previous owner. That’s right, “previous”! Why? Well, there it was, this beautiful black toy, thrown to a dark and cold corner as if dead and I couldn’t resist to ask for a look. We agreed that if I got it to work, it would be mine. And so it was.. Now I only need to test if the built-in keyboard is really dead or if it’s a controller problem. Anyway, I’m using my Apple USB keyboard for home fun.

Asus EEE PC 701

Asus EEE PC 701

After the hardware issues I got to the software part aka replacing the bundled Windows XP with Linux. As I was in a hurry I looked for the default Linux distro that comes with these babies, Xandros Linux, just to find out that it’s not freely available. Oh well, it actually sucks anyway compared to the distro I’m using right now, eeeubuntu. As a strong Ubuntu user and supporter for some years now, I am biased here of course, but it truly suits my needs without any hacks. First of all you have to select and download one of three versions: standard – a full blown desktop; nbr – Netbook Remix says it all; base – for disk space paranoids. I went for the nbr flavour and I’m quite happy with it!

The .iso file can be then processed into a CD that you’ll read using an external CD/DVD drive or simply by going the Ubuntu way, building and using a bootable USB stick. And so, after something like fifteen minutes I had my shiny new operating system up and running :-)

After some adding/removing software, I wanted to start hacking this little bitch to get MIPv6 working on it, meaning I had to recompile the kernel which in this distro is obviously compiled with some external modules. I once tried it in a Xandros installation, and it was quite trivial, but now I wanted to package my changes into a .deb file I could replicate for others, like eventually yourself. I found out that there are already very good instructions to do so, and not wanting to add more noise to the web, I’ll just document the steps I took.

First, you’ll need some packages. I believe the following command package “list” is incomplete as I’ve used this machine before for compiling other stuff like OpenWRT. Still, you should be able to easily identify the missing parts :-)

sudo apt-get install build-essential debhelper fakeroot git-core

Update (thanks to _trine @ freenode):From now on, I assume your user has got write-permission for /opt.
Get the tailored kernel source from array.org git repository (in my case I’m using Intrepid Ibex).

cd /opt
git clone git://git.array.org/array/ubuntu-intrepid.git

Now, manage a .config file which in this case is a bundle of default config and config.eeepc:

cd ubuntu-intrepid
cat debian/config/i386/config debian/config/i386/config.eeepc > .config

Define your kernel options as you see fit:

make menuconfig

Prepare things and package up:

cp .config debian/config/i386/config.eeepc
debian/rules updateconfigs
make mrproper
fakeroot debian/rules binary-eeepc binary-headers
cd ..

Now copy the packages into your machine and install them. Reboot and be happy :-)

Update: I’ve received hundreds of thousands of billions screenshot requests from all over the World, the ISS and even someone who I believe is from Mars. Well, you didn’t have to wait much, now did you?

megatron running eeeubuntu

megatron running eeeubuntu

UPDATE: For those using Pidgin, you can install msn-pecan. It works and it brings some new functionality. Just install it and change your account protocol from MSN to WLM.

I’ll be quoting the Adium blog which apparently is now down (all adiumx.com domain is unreachable actually).

Starting at about 20:00 PST tonight (January 11), Microsoft’s servers have stopped accepting logins from clients that use version 15 of the protocol, including Adium 1.3.2. The Debug Window in debug and beta versions of Adium reveals that their server is failing to find a certificate that it needs when Libpurple attempts to retrieve your MSN Address Book.

In case you’re wondering, this also affects Pidgin, which means it’s definitely not an Adium problem.

There are two ways to connect:

We’re not sure whether this is a temporary server problem or a permanent change that will break P15-using Libpurple-based clients (including Adium 1.3.2) until a future Libpurple release. If it turns out to be the latter, we’ll almost certainly include that Libpurple update in our next 1.3.3 beta.

Posted by: Paulo Pires | December 12, 2008

802.21

I’ve been looking into 802.21 aka MIH and I’d like to know if there’s any known effort for developing an open-source implementation of this protocol. Also I’d like to know about any possible interest in participating in such endeavour.

Posted by: Paulo Pires | November 27, 2008

Eclipse broken after update solved

Hi,

I just updated Eclipse on my MacOS X using Eclipse updating wizard. After updating I get the following: “The eclipse executable launcher was unable to locate its companion shared library“. Here’s what I’ve done to track and fix the issue:

1) Run eclipse from the console and check the output:

dhcp5:~ ppires$ /usr/local/eclipse-ganymede/Eclipse.app/Contents/MacOS/eclipse
dlopen(../../../plugins/org.eclipse.equinox.launcher.carbon.macosx_1.0.100.v20080509-1800, 2): image not found

2) Check if plugins/org.eclipse.equinox.launcher.carbon.macosx_1.0.100.v20080509-1800 exists:

dhcp5:eclipse-ganymede ppires$ ls plugins/org.eclipse.equinox.launcher.carbon*
org.eclipse.equinox.launcher.carbon.macosx_1.0.101.R34x_v20080731/

3) See the difference? OK, so now let’s fix it! Edit your Eclipse.app/Contents/MacOS/eclipse.ini and make the necessary changes.

4) Run it and be happy!

I’m trully disappointed that this kind of issues still happen on this so amazing product that so many people are using nowadays. Not everyone has the experience to trial and solve these errors, and that’s very negative for Eclipse, as developers will look somewhere else, like Netbeans or others.

Posted by: Paulo Pires | November 20, 2008

John Dvorak is an avid follower of this blog!!

Doubt it? Check the picture in this post!

Obviously he has read the amazing review of the Nokia E71 written by yours truly.

Oh and btw, I was also present in SAPO Codebits 2008. Good organization, nice idea on the RFID, good catch on the free food, drinks and tooth-brush. Poor presentations! Please spare us the intro and history stuff, and show us the code.. or at least something that’s actually worth the event itself.

* OpenMoko – Totally SUCKED! Compiling stuff directly in the device using distcc was the only amusing part, even that it’s so totally fucking stupid.

* Java HA – Left 3 minutes after starting. Was expecting something like HADB, clustering hacks and stuff like that. But all I saw was file parsing.. Perhaps I wrongly got in a PERL intro.

* CoachDB – I was expecting something more, but all in all it was refreshing.

* Server-side Javascript – nifty concept but not for me!

* Technology in a start-up – now that’s something I wasn’t expecting to attend given that Java HA happened at the same time, but as I left the latter I thought why not rant a bit with the tech leader of the Biker Mice from Mars crew, aka 7Syntax? And so I did! Unfortunately such individual is not open to steady smart questions and the answer was always “NO!” whatever the context might be! Very interesting, though, is the chunk of frameworks they use to bring Handivi to life.. and just look at it, very attractive look, isn’t it?!

Oh well, people were nice! We could almost see some fight between Microsoft guys and Nuno Dantas because of him trying to take a picture of a Windows Vista crashed system.. and just for that it was really worth it. Can’t wait for 2009 edition!!

Cheers!!

Posted by: Paulo Pires | November 14, 2008

sapo codebits, a primeira noite

oh my god

Older Posts »

Categories