Older blog entries for Dodger (starting at number 18)

10:09am CDT

Well, it looks like ECT is going to be sending me a presenter's kit and some stuff to do 3D motion capture with their TrackIR devices. This will let me get my driver working with multiple devices without having to shell out $100 for each device. Very nice of them. It's getting really nice and warm here. Tomorrow will probably be the first day I'll be able to ride in to work(about 10 miles). I'm looking forward to getting back in some semblance of shape. Need to get a trainer so I don't get fat over the winter again.

8:54am CDT

Well, I've finally released it. My first ever Linux kernel driver is up at my homepage. It's a driver for the TrackIR device I've been talking about in my previous diary entries. I hate to be a beggar, but maybe some developers will look at the source and maybe give me some certs. :)

10:46am CDT

Well, my TrackIR driver is working and appears to be producing correct data. Now all I have to do is figure out how to write the non-blocking interface(not sure how the data is returned to user-space yet) and write an ioctl for sending control messages to the device. I'm really happy with everything I've learned from this project so far. If you've got a TrackIR or just want to look at the driver(hey, I wouldn't mind, I'd like to know I'm doing things right or wrong), email me at tmilker at radiks dot net. I wish there were a utility to keep up to date on Advogato entries, there's just not enough time in the day to keep up with them from the site. :(

6 Apr 2001 (updated 6 Apr 2001 at 21:14 UTC) »
4:13pm CDT

dyork: Free an IRQ for that ISA slot and then one for each pcmcia slot and it should "just work" I had the same issues when people told me the same thing. Once I freed some IRQs for the card everything was golden.

7:54am CDT

Sheesh, I just realized I've been doing all these CDT/CST times backwards for daylight savings time. Oh well, I'll start doing it correctly from here out.

Well, the TrackIR driver is progressing nicely. I think I've got firmware loading the correct way. The only thing I'm not too happy about is that I had to put a flag in the data structure for the driver to tell if the firmware has been loaded or not. I'm hoping there's a way to query the device to see if the firmware is already loaded like the usb/serial/keyspan.c driver in the kernel. Fixing this is a must, if multiple cameras are to be supported. Can't really play that until I get the device, which comes today.

7:44am CST

Wow, I can't believe it. My first kernel driver for a device and it actually worked! The USB protocol makes it almost fun to write drivers for devices(when you actually have documentation for the device). I don't have my TrackIR yet, but UPS says I'll get it on Friday. The only problem with the driver my tester found so far is that I forgot to make a check to see if the firmware was already loaded, so it would load the firmware over and over until the new device was enumerated. I sent off a fix for that at around 4:45am this morning and now I'm waiting to hear back from him. All I need to add now is the open and read functions and it should be done. I'm going to wait to write those until I have mine.

7:47am CST

Well, it's another Monday. Last night's Eco-Challenge was very interesting. It looks quite fun albeit grueling. It will be interesting to see how it turns out. Didn't do a whole lot this weekend. Got an email saying my TrackIR shipped, so I might see that later this week. I still don't quite understand how to write a character device, so I'll be looking into more of the kernel source later on today. Is it just me or did this year's April Fool's jokes just seem really lame compared to some of the stuff done last year. Slashdot had remarkably poor jokes this time around.

7:44am CDT

Wow am I ever glad it's Friday! I've been hearing a lot about the game Black and White. I hope that Peter Molyneux really does release the source like he had mentioned doing a few months ago. The AI sounds very interesting. At the very least, I hope it's released for Linux, which was also stated. Anyway, procedural textures are awesome, I love this book. The authors start from the ground up, which is nice, compared to some books/papers which assume you already know everything(making the document worthless). There's a heavy influence of RenderMan in the book, but RenderMan shaders look a lot like C snippets, and the authors explain and implent the functions the shader language uses.

29 Mar 2001 (updated 30 Mar 2001 at 02:16 UTC) »
8:07pm CDT

Enjoying the evening reading, Texturing and Modeling: A Procedural Approach.

Bantered back and forth with one of the developers at Eye Control Technology over email earlier(the people who sell the TrackIR). They're going to release some more information on their website tonight about the firmware, general questions that everyone is asking(including me). It looks fairly easy, from the kernel source I've looked at, to write a driver that loads the firmware and reconnects to the real device. I've already got one on order, I hope I get it soon so I can start hacking on a driver. It will be the first kernel driver I've really sunk my teeth into, but I feel confident about being able to do it(unlike working on the 3com HomeConnect, which completely shattered my confidence in that device, not being able to work out the format of the color images). My goal is to get the driver to a point where I can write an app that loads a mesh of a face(or possibly a Quake3 model's head) and map vertices of the mesh to reflector dots on my face.

4:34pm CDT

Pet peeve: People who feel the need to correct everyone's grammar and spelling because they couldn't spell Mississippi until high school.

2:07pm CDT

Well, it's been awhile since I last posted. I got my patch for the WaveLAN card and the z50 working perfectly. I've been working on database/php3 interface stuff lately. Most of it has been work outside of my day job, working on it at night. I'm finding it pretty easy to do most of the stuff that we want to. I wish I would have gotten into doing this sooner. The extra money won't hurt at all, either. :) I've been thinking about all these forms that I've been writing and wondering if anyone has come up with a way to describe forms in a generic way, using XML or something. It'd be nice if I could have one generic format and spit out HTML, Java, GTK, QT, whatever, interfaces for them. Then just plug-in the database backend stuff to whatever format I want. That would be cool. I may have to look into that when I have some free time(not anytime soon).

I've also renewed my interest in Ultima Online server/client emulation. Mostly, I've just been following the progress of UOX and Ultima Melange. I've been thinking about a UO client for Linux that uses SDL/OpenAL.

Another thing that I've been messing with in the last month or so is the image format of the 3Com USB HomeConnect Camera. I spent about 15 hours one weekend trying different image types with no success. I've finally given up on that, and have just decided to write a black and white(which is easily decoded from the image data) USB driver for Linux and then either let someone else figure out the format or try again, after I have the driver working. Man, what I wouldn't give to either not have to sleep, or a 40-hour day to work on all this stuff I want to work on. :)

2:28pm CDT

Lots of kernel hacking lately. NetBSD for my z50 wasn't working so well, so I decided to take out the 32MB memory module and try Linux on it again. Once I got the mipsel kernel sources from Linux VR's CVS server and began work on getting a kernel compiled. Since I had already gotten this working in the past before, it went quite easily. After I was up and running, I decided to try getting my new Lucent WaveLAN Turbo 802.11 card working in it. This proved to be more difficult than I thought. I took the wvlan_cs patch for 2.3.50 and applied it to linux-mipsel-2.4.0test1(CVS version). It applied fairly cleanly, however, it broke the pcmcia_net.o build. I'm still pretty green as far as getting around the Linux kernel and build system, so it took a lot of reading the source(thank god for ctags) and grepping to figure out what was going on. I did a lot of whining to myself about not being able to find things on the "bigger picture" of the kernel. "Use the Source, Luke", seems to be the proper phrase for learning more about the kernel. And learn I did, I understand a lot more about the way modules(compiled into the kernel or external) and the PCMCIA subsystem(which, thankfully, is documented well by David Hinds). When you first look at the kernel, it's quite a daunting piece of code, but once you dig under the surface, and have the proper tools for finding your way around it, it reveals it's secrets little by little. This afternoon at lunch, I believe I put in the last fixes to the Makefile that I needed to get the wvlan_cs driver going. Now I just need to copy the kernel over to my Compact Flash card and try booting it up on the laptop when I get home. I've also been wondering if PCMCIA Card Services exposes anything in /proc to see which ethernet cards have support in the kernel. When the pcmcia_net.o build was breaking, I was having problems not knowing if wvlan_cs was actually being linked into the kernel or not. If there was some way to see a listing of the cards that PCMCIA CS has drivers for, from /proc, that'd be helpful. Of course, now I think have it fixed and really wouldn't need that functionality, but I still wonder if it exists or not.

Survivor comes down to the final four tonight, I wonder who makes it.

9 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!