XP machine on Ubuntu and executing old DOS programs on it

Long time no see,

Intro (You can skip that if you’re not interested in my diatribes)

————————————————————————————————
I am currently working on my thesis. It’s about non-invasive monitoring, multiphase flow pattern recognition.

I work on Ubuntu and have MATLAB installed here. I must work with things like attractors, phase space, Kolmogorov entropy, Correlation dimension, etc.. Apparently, there’s no code for that on the Mathworks scene.

However, I found out a great tool called RRCHAOS (which seems to be used by “everyone” in that line of research).

RRCHAOS is a tremendous tool, it works on DOS. So, I installed a DOS virtual machine (VirtualBox) on Ubuntu.

The problem though is that it doesn’t really know how to manage my CPU (Core i5). Yes, I know, there’s a tool called DOSIDLE, but still..

And I wanted an XP box too. So I installed XP.

First issue, I have RRCHAOS on my USB drive and you can’t have access to that on your virtual machine.

ISSUE 1: USB support on virtual machine, XP guest, Ubuntu host.

Solution: I am using Gnome, not Unity

sudo apt-get install gnome-system-tools

Then

users-admin

Click on “Manage Groups”. Seach for “vboxusers” in the list. Double click, and check the user you want to add. Close. Log out, log in. Launch VirtualBox. If in the “Settings/USB” USB isn’t checked, check it and boot your virtual machine.

Go to devices, and choose your USB drive. It should work fine.

Second issue is that when I tried to execute RRCHAOS, it says there’s a problem with “config.nt”, that the system file doesn’t support DOS or Windows programs..

You can do some things. You insert your XP CD, and do the following on a command prompt (in case you wonder Windows+R or Start/Run then cmd)

expand CDDRIVE:\i386\config.nt_ C:\windows\system32\config.nt
expand CDDRIVE:\i386\autoexec.nt_ C:\windows\system32\autoexec.nt
expand CDDRIVE:\i386\command.co_ C:\windows\system32\command.com

Now, when I executed it. It ran, however .. It said that I needed at least 2MB of EMS memory.

What you want to do here is to look for a file named “_default” in the Windows directory. You right-click on it, and choose “Properties”. You click on the “Memory” tab. Look for EMS and choose “8192″ (8MB). Apply and close.

My program runs… BUT.. In heavy computations (Correlation dimension, for example).. It gets HOT.

I open the system monitor, and it turns out there’s one CPU working at 100% capacity.

I close Windows, and click on Settings/System/Processor .. I chose 4CPUs. So that they can work in turns.

By the way, if anybody has worked on a topic like mine (pattern recognition, dynamic systems, non-linear time-series, attractors, multiphase gas-liquid flows, etc..), make yourself sparkle as Edward did in Twilight. I could ask a couple of questions.

D-Link DSL 2640U H/W: T1 F/W: ME_1.00

I have searched for that firmware EVERYWHERE.. The last place you want to look at is paradoxically on the D-Link websites. They are often down, if you’re lucky they’re slow.

They don’t have the firmware for that particular one (T1) easily reachable. They have all the rest, but not that one.

So, being in the habit of voiding the warranty of my electronic devices, doing tear-downs to tinker a bit .. I learned few things.

If you are like me looking for the firmware for THAT particular model, do a Google search with the following terms “gaw5.6t02-4-dl-r1b010″

Or if you are on the lazy side of the spectrum (Again, this is a D-Link website which should read “More often down than up”):

ftp://ftp.dlink-me.com/DLink_ME/ADSL/DSL-2640U/HW%20T1/Gaw5.6T02-4-DL-R1B010-ME.EN_whole_image(0222163812)%20(1).en_whole_image

EDIT: Having lost he firmware file, I wanted to download it again from the link I provided. Without success. D-Link website :) .. So I tried again, and again different days and hours. Until I succeeded.

Here is a Mediafire link: http://www.mediafire.com/?931zf4bsd2vlq5m

By the way .. “gaw5.6t02-4-dl-r1b010″ is something I have found in a sticker on the PCB.

I have also searched for all the parts that could be searched (Broadcom, especially).. And I have found a little shy serial port (4 pins) marked J3. It seems it’s a 3.3 volts that needs to be shifted in order to talk with a computer.

Here’s a post on Electro-Tech-Online

http://www.electro-tech-online.com/repairing-electronics/128328-d-link-dsl-2640u-h-w-t1-f-w-me_1-00-a.html

A Little Less Unsafe (Closing Telnet)

I use this port to play a little bit with the router, since it has a configuration board accessible. But, most of the time, I don’t use it and I don’t want anyone else to remotely use it, either.

We’re going to set a rule for the firewall to close communication in any direction on port 23. (telnet).

First, is the firewall enabled ?

sudo ufw status

If it’s not enabled, enable it :)

sudo ufw enable

Then:

sudo ufw deny in 23
sudo ufw deny out 23

sudo ufw deny in 21
sudo ufw deny out 21

sudo ufw deny in 1723
sudo ufw deny out 1723

If you scan your machine now, you won’t find anyone listening on these ports.

Moreover, I used “deny”. You could have used “reject”, but “reject” tells someone probing that you are denying traffic, whereas “deny” just ignores requests.

To limit the attempts (maximum is 6 in 30 seconds), useful to make it less easier to dictionary attacks.

Down The Road of Fake Flash Drives

This is great. I needed to transfer some files from my brother’s computer to mine. He runs Windows XP, I have a dual boot (XP and Ubuntu) but I booted with Ubuntu, and there’s no way I’m going to use Samba right now to allow file sharing between the two machines (Ubuntu & XP). Plus the files are too large to transfer over the network had I booted with XP.

I don’t want to upload them so I picked a flash drive (flash disk, thumb drive, pendrive, you name it) .. I plugged it and … nothing.

I picked another flash drive, plugged it and … Nothing. I know for fact that the USB port works fine (because I plugged another thing that works).

So the problem must lie in those flash drives… Which is probably the reason why they were sitting there…

So, knowing that some stuff just doesn’t work properly on Windows and does work fine on stuff with an X at the end of their name.. I plug the flash drive in my machine (running Ubuntu) .. Nothing.. I plug the other one, and then … Nothing.

Something is shady.

Now here’s the interesting stuff…

One of the flash drives is a ADATA C906, black color, 4GB. The other is a Kingston DataTraveler 1GB.

The Kingston picture is almost identical to the flash drive I have in hand, except that the one I’m holding has the Kingston logo on it..

So … In order to explain this, one must know what VID/PID is. Well, before you hit Ctrl+K and search for it in your Google bar .. VID stands for Vendor ID, and PID stands for Product ID.

Say I’m a manufacturer. The USB organization issues me a unique number, VID. When I build a new USB device, this device has its own drivers. I issue a PID for this new model so it’s fully identified with the pair VID:PID and when someone plugs it in a computer, this computer “knows” which driver to load, a driver that is unique to that Model from that Manufacturer…

So each USB device has a pair VID:PID.

I have another flash drive, which is an ADATA C802

Why I’m telling you this ?

Okay, let’s open the Terminal. (Ctrl+Alt+T)

The following command:

lsusb

gives this:

jugurtha@Jugurtha-Box:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 018: ID 125f:c82a A-DATA Technology Co., Ltd.

Here’s a screenshot if you prefer:

Notice the last line:

Bus 001 Device 018: ID 125f:c82a A-DATA Technology Co., Ltd.

The VID:PID is 125f:C82a. You can clearly see A-DATA Technology Co. , Ltd..

Chances are, this thing is genuine. I said “chances are”.

Let’s plug in the Kingston DataTraveler which doesn’t work.. And unplug mine, the one which works.

jugurtha@Jugurtha-Box:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 026: ID 2000:2008

Hmmm ? Interesting.

Let’s unplug that, and plug the other A-DATA..

jugurtha@Jugurtha-Box:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 019: ID 048d:1167 Integrated Technology Express, Inc.

This doesn’t make sense. It ‘should’ talk about A-DATA. But it doesn’t. Plus it doesn’t work.

A quick search on Google on 048d:1167 and 2000:2008 brings a great deal of awesomeness: Fake Flash Drives. These things are known and documented.

I opened the Kingston (because it does open without breaking, unlinke the A-DATA which is “welded”)

It contains a 12MHz quartz (oscillator). The memory reference has been erased, but it’s just one block.

The controller is a MXT6208A (Google returns lots of results about it. It seems known in those circles) .. The whole reference is, for memo:

MXT6208A 428021 09HT0901

Now .. The interesting stuff..

Apparently, there are a bunch of guys who repair this kind of devices..

One website is often referred to : http://flashboot.ru/

It’s in Russian, so Google Translate will come in handy.

Another good one is http://fixfakeflash.wordpress.com/

There is this one too: http://www.myblog.bloggybloggy.com/category/fake-usb-key/

So, key stuff: VID:PID 2000:2008, Controller Reference MXT6208A and the other 428021 09HT0901 to know exactly what to use.

Here’s someone detailing the operation:

I’ll try to do this on my brother’s computer and will report back…

Unfortunately, I spent some hours with that. These devices I think is beyond repair as even the proper tools failed. There were many errors. The devices were detected.

With the A-DATA drive, I had an error of “Too many bad blocks” and a size of 0.

With the other one, I had a “Make flash” and then an error 337,68 or something.

Anyway, maybe I’ll try some other time .. I must mention that I’m also interested in sniffing packets from USB ports .. That’s how I learned about the VID:PID thing in the first place.

Any comment, suggestion, advice .. Feel free.

Ubuntu: Read Only File System Error

I had this error which made it impossible for me to do anything:

I tried to change the “fstab” file, but I couldn’t, because I had this error.

sudo didn’t work, because I had this error.

I couldn’t use “make” to compile code I’m writing.

I tried booting in recovery mode, and chosing “drop root” .. But I had this error.

Solution:

When you turn your computer on, in the “grub” menu .. Chose “Previous Linux versions”.. Then chose the oldest one in recovery mode…

So for example, you’d find something like this:

Release 3.0.0-16
Release 3.0.0-16 recovery mode
Release 3.0.0-12
Release 3.0.0-12 recovery mode.


Chose the last one, Release 3.0.0-12 recovery mode

Then chose “Drop root” .. Then use the following command:

fsck -As

And chose yes to everything.

After it’s done, reboot normally. Perform an update:

sudo apt-get update

Perform an upgrade:

sudo apt-get upgrade

You’re done.

By the way, Ubuntu 12.04 has just came out a couple of days ago. It’s an LTS version (Long Term Support).

Change Boot Order & Disable Boot Disk Check on Ubuntu

Here’s a quick post.

I have a dual boot machine (Ubuntu 11.10 & XP SP3) .

How to change the default system which the machine boots on ?

When you’re on Ubuntu, Ctrl+Alt+T   (Open the Terminal)

Type the following:

sudo pico /etc/default/grub

You will be prompted for your password, enter it and hit Return.

You find a line called GRUB_DEFAULT=

And there’s a number after that. Change that number and you’ll change which system will boot.

For example, on the Grub boot manager, I have Ubuntu in the first position (0) and Windows XP on the 6th position (5) ..

In my case, this line is GRUB_DEFAULT=0 and Ubuntu boots up.

I don’t want the menu to be displayed for too long, so I have GRUB_TIMEOUT=1 .. This waits only 1 second before it boots.

After you change, you hit Ctrl+X to Exit.

It asks you if you want to save, press Y.

And then press Return/Enter.

Then this command:

sudo update-grub

You’re done.

Now for the disk check: This annoyed me, a lot .. So a little visit to fstab.

Look for a line like this

UUID=0de1480d-1b57-4dd3-9457-4cf899ef6817 / ext2 errors=remount-ro 0 0

The last 0 of the line means it won’t launch the disk check, this was set to 1 and I changed it to skip the test.

Do the same as for the grub (Ctrl+X, Y, Enter) and no need for updating it. On reboot, it won’t check your disk.

That’s it.