Showing posts with label uni-kiel. Show all posts
Showing posts with label uni-kiel. Show all posts

20100613

Pre-Departure Updates

That last few weeks have been insanely busy for me.

First, I sold all of my furniture and said goodbye to my former apartment in Kiel, since I'll be leaving for Montreal on Tuesday (yaaay!!). Since then, I've been couch-surfing at a friend's apartment down the street. Moving out was a huge undertaking, and I'm quite relieved that its over. There's something extremely liberating in a sort of Zen-Buddhist way about living out of a backpack.

Also, I've been putting in crazy amounts of overtime on my thesis project, which is coming along spectacularly. I've been meaning to write a blog post about it, without giving away too many things prematurely (call me superstitious, but I feel it could jinx me in the end). All I can really say at the moment, is that it's really pushing the physical limits, and that the antenna actually depends on materials being in the near-field. I will allow myself to expand on this point alone for clarification. For most people with any background in physics or engineering, it's common knowledge that EM wave propagation slows down in matter. The wave propagation velocity is equal to the speed of light in free space, but in any material with a relative permittivity greater than 1, the propagation velocity decreases. However, since the measure of time remains constant, the frequency remains constant. Subsequently, in order to maintain equality, the wavelength (L) shrinks according to the equation L = cr / f. A really fantastic consequence of this (antennas not-in-free-space), is that an antenna tuned to a specific frequency surrounded by a given material is often a significant fraction smaller than the equivalent antenna in free space. The resonance remains the same regardless of the angle of incidence (although directional gain is clearly affected). Half-space (or really multi-space) simulations of my antenna design (thus far) have allowed me to reduce the antenna size by a factor greater than 2! Without this near-field effect, it would literally be impossible to create an antenna that resonated in my required frequency range (the lower frequency bound being inversely proportional to the antenna dimensions - the limiting factor). This last week, I've been working on accurate 3D modelling of a planar antenna projected onto the surface of a half-ellipsoid (in order to approximate the inner curvature of a prosthetic eye), which will be the final addition to my simulation. I will then need to do some fine-tuning of the antenna dimensions (this will likely be some sort of constrained numerical optimization, perhaps MMSE), and finally I'll be able to build a physical prototype. Its safe to say though, that it has been far from an easy task. Limitations of our FDTD software and API did pose a major hurdle at one point. I've been doing a lot of the 3D modelling lately in Matlab (with its severely limited Dulauney triangulation capabilities) but I will eventually (or rather in the next week or two) have to write a Dulauney triangulation module in pure Python to interface with the FDTD API. I'm not a huge fan of Python, but I do what I must. In short, I really think that this antenna will be the first of its kind. I can't imagine that anyone has ever created such a specific design, just as the Eyeborg project is equally the first of its kind. The remaining things will be a bit of an exercise in reverse engineering, since I received absolutely zero assistance (so far) from WUSB transceiver chip vendors. I'll also need to improve the state of the Linux WUSB stack. Hopefully when chip vendors see a demonstrated prototype they'll be more inclined to cooperate with us on the Eyeborg design.

My GSOC project was on a bit of a hold this week, since it was my last week in Germany and I needed to focus on thesis work before my flight on the 15th. However, tonight I should be able to accomplish the tasks that I set for myself last monday. Keep an eye on my GSOC blog tomorrow for my weekly report.

Lastly, I leave you with a token of motivational music that should indicate my my overly-caffeinated state of late. Major thanks go to the countries of Ethiopia (for producing such great coffee), and Austria (for inventing RedBull).

20080218

Heading Home

Woo-hoo!

Today I booked my flight back to Canada on the 14th of March, from Hamburg to Montréal. Can you tell that I have a huge smile on my face as I write this? Hehehe..

In the next month, I'll be writing my exams in Advanced Signals & Systems, Advanced Digital Signal Processing, and then I'm organizing to write my exam in Digital Communications at McGill via some awesome department that will proctor exams for external universities ;-) I've never even heard of that before.

But hey, if it means that I don't miss out on an exam and I get to be in my new apartment with my lady friend and Julien, then that's entirely wicked in my opinion!

Oh yes, and by the way, version 2.0 will be named Julien Jacob Friedt - although I'm not 100% sure of the spelling of all of it - Erin and I both agree that Julien should be with an 'e', but I sort of feel like using a 'k' in Jakob just because that's how they would spell it over here.

By the way, if anyone feels like buying a few baby clothes, these ones are definitely on the wish list:
http://www.thinkgeek.com/tshirts/kids/5ace/
http://www.thinkgeek.com/tshirts/kids/59cc/
http://www.thinkgeek.com/tshirts/kids/6c71/
and my personal favorite
http://www.thinkgeek.com/tshirts/kids/9b11/

Sigh, comic relief ;-)

I spoke to Sammy D.J. just yesterday, and He and Emily are also expecting a newcomer in July - Ethan Donald. Dwayne Williams also has one (or two) little ones already, and countless numbers of others must be married at this point - jeez, I'm starting to sound like a 30 year old! AAAAGGHH!!

It seems as if it were yesterday that we were wearing hospital pants and hardhats and getting completely $h17-faced in the 4th floor of Pitman Hall. I know, I'm a bit of a sentimental, but hey - what a wild time; the nights without sleep studying for exams, practically living in the basement of the building formerly known as T... sometimes I can't even believe that I'm here in Germany now doing my master's. I'm meeting so many people from all over the world - I hope I stay good friends with all of them, just because having friends in other countries just makes the best excuse to travel ;-)

Speaking of travel, the feeling that I will be 'going home' to Montréal hasn't even really sunk in yet. What I mean, is that it seems like I've been renting rooms for literally the last decade of my life! Moving from city to city, province to province, country, continent, etc. Now Erin & I are pretty much starting out together in a beautiful plateau apartement à côté du Parc LaFontaine. I can't wait! The next year of my life is going to be full of the most amazing experiences.

Well, I'd better get back to work / studying

Hasta Luego

20080129

WiFi in the TF

Ok, forget completely about xsupplicant - it's horribly written software. I had to correct several sections of code just so it would compile, and then I later realized that it was truncating the ESSID string to an improper length.

I managed to get WPA-EAP / EAP-TLS working with wpa_supplicant, and it wasn't so hard after all.

Requirements:

You should have been given 4 files from the TF administrator - Root.der, Client.der, Server.der, and xyz.p12, where xyz is your username. You should also know your passphrase.

You should have wpa_supplicant installed (it should pull in OpenSSL as a requirement). If you don't have wpa_supplicant installed, then do 'emerge -av1 wpa_supplicant'.

Important: Do not install wpa_supplicant with the gnutls USE flag; gnutls has a broken implementation of eap-tls right now, resulting in errors such as 
  • "Failed to read client cert/key in PEM format: Base64 unexpected header error" 
  • "Failed to read client cert/key in DER format: ASN1 parser: Error in TAG." 
If you have wpa_supplicant installed with the gnutls USE flag, then simply run  'USE=-gnutls emerge -av1 wpa_supplicant' as root, or better yet, add 'net-wireless/wpa_supplicant -gnutls' to your /etc/portage/package.use file.

Steps:

1) Switch to the root user. Copy all 4 files to /etc/wpa_supplicant.

sudo -s
mkdir -p /etc/wpa_supplicant # should be created by wpa_supplicant
cp Root.der Client.der Server.der xyz.p12 /etc/wpa_supplicant


2) According to 'man wpa_supplicant',

"Wpa_supplicant supports X.509 certificates in PEM and DER formats. User certificate and private key can be included in the same file. If the user certificate and private key is received in PKCS#12/PFX format, they need to be converted to suitable PEM/DER format."

cd /etc/wpa_supplicant
for i in Root Server Client; do 
    openssl x509 -inform DER -in ${i}.der -out ${i}.pem
done
openssl pkcs12 -in xyz.p12 -out xyz.pem -clcerts
# we do not want anyone reading / modifying the keys aside from root
chmod u+rw,go-rwx {Root,Server,Client}.{der,pem} xyz.{p12,pem}

When converting your public / private key from pkcs12 format above, it will ask you for an 'Import Password', which is null. Simply hit enter. Next it will ask you for your PEM passphrase, which is the one you should already be familiar with.

3) From 'man wpa_supplicant.conf', append the following to /etc/wpa_supplicant/wpa_supplicant.conf :

# Technische Fakultaet
network={
     ssid="TFconnect"
     key_mgmt=IEEE8021X
     eap=TLS
     identity="xyz"
     ca_cert="/etc/wpa_supplicant/Root.der"

     ca_path="/etc/wpa_supplicant/"
     private_key="/etc/wpa_supplicant/xyz.pem"
     client_cert="/etc/wpa_supplicant/xyz.pem"
     private_key_passwd="your secret passphrase"
     eapol_flags=3
}


4) Now use your common method of starting wpa_supplicant. I assume your wireless device is called wlan0, but sometimes it's simply called eth1. For Gentoo, I do

cd /etc/init.d
ln -sf net.lo net.wlan0


5) The -D argument can vary. Mine is wext, but yours could be madwifi or madwifi-ng. Add something like the following to /etc/conf.d/net, if you don't already have a configuration for wpa_supplicant.

modules_wlan0=( "wpa_supplicant" "dhcpcd" )
wpa_supplicant_wlan0=( "-D wext -c /etc/wpa_supplicant/wpa_supplicant.conf" )


6) Lastly, run

/etc/init.d/net.wlan0 restart