Archive for April, 2005

42

Friday, April 29th, 2005

Today is the day of the days. Today is the day when the Hitchhiker’s Guide to the Galaxy movie goes to masses (but unfortunately not for me before June 15th).
And if all goes well, my university will get a new principal too (webcast here).

Team Trafo?

Saturday, April 16th, 2005

Laundry and hacking… Chatted with Taavi about the upcoming (in June) European Championships where I want to participate together with him. (Sounds like Team Trafo :D)

Fixed few compile errors and one prefixed installation issue in Balsa. Patches here and here.

[Update]: Seems like few minutes after I submitted these patches the fixes had been already applied :P

Gentoo bits…

Saturday, April 16th, 2005

Spent few hours searching for ebuilds for various cool and useful software for my machine. Finally managed to install these programs which haven’t yet made into portage:

  • F-Spot - Personal photo management
  • Evince - Simply a document viewer

I also thought about Beagle but with 256 MB of memory it would be hard to stay productive. :P But maybe not, because it would be a nice Wow! factor for me.. :D

Temporary madness :D

Friday, April 15th, 2005

The depression which has been the keyword of this week is finally fading away (a bit too slowly, though)… And because my current state of mind, I haven’t been so productive on these last few days. But nevertheless, I managed to finish 3 papers while looking into subject of context free grammar. The finished papers are here:

Damn, I was so bored… :P

Ah yes. Almost forgot it - Comments are welcome! :D

Reverse engineering Broadcom BCM43xx

Wednesday, April 6th, 2005

About a week ago I went wireless - got a Linksys WRT54g (wireless router) thanks to Tuljo and also bought Linksys WPC54g wireless PCMCIA card, which doesn’t have any Open Source drivers for Linux or any other OS-s.
But I got this card working thanks to an ugly hack called Ndiswrapper which makes the card work using the Windows drivers. Ugly hack, but it works (also with 4k stacks :P)
So.. people have reverse engineered drivers before… take the ACX100 wireless network driver project for example.
So.. we have binary drivers for Win32 (x86) and Linux (MIPS). Any reverse engineers available? :P
Here’s one small snippet taken from the disassembled Linux driver:

...
0000bb8c [wlc_ioctl]:
    bb8c:       27bdfde8        addiu   sp,sp,-536
    bb90:       afbe0210        sw      s8,528(sp)
    bb94:       afb50204        sw      s5,516(sp)
    bb98:       afb40200        sw      s4,512(sp)
    bb9c:       afb301fc        sw      s3,508(sp)
    bba0:       afbf0214        sw      ra,532(sp)
    bba4:       afb7020c        sw      s7,524(sp)
...
    bce8:       00000000        nop
    bcec:       3c0214e4        lui     v0,0x14e4
    bcf0:       34426c77        ori     v0,v0,0x6c77
    bcf4:       ae620000        sw      v0,0(s3)
    bcf8:       13c0ffc1        beqz    s8,bc00 [wlc_ioctl +0x74]
    bcfc:       02c03821        move    a3,s6
    bd00:       8ea20ed0        lw      v0,3792(s5)
...


But it will be lot’s of work…

Oh.. btw… the constants 0×14e4 and 0×6c77 which you can see at addresses 0xbcec and 0xbcf0 respectively, do form some kind of IOCTL_MAGIC value which is 0×14e46c77.