TTPod restricted ip address…

So my wife loves this Chinese application TTPod, which lets you listen to music.  And oh joy last night it suddenly stops working because of an error of “invalid ip address”.

Well it seems that the application will now only fully work in China.  Even though we are in a SAR (Hong Kong) it isn’t good enough it would seem.

I haven’t used Pandora in ages, and I thought I’d try that to get the same thing.

So for people who like this kind of thing, (esp my wife who just must have facebook while we are in China) I use OverPlay which has VPN endpoints in numerous countries, and supports things like OpenVPN & PPTP which is perfect for devices like iPhone & Android Phones.  So I can still get my BBC & CBC Fix, along with access to my Hulu subscription while abroad.

I swear that IP restrictions are so retarded, all they do is make you funnel traffic to get around them, and punish expats.

rtl8139 drivers..

I don’t know why but looking for working rtl8139 drivers for OS/2 and Windows NT 4.0 has proven to be more difficult than it should have been…

But what I’ve found is that the file “oem-8139(500).zip” on realtek‘s site basically contains everything! (well old stuff).

C:.
├───BROM
├───CLIENT32
├───DMI
│ ├───95LOADER
│ ├───NTLOADER
│ ├───WINEXE
│ └───WINSYS
├───FREEBSD
├───LINUX
├───MACOS
├───MACOSX
├───MSLANMAN.DOS
│ └───DRIVERS
│ ├───ETHERNET
│ │ └───RTL8139
│ └───NIF
├───MSLANMAN.OS2
│ └───DRIVERS
│ ├───ETHERNET
│ │ └───RTL8139
│ └───NIF
├───NDIS2DOS
├───NDIS2OS2
├───NT351
├───NWCLIENT
│ ├───DOS
│ └───OS2
├───NWSERVER
│ ├───311
│ ├───312
│ ├───40
│ ├───41X
│ └───42_5X
├───RTOS
├───RTSPKT
├───SCO
│ ├───4.X
│ ├───5.X
│ └───TXT
├───TXT
│ ├───GENERAL
│ ├───IBM
│ ├───MS
│ ├───NETWARE
│ ├───OTHERS
│ └───UNIX
├───UW7
├───W95OSR2
├───WFW311
├───WIN2000
├───WIN95A
├───WIN98
├───WINDIAG
├───WINME
├───WINNT4
└───WINXP

I don’t know if the link will last, but click here, and look for “OEM disk for users and manufacturers (LAN Card)”

Qemu 0.15.1 patched

I went ahead and slapped together a bunch of favorite patches to Qemu that I seemed to not have put in all together… so here we go the i386 version…..

  • AdLib! enabled
  • NE2000 set to 0x320 IRQ 10
  • GNS udp
  • control+alt+d to do a CAD
  • control+alt+r to reset
  • ISA Cirrus VGA adapter (CLGD5426)

I’ve also found for Windows 95, that if you set the graphics one notch off of full acceleration  that the mouse pointer will ‘work’ …

Of all the testing Iv’e done so far, it’s just been with Windows 95, the soundblaster/adlib works along with the networking (NAT) as I installed IE 3.01 for good measure.

For those who are interested, my build is available here, and the patch is here.

The ISA Cirrus VGA is enabled with -vga isacirrus … Enjoy!

Dell UNIX Lives Again!

(please note that this is a guest post from Antoni Sawicki)

Dell UNIX is so ultra rare among rare Unix species that it doesn’t even have a Wikipedia entry. I have been hunting this elusive but important piece of computer history for well over 15 years now. Fortunately thanks to Charles H. Sauer and his excellent blog post I was finally able to lay my hands on disk and tape images and the restoration process begun.

The install tape

The system can be installed from either a tape or network server (presumably NFS). Unfortunately no virtualization software can emulate a tape drive. Hopes for a network install are even slimmer since the required network support floppy disk has been lost and chances of suitable Ethernet driver working in Bochs or Qemu are equal to that of finding the lost floppy disk.

I have decided to try a hard disk image from a readily pre-installed system. The original Dell 486 workstation had a 1GB SCSI hard disk. Unfortunately neither Dell UNIX supports LBA mode nor Qemu/Bochs support the Adaptec 154x controller required by the OS.

As all normal install options have been exhausted, the only option left was to use a second hard disk image as source of cpio archive files. Booting from the two install floppies and attaching two disk images was a snap. The next step was to inject the tape “file” in to a right place on the disk, so it can be read by cpio command. A hard disk in Dell UNIX is pretty much unusable without a valid SysV partition and VTOC. Fortunately dellsetup command does it all for you. Once VTOC was put in place I’ve attached the transfer disk image as a loopback device in my host OS. In couple of iterations I was able to aim the host os dd if=file1 of=/dev/loop0 bs=512 seek=offset at the right place, which you work out using prtvtoc /dev/rdsk/1s0 command. Then cpio -ict < /dev/dsk/1s1 was able to list contents of the emulated tape… with errors…

In my infinite wisdom, for some unknown reason I’ve assumed that LBA addressing is required above 540MB. So to be on a safe side I have made the hard disk images 512 MB. What a mistake it was! I have lost several hours trying to figure out cpio header errors coming from the disk… By pure coincidence, while the tape archive was installing (with errors) I was researching for this very blog article and found that LBA starts at 504 MB… Recreating the hard disk images just few MB smaller took all tape and prior boot problems away!

Once the cpio archive was extracted I have made few final touches taken from the original tape install script. After a reboot Dell UNIX booted perfectly. You can experience this by using the firstboot image file. The final part of installation was injecting the second tape file containing System V PKG file to the transfer disk image and running pkgadd -d /dev/dsk/1s1. This is what’s included on allsoft.img.

Dell Unix at First Boot

Some final notes on running the OS:

  • To enable mouse to work:
    • Qemu just add “-chardev msmouse,id=msmouse -device isa-serial,chardev=msmouse” to the launch arguments.
    • Bochs add to the config file:
      mouse: type=serial, enabled=1      
      com1: enabled=1, mode=mouse
      then you have to kill mousemgr process and prevent from starting by deleting /etc/rc2.d/S25mse
      then edit /usr/lib/X11/Xconfig:
      disable Xqueue      
      enable Microsoft Mouse
  • To enable keyboard to work correctly in VirtualBOX start with Num Lock OFF.
  • You can use qemu-img utility to convert the image to VMware vmdk to use in VirtualBox.
  • To run X window type startx

X11 and all its glory

  • To attach it to internet use SLIP as there is no working Ethernet driver.  Contrary to most UNIXen of the time, the command is not slattach, but rather slipattach.  Thankfully it does work the same way.  I have found that running Dell Unix with VirtualBOX, along with Windows NT 4.0 I was able to connect into the Dell Unix VM, and get network access.  Just set the two VM’s up for a named pipe (\\.\pipe\dellunix) and make one of them a server, and start that VM 1st.  The steps to prepare Windows NT have been outlined before.

Telnet via SLIP

Legal disclaimer: Dell UNIX is a commercial software and should not be distributed without manufacturers permission. However as the operating system has been dead for 20 years and with a long tradition from Unix Heritage Society and Bitsavers I’m publishing this in good faith under abandonware category. If Dell or any other copyright holder wishes this software removed, please let me know.

Attached are:

  • firstboot image
  • all (pkg) software installed
  • setup instructions if you wish to install from scratch.

Download:

You may also be interested in my post about a sister System V operating system – Interactive UNIX:

Update: Dell Unix now runs on 86Box with higher resolution and proper networking.

QuakeWorld for DOS updates..

Remember my old Quake port to MS-DOS that included that WatTcp package so that you could play on the internet under glorious MS-DOS?  Well it’s kind of taken a life onto its own, and thanks to the hard work of Frank Sapone, it picked up all kinds of updates including:

Whew isn’t that great?

I’ll have to check to see how much of this I can backport to OS/2

You can download it, and more here.  And in the meantime I’ve put up my server on 68.68.97.224 … Enjoy!

Qemu 0.13 for GNS3

So I’ve been playing with GNS3 here and there and the #1 thing that is annoying is of course how difficult it is to deal with the CAD problem (Control Alt Delete) esp when dealing with anything Windows NT based.  So I’ve taken my SDL keyboard patches, “fixed” the NE2000 (although enabling that is another story) and made my build available here.

Of course the real work, adding in the UDP networking was done on the GNS user forums, but it sure is nice to be able to quickly login to a test Windows 2000 AD setup…  I don’t know if it’ll interest the rest of you but I thought it was pretty neat.

Now what would be really cool would be to take the ‘Ethernet hub’ of GNS3, and make it into a service, alter Qemu to generate a random MAC and make a real distributed network…. Another thing would be a way to take SLIRP and merge it with the NetUDP to make some kind of real world ‘NAT’ type thing.  Although I guess I could always add some extra flags to the Qemu process to include a second NIC and set it up for ‘user’ networking … something like “ -net nic,model=pcnet,vlan=1 -net user,vlan=1” to add an AMD PCNet card that talks to the ‘user’ or NAT networking component…

A super simple network with OS/2 Qemu!

GNS3

Inspired from this video, I have to admit I’m really impressed how GNS3 can now network between dynamips router instances, and Qemu … So I grabbed an old IOS version from a 7200, and fired up Qemu with NT 4.0 and built a super simple network.  Because it won’t let you hotplug cables between hosts, I figured I’d just go ahead and add switches everywhere.  So bottom line is that I setup a super simple network, and I can ping/telnet to the routers from NT.  This could even be used to build more complicated networks, but as always people seem to get more excited about doing ‘pings’ through the network, and overlook actual USER traffic…

GNS3 uses a custom build of Qemu 0.11.0, which I may have to feel the need to modify it for some control-alt-delete fun, along with making sure the ISA NE2000 is on an agreeable port/IRQ.

 

 

cloning an IDE Linux machine with netcat

I’ve ran into some weird instance of this old RedHat Linux machine that is starting to die.. The old 30GB disk is clicking rather loudly…!

To make matters worse, the computer is not only in another country but on another continent.  And no the users won’t let me take it down, ship it or let local techs work on it, they want it virtualized, and they want it to be done without taking it down…

All I have to work with is an old Windows 2003 server with a big external USB disk, and I don’t even have administrator privileges on the 2003 server so I can’t install anything ‘fun’ like VMWare, VirtualPC, VirtualBOX or anything else.

So I thought I’d go old school with this and use netcat.

Thankfully there is a win32 version of netcat, and the Linux PC already had it installed.  So it really was trivial I must say knowing what to do once all the bits are in place.  From the Windows machine I just ran:

nc -p 2222 -l |gzip -dc > disk0.raw

And on the Linux PC I ran:

cat /dev/hda | gzip -c | netcat 10.0.1.10 2222

So on the Windows side, netcat will listen on TCP port 2222 and then decompress the stream with gzip and save that into the file disk0.raw.  On the Linux side, it’ll read the harddisk, compress the data with gzip and then using netcat redirect the stream to the Windows host.

It took about 30 minutes, I suppose if the disk wasn’t in a questionable state I’d have cleared out the empty space to speed it along, however I felt that doing a large amount of writing to a questionable disk is just asking for trouble.

Once the transfer was complete I was able to then fire up Qemu 0.15.0, and have it mount the raw disk image, and it worked perfectly!  I added the modules for the AMDPCNet card (pcnet32) and I was able to use the user mode NAT via Qemu, and redirect a local TCP port into the VM’s sshd …. Something like this:

qemu -L pc-bios -m 256 -net nic,model=pcnet -net user -hda disk0.raw -no-reboot -redir tcp:3333::22

And that was that.  Now we have a perfect copy of the machine!

BBS’ing with Windows/386 & Windows 3.0 under Qemu or how I learned to love rlfossil

A while back I had seen this fantastic site, “Hates the internet” with a great write up on setting up a BBS on Qemu. In retrospect it did inspire me a bit later to get my BBS going with Qemu, but I chose to use OS/2 once I found out about SIO’s vmodem feature.

HTI (Hates the internet) chose this program called rlfossil, which is for MS-DOS..

RLFOSSIL is an implementation of multi-line serial port driver corresponding to the Fido/Opus/Seadog level 5 specification and a simple HAYES-compatible modem emulator. It allows applications usually worked through BBS’s to run on the Internet, or in IP-based local net.er, and rlogin and telnet emulation using IP services numbers 513 & 23. RLFOSSIL allows combined work with other FOSSIL drivers (X00,BNU etc.).

So, I thought between that, and all the Windows/386 excitement I’d try for something even more insane. How about running a multiline BBS on Windows?

In the same effort, I was going to use Qemu 0.14.1, with MS-DOS 4.01 (the first version I could find that came with share.exe), and Windows/386 2.11. The installation of MS-DOS 4.01 worked fine on an 80MB disk image, thankfully it was one of the things that DOS 4 could do better than 3 is large disk images… Yes, I know 3.31 could as well, but it didn’t come with share so it was out.  One strange thing after install was this message…

It is kind of foreboding that DOS is warning me that because of my “large” disk I better run share. Since I plan on having a multi node BBS all in one computer, I need to run share anyways.

The next exciting part was installing Windows/386 2.11. The installation went pretty smooth, and with Qemu the mouse worked fine.  So far, so good.  I couldn’t use himem.sys that comes with Windows/386, nor could I use the himem.sys that comes with MS-DOS as the Windows/386 version complains that that A20 line is already active (?) and the MS-DOS one has Windows complaining that the HMA is already in use. Sadly, then my conventional memory footprint will be unsatisfactory, but I don’t see any way around it.

The next part is configuring rlfossil. rlfossil needs a driver to talk to the network card, and you can find them on crynwr, namely the ‘other‘ packet archive, which contains NE2000 drivers.  Keeping with HTI, I’m going to use the NE2000 and configure Qemu with the PCI NE2000 driver.

Packet drivers are loaded from the command line something like this:

ne2000 0x60 11 0xc100

This loads the driver on software interrupt 0x60, and by default the PCI NE2000 is configured for IRQ 11, port 0xc100.  Qemu 1.6.0 changed the PCI NE2000 to use port 0xc000 for what it is worth..

So keeping with the HTI tradition, I’m going to put my packet driver (ne2000.com) and unpack the rlfossil archive in c:\packet. The next thing to do is configure rlfossile which uses the wattcp configuration file.  Since I’m going to use the usermode NAT and a redirect, I configure my VM like this:

Wattcp.cfg

Address:10.0.2.15
Netmask:255.255.255.0
Gateway:10.0.2.2
DNS: 10.0.2.3

With that all in place now it’s time to configure the config.sys/autoexec.bat.  Some things are going to be different from a normal install because we plan to run a BBS, and multiple instances of it!

So my config.sys looks like:

FILES=96
STACKS=0,0
DEVICE=C:\DOS\ANSI.SYS
SHELL=C:\COMMAND.COM /P /E:768

And my autoexec.bat is like this:

PATH C:\WIN386;C:\DOS
PROMPT $P$G
SHARE
SET TEMP=C:\TEMP
CD \PACKET
NE2000 0x60 11 0xC100
RLFOSSIL 0 4 WIN386

And of course launching Qemu I do it like this:

qemu.exe -L pc-bios -m 16 -net nic,model=ne2k_pci -net user-redir tcp:23::23 -hda telegard.qcow2

This configures the VM for 16MB of ram (which would have cost a FORTUNE back then), the PCI NE2000, and it’ll redirect telnet from my host machine into the VM.

And just like HTI, I went with telegard, because it supports fossil based ports.

Well that sure was a *LOT* of work, and surprisingly testing it with a single node, actually works.  And you can bring up a few other MS-DOS prompts and it’ll work fine. But if you launch the second node…

Disaster struck.  So needless to say, while Windows/386 was pretty slick for the day it just couldn’t measure up.  So I figured for the hell of it, I’d try Windows 3.0 Â I mean I would have imagined that Windows 3.0 most certainly could NOT handle this kind of challenge.

So with some disks shuffled, I fired it up and..

Two node telegard under Windows 3.0

It actually worked!  So with a LOT of chaos going on I managed to get Trade Wars 2002 running, although I couldn’t figure out how to automatically figure out the node.. Hell the whole door configuration thing is.. bizarre. Synchronet really kicks ass in regards to easy of configuration.

Running TW2002, two copies

And using PIF’s to configure each node for some easy of launching, and some reduced memory, I could easily run all four nodes that rlfossil can support.

Four Nodes!

I have to admit, Windows 3.0 really is impressive considering all the UAE’s and how generally crappy we thought it was at the time.  I’m sure even emulated having a multiple Ghz cpu helps quite a bit.

460KB free!

And look at all that memory.. I guess it’s pretty impressive it even works.  Since Windows anything throttles the CPU at 100% I’m not going to put this online…. Although at the same time combined with an CPU idle program (is there a Windows 3.0 idle vxd?) it sits ok, but who wants a single user system in 2011?