More and more cases

Today has been a sad day with regard to I just ordered five potentially infringing devices from three different vendors. Apparently the message has not been conveyed to all respective parties yet...

So let's see how they will react if someone actually is in a position to ban their products from all-important pre-christmas sale.

This really sucks. At some point I want to start coding on a day without having to have information in my inbox about yet another gpl violation case.

Shopping in Bangalore

Today I went shopping in Bangalore. The first thing I had to learn, is that you need a lot of travel through the heavy traffic in order to get to the respective stores.

Secondly, buying/finding a Sari (Including the blouse and the Petticoat) is not as easy as buying women's clothes in the western world. The choli (blouse) is made-to-measure, and they require more information than the usual under bust / over bust / waist measurements. So I only bought one this time, let's first see how it fits Elisabeth before I buy more items that in the end don't fit.

Getting Hindi learner books (apart from the usual Devanagari alphabet training) in Bangalore turned out to be more difficult than expected. Students tend to get the books from the Schools, and the local language is Kannada. But finally we managed to get them, too.

Finding Bollywood DVD's is obviously the most easy task ;) I got a stack of 8, and I'll probably be buying more of them once I get to Mumbai on Tuesday.

Linux Bangalore is Over

The three-day lb2004 is now over. About 80 presentations from all areas of free software, ranging from hardcore technical subjects to user-experience.

One of the interesting parts was that one developer managed to port the "DotGNU" framework to the Simputer in only three days during the conference. Apparently this spawned a lot of media interest.

In the end, the conference went really fine, if it wasn't for the strange rules and regulations of the IISC that tried to undermine the event.

Oh yes, than there is the air condition to which I probably owe catching a cold last year - and this year again :(

Day one of Linux Bangalore 2004

So today lb2004 started, but unfortunately there are lots of problems, some of them really outstandingly ridiculous.

The less problematic issue was that even though the zd1201 driver now works, the access points would not actually get a link to a switch, independent of the kind of cable. So the whole wireless network idea was basically abandoned.

As for Internet access at the conference, there was none. There's not even CDMA reception on top of the roof, and even though that the auditorium is part of the Indian Institute of Sciences there is no connection to the IISC LAN within the complex. Also, they IISC apparently has so little bandwidth, that it's insufficient for their own purpose, let aside connecting some conference.

Then the really interesting thing came up: Because of about 2800 attendees, there was an 500 seat additional auditorium built. Apparently the IISC gave permission to build the auditorium tent on their ground, even charged money for using the ground - but they informed the lb2004 organizers that they were not allowed to use it. They've only given permission to build the auditorium, not to actually use it to give any presentations in there, or even use it only as a lounge.

Believe it or not, it became worse. Someone wanted to fetch food from the catering to the speaker lounge. He was stopped by a security guard, stating that in the room officially designated as speaker lounge by the IISC, there was no food permitted, and a fine would apply if anyone actually tried to do so.

Oh yes, and they suddenly introduced a new rule, active on 1st of December, that as soon as there are more than 25 cars parked on the grounds, another fine would apply.

This is just incredibly ridiculous. This is the Indian Institute of Science, and the conference is held in exactly the same premises for the third time. None of those issues came up in the previous years.

Also, this is the same IISC which boasts himself to have denied an event with Dr. Kalam (India's president and one of the biggest promoters of Free and Open Source in India) at the J.N.Tata Auditorium.

It's very hard to understand that they just want to sabotage that kind of event in any possible way. It makes me feel sick and sad. Somebody should organize a demonstration. Call off half a day and make a 3000 attendee protest in front of the office of the director of the IISC.

Making a broken ZyDAS zd1201 based USB Wireless work

It's amazing what kind of strange and broken USB devices there are. Here at Linux Bangalore, they've got a bunch of 'combo USB WLAN and Flash Disk Sticks' that turned out to be TwinMOS B241 devices. But let's forget about this for a moment and join me on my journey...

They ship with a Linux driver preinstalled onto the flash disk. Unfortunately that driver consists of some hacked wlan-ng driver. For most people who've worked with wlan-ng, they know that it's overly complex, and not really the standard Linux way of doing things.

That modified wlan-ng source code would only build for 2.4.x, the machines here are running Fedora Core 3.

Also, the machines would totally lock up their USB stack as soon as you would enable the WLAN part, even without any driver.

Since the wlan-ng was a modified prism2 USB driver, I though I could somehow merge the changes into the orinoco_usb driver that is in the standard kernel.

After some deeper look, it turned out that the device has no relation with Intersil, and definitely doesn't have a Prism2 chip on the PCB, so my tries to get this working were useless.

Apparently, they didn't even do 'copy+paste', but they did 'edit and forget', i.e. forget about prism2 devices and only support some totally different chipset without actually changing file names or comments in the driver.

So I opened one of the devices and found a AU9254A21-CBS (4 port USB hub), a K9F1G08UOM (the Flash memory for the USB drive), a IC1114-F48LQ (usb storage controller for the flash), and some unknown chip labelled ZyDAS ARM. Also there was a Cyprus semiconductor chip that I though of the EZ-USB controller that connects the alleged prism2 to the USB bus. This fits the driver design, since it has to download some 'bootup code' to the usb device before being able to use it.

After some further analysis, the Cyprus CY62137CV30LL-70BVI turned out to be some SRAM chip, and the ZyDAS ARM the real 802.11 MAC. And luckily, some people are working on a very clean 2.6 style stand-alone driver.

And the driver even worked after just adding the USB device ID to it's list of known devices, at least on little endian platforms.

If the devices specs or documentation would have told us that it is a ZD1201, the driver clearly indicated that it has no relation with prism2 or somebody who wrote the driver actually had a clue how to do this, this would have saved me about four hours of time, at least.

Oh yes, and the usb stack lockup comes from violating the USB specification and only supporting one particular flavour of USB bus enumeration. So nobody actually ever tested it for USB spec compliance, even though there are compliance tests available by the USB forum. *sigh*

Visiting Infosys

Today, the international speakers of LB/2004 were invited to visit the sponsor Infosys, apparently India's largest IT outsourcing company.

They've been growing from 7 to 35,000 engineers very rapidly, and their Bangalore campus is certainly the most luxurious and westernized part of India I've seen so far (not that I've seen much of India either).

Anyway, we were informed about their recent Linux and FOSS related activities, met their internal InfyLUG (Infosys Linux User Group), met one of the seven founders and Andi Kleen gave a lecture about the kernel development process, that was attended by 300 employees and streamed to all the other Infosys campuses.

Leaving for Linux-Bangalore/2004

I'm at the moment packing my suitcase, and I'll be sitting in the plane about 24 hours from now. Do not expect any fast email replies or IRC presence of me before December 9th.

Make CyberJack drivers issue a key-press confirmation beep

This is a very useful feature, especially for blind people. Unfortunately there is no unique way of issuing some beep sound on Linux-based systems, so there needs to be some magic that determines whether running under X11 or not and call the appropriate code for beeping.

Successful TomTom Visit

As indicated before, TomTom B.V. has invited Christian and me to visit them at their offices. Apart from some consulting/training regarding Free Software Licenses and the Free Software Community, they were particularly interested in getting us involved with their Linux kernel related development.

I stressed the fact that it is very important to clean up all the drivers, make them use standard interfaces and eventually get them merged to the mainline kernel. As it seems, they agree and want to contract one or some of the OpenTom developers to do so.

Never ride trains on weekends

If I'm ever about to travel by train on a weekend, please somebody remind me not to do so. All these crowds trying to find available seats, incredibly busy, delayed trains, ...

Travelling during the week is just so much more convenient.

KNF Kongress: Meeting old friends

Today I've given my two gpl related presentations at the annual KNF Kongress. Apparently it helped some people to understand legal requirements of dealing with various free software licenses, which is good.

Also, I was a the OpenTom presentation and could it actually see working with a 2.6.x kernel, sound, framebuffer, USB keyboard, USB CD-ROM and even playing some low-res-movies with mplayer on the console. Great work.

Apart from that, I was just chatting with a lot of people. As a side-note, I've also mentioned the CCCB's current search for a pc-based logic analyzer that either comes with developer documentation or Linux software. People suggested of building the logic analyzer on our own, by using available FPGA's, some SRAM and a USB interface. If you think about it, this actually sounds quite feasible. Now I'll do some research on FPGA's that ship with a free development environment, unlike the proprietary stuff shipped by Altera & Co :(

I'm pleased to present at Linux Bangalore 2004

Following up my presence last year's Linux Bangalore 2003, I'm very pleased to again be invited to present at this year's incarnation.

Unfortunately I had to shift the main focus of my presentations a bit towards political/legal issues, so there's one presentation about How to interact with the Free Software Community, one about The GPL is not public domain, and for all the tech savvy guys, there's A tour through the Linux 2.6 network stack.

I'm happy to present on those political and legal issues, because I think this is the opportunity to get this kind of knowledge into the Indian IT outsourcing industry, before it is too late (like apparently happened with most of the Taiwanese embedded Linux vendors).

I'm happy to see an increasing number of high profile speakers at Linux Bangalore, and it's now becoming (to the best of my knowledge) a big internationally recognized Linux event.

Two presentations at KNF Kongress coming up

I'll be giving two presentations at the upcoming KNF Kongress 2004, entitled "The GNU GPL Revisited" and "Copyright helps Copyleft".

Also, Christian Daniel from the OpenTom group is going to present on his re-engineering efforts.

If you happen to live in southern Germany, it's probably a good idea to check out the yet small but great KNF Kongress. Looking forward to meeting you there.

More work on the REINER SCT CyberJack drivers

I'm not sure if I did mention it on this blog, but I've been contracted by REINER SCT to work on a Linux driver for their CyberJack series of smart card readers for quite some time.

In the last days I've been spending quite an amount of time hunting down user-reported bugs in the driver, which is good. Sometimes it's really surprising to see in what kind of bugs stupid mistakes eventually result.

Also, I've now managed to make the driver work on x86_64, so it's working in little-endian 32 and 64bit, big endian 32bit. I have to test it on my UltraSPARC box to see whether 64bit big endian also works.

Working on lots of Presentation Slides

I didn't even notice it before, but within two weeks I'm now scheduled to give six presentations. Unfortunately, none of them is exactly the same subject on which I've presented before, so the amount of recycling I can do is quite limited.

I've always considered doing slides for a presentation as "necessary evil", but it's OK if you do it once every so often. But preparing six presentations in a row is no fun at all :(

You can follow the progress in the svn repository

I sometimes really feel the need for a secretary... or someone who does boring small jobs like HTML/Postscript conversion of all my presentations, and makes them more conveniently accessible on the net. *sigh*. Sorry guys..

No more time for OpenTom at the moment

Due to an increasing workload, I won't be able to work on the OpenTom project for at least some weeks. I've published the current state of the SD Card driver in my personal directory of the OpenTom Subversion repository. If you want to pick up, feel free. I'll answer questions by email.

More hacking on the SD Card driver

re-engineering the SD card stuff turns out to be more time consuming than expected. Not that it's particularly fancy or complicated - just obfuscated. Apparently there are some quite complex data structures involved, that are hard to analyze by looking at the disassembly.

All GPL issues with TomTom B.V. settled

I'm very happy that the GPL issues with TomTom have now all been settled, and despite some early disagreements we're now very happy with the way TomTom has handled this case.

The TomTom GPL page contains the latest source of their 4.42 firmware. Pretty much all of the drivers have been released with their source code (touch-screen, framebuffer, USB device, accelerometer, GPS). Only (obviously) the SD-Card driver is missing in the source and provided as kernel module. This is due to the stupid SD Card Alliance licensing agreement, which basically puts every recipient of the Documentation under an NDA.

So at the moment you have to put all of the OS into the initrd, which is loaded by the bootloader.

We're working on a solution for the card reader, though. At least MMC Card support should be available soon.

Back blogging again

I had some severe hardware problems during last week, resulting in almost one week of server outage. We had to change power supply, ram, mainboard and cpu in order to get the machine back running again - basically a whole new machine.

Sorry for anybody trying to access www/ftp/ over that time. Email was not affected, since email is dealt with on a totally different box.

Thanks to my Towersoft friends who took care about the physical repairs of the machine (it's located some 500km from my place).

Chaosradio about Biometric Information in Travel Documents

Yesterday I've participated in a Chaosradio show about the recent international push towards biometrics in travel documents such as passports.

Our focus has been on the flaws of biometric systems, the current plans of the ICAO about MRTD's (Machine Readable Travel Documents), the risks involved and why they are not an applicable tool to prevent terrorist attacks.

If you're interested in listening to a recording of the show, it is available at the usual location,

GPL Agreement with TomTom B.V.

Two days ago I signed an amicable agreement with TomTom B.V., a Dutch vendor of GPS navigation systems. The press release is as usual at the homepage.

According to the agreement, they have a grace period until Oct 30, but apparently they already published some source code.

Unfortunately it's still incomplete to some degree, but I'm looking forward to getting this sorted out.

Also, this source is not enough in order to run your own kernel on the TomTom GO, you will need some information on the firmware image layout and a particular blowfish key. For more details on the internals of the TomTom GO, please see the OpenTom of Christian Daniel.

I'm looking forward to convert to TomTom into a all-in-one car computer, including wardriving (USB WLAN with kismet) support and MP3/Ogg-Player with USB hard drive :) Not to forget bluetooth keyboard support, etc. :)