Sunday, April 8, 2007

Information Overflow & Colinux WLAN Networking

In case you didn't notice: I've been away from my keyboard for two weeks. My wife and me had a beautiful vacation in Jamaica where I learned that reading and writing English doesn't help a lot to understand people actually talking. Ya Man!

Now that I'm back home I get lost in the information that I missed in just two weeks. I've got some IEEE magazines and journals, some GI resources and the extreme programming group which clogs my Gmail account - and I don't want to miss any of it.

This week the extreme programming group features some nice discussions about "good code", the IEEE software engineering journal features an article about pair programming and an other interesting story on theory usage in software development. The IEEE spectrum contains an article on a guy who implanted two RFID chips in his hands.

After spending some hours reading today I caught up on extreme programming and finally realized that my colinux networking still totally sucks.

I finally found out how to use colinux with my Intel 2200BG adapter: It's simply a matter of setting the adapter to non-promiscuous mode and add the adapters MAC address to the configuration:

eth1=pcap-bridge,"Connection Name",,nopromisc

Now I can set an ip address in linux and happily access the network. Unfortunately this is not a very mobile setup for a laptop. If you are at home in varying wireless and wired networks you usually just want to use dhcp and use whatever ips the network provides.

If I use dhcp in linux and windows on a bridged wireless adapter, both windows and linux will get the same ip (since I must specify the same MAC address - otherwise the WLAN router won't accept my packages). This leads to an unusable network (again). Of course I could just specify a fixed ip but then again I have to change configuration when roaming wireless networks.

The next requirement is that I want to be able to have some linux services accessible via my broadband router when I'm at home. Therefore I need to know an ip to configure some port forwardings. And I want to be able to use the same configuration regardless if I boot into windows and start colinux or if I boot into linux directly.

Now I came up with a configuration that allows me to do all this: I use slirp for external networking and a tuntap device for windows to linux networking (tuntap is faster than slirp). I configured some port forwarding into slirp and forward the required ports from my broadband router to the ip of my laptop's wireless network device.

Then I configured my kubuntu desktop to use network manager (basically by throwing everything away in /etc/network/interfaces) and to use the same MAC address for the wired and wireless interfaces. This way I can really plug and play without loosing any port forwardings from my broadband router. Neat. This whole configuration is quite complicated, so I should probably post a blog entry about the configuration before I forget it.

For all of you celebrating: Happy Easter!


  1. Manuel, to prevent the gmail clogging from your group subs, just create a tag and a filter. Have the filter "auto-archive" the messages. Then the tag looks just like a folder.
    Automatically partitioning incoming mail can save lots of time.

  2. I do that, but I just don't want to miss a thing ;-)

  3. Manuel, how do you set your adapter in promiscous mode?

  4. I meant non-promiscuous ;-) Look at the example eth1= colinux configuration option. Don't forget to set the real MAC address of your wlan-adapter.

  5. Manuel, you mentioned moving between wired and wireless networks. Is it possible for colinux to operate similar to the bridged networking in vmware where by it grabs a DHCP address from either wired or wireless? or possible make colinux use the vmware network interfaces?



  6. There is obviously a whole lot to understand about this. I believe you created some excellent factors in Features also.
    Keep working , great task!