Monday, March 23, 2009

PSP WiFi & Promiscuous Mode

I've recently started developing for the PSP. The programming language I use is C, it's syntax reminds me a lot of Java and it's quite simple, but more complicated than Java, once you get the grasp of it. It was quite easy to install PSPSDK (PSP development libraries for C) on my Ubuntu and it took me only one day to create and run a Hello World application =D

I'm now trying to create a WiFi Sniffer for the PSP. It's based on the WLAN Scan example which can be found in the PSPSDK. Unfortunately it only runs under kernel 1.50 as some commands need kernel mode. I've managed to create a PRX for the kernel functions but I can't seperate the Kernel and the User code correctly, the EBOOT.PBP and the PRX just don't work together as they should. Comment/Email me if you feel like helping me on this.

Anyway, instead of developing my application for the newest firmware I'm now trying to develop it for Kernel 1.50. Fortunately there is a way to run an Eboot in a 1.50 environment even if your firmware is 5.00. Visit Here to find out how.

Until now the closest anyone has got to a PSP WiFi Sniffer is an application which lists the surrounding WiFi hosts. No one has ever managed to put the PSP's WLAN card into promisc mode or anything even closely representing it. Unfortunately I don't think I will be the first to do this but I can atleast try, and share my results.

I started gathering information on the PSP's WLAN card. After googling for over three hours I had a pretty decent idea:

PSP has two WiFi chips:
* Marvell Libertas 88W8010 - RF Transceiver
* Marvell Libertas 88W8380 - ARM9 Processor
Found Here

A quick visit to the producers homepage reveals nothing usefull:

After some more googling:
PDF on cracking WEP and WPA

Another very nice idea here.


Hidden in a very deep corner:
A very useful handbook written by Marvell
It explains all about the WLAN Subsystem: Host Driver, Firmware, and Interface

This is what everyone has been searching for! It's a 142 page handbook explaining WiFi cards built by Marvell. Guess what? It even explains how to turn on/off promiscous mode (page 36&37) =D

Now I just need to find a way to do what it tells me to do and I'm on my way =D

Another nice find:
"This file contains definitions of WLAN commands"
Here's the Readme by Marvell, unfortunately not for PSP =/

Sunday, March 15, 2009

Utilising Various Volume Controllers

Warning: Sarcasm

There are way too many ways to control volume on modern computers. What are they and how do we use them?
Lucky for you I have donated hours of my precious time to find out the answer to this questions of utmost importance.

The topmost way of controlling volume can be found on your loudspeaker:

This one is very easy to use; don't use it. Set it to about a quarter to half of it's capable volume and leave it there. Forever.

Actually there is one exception. In case of an emergency you may turn it down for a short time. An emergency may be if the sounds emited from the speaker are so high that your house might fall apart any second. In which case you should turn down the volume on the speaker to avoid total obliteration. As soon as the volume is survivable for more than 5 minutes, adjust the volume on another volume controller and set this one back to it's original.

This is the most dangerous way of controlling volume and it should only be used in rare occasions as the power of this controller can easily be misused. If you use this way of controlling volume too often you might become addicted to it's power. Don't join the dark side, they always lose (infact that's why they are the dark side).

The next lower level of controlling sound is on the system level:

The above picture is from the Ubuntu operating system (the superior one). On Windows this volume controller can be found on the bottom right of the screen (it's this little icon desperately trying to imitate a speaker).

The system volume controller should be set on a level which makes the system sounds sound good. Each system has it's own unique way of playing system sounds. In Ubuntu for example you could go to System>Preferences>Sound>Sounds(tab) to listen to various system sounds. For Windows you could wait for the occasional error to pop up. For a Macintosh you could repeatedly restart the system to listen to the beautiful starting up sound provided by the system.

Whichever way you choose, every time you hear a system sound, adjust the system volume controller a little until the system sounds have a reasonable volume which you like.

As in the previous controller, leave this controller alone once it's set to make system sounds sound reasonable. Don't even touch this one in an emergency, it's quicker to use a physical way of adjusting volume than a virtual one.

The lowest way of adjusting volume can be found on individual music/video players:

The above picture is from the YouTube video player, and yes, they are also trying to imitate the beautiful speaker icon used in Ubuntu by rotating a UFO by 90 degrees.

This way is the lowest way and that is why there are the most of them. Almost every respectable video/music player has one of these little volume controllers. This way is also the most used way of controlling volume. Every time you listen to a different movie/sound track you should adjust this volume controller to make the sound coming out of your speakers a reasonable volume. This is the most important way of controlling volume, use it.

Along with the above three ways of controlling volumes there are many more but they are too minuscule to mention here. They include: cloth in front of speaker, overclock speaker, drown speaker, earplugs, become deaf, increase distance between ears and speaker, and finally my favorite, decrease blood flow to brain.

With the above expertise you can become a master of volume =D

Monday, March 9, 2009

Old Memories

I'm currently digging through my old files and I'm finding many small applications. All of them have a history, they all make me smile =D

I'm going to upload all the ones worth uploading here. I found twenty so far so I think it's better if I don't do this at once. This post will be edited every time I prepared a program for upload (readme.txt, screenshot, etc.) so check back regularly.

Remember that these programs where made in a very early stage of my life, some even dating back to third and fourth grade. Most of them serve no real purpose but just looking at them makes me want to improve them. I'm uploading the originals here before I do anything so that I will have an almost complete history of my programming activities. These are just the programs from my current hard drive, I still need to go through my old hard drive, probably going to find a lot more.

Here's the list so far:

1. Simons Simple Calculator
2. 3*3 Magic Square Solver
3. DOSer
4. ScreenShot Shower
5. Website Saver

edit: doing minimum one daily, have little time

Sunday, March 1, 2009

5 Easy Things to do to Improve Your Life

The following five things are all very easy and quick things you can do to improve your life. They might have a very big impact on your mood and productivity so make sure that you do all of them.

1. Clean your Room

Keep a clean room/environment. Try to keep it clean once you cleaned it up to save future time and energy. Even if you like things messy it's no excuse to let dust gather and to leave uneaten and uneatable food lying around.

2. Open the Windows

Opening the windows is something simple but very effective. If you haven't let fresh air in for more than a day chances are that you're breathing air of bad quality right now. Breathing fresh air can improve your mood and health a lot. Read more here.

3. Get enough Exercise

Exercise is a crucial part of staying healthy. Walking around outside can easily clear your head and inspire new ideas. It also may keep you from becoming fat.

4. Eat well

Eat well. Make very sure that you have all the vitamins, minerals, and calories you need. Eating well can improve about everything happening in you life. It can help you think clearly and can even improve your IQ.

5. Have Fun

Relieve your stress somehow and set aside some time everyday to do what you want.

Have fun =D