Do you have a set of Windows 95 install floppies but one of them is missing/damaged? If they’re english, you can most probably download the images somewhere. But I haven’t found Czech anywhere.

The other option is to recreate it using Diamond Disk Layout Tool 1.00.0530 – the same that Microsoft used to build the original CABs (see LAYOUT.INF). Microsoft released the tools long time ago as MCABIN10.ZIP.

This is an example how I recreated missing disk 9 from Czech Windows 95 OEM (RTM – first release – version 4.00.950).

Rebuilding CAB files

Create a working directory, unzip MCABIN10.ZIP there, create SOURCE and OUT subdirectiories.

First, get the original files – e.g. from a CD of the same release and language version as your Windows 95 floppies. Some are available at WinWorld.

The files in CABs on the CD are in the same order as on the floppies (except there are some extra files at the end) – that’s great as the ddf can be rebuilt. Extract the CABs from the CD to the SOURCE subdirectory and save the file list (as it comes out of extract). You can use my WIN95.DDF file (for Czech Windows 95 RTM OEM) as a base to create your own using the file list you saved (note the .New Disk command which ends PRECOPY2.CAB to begin

Finally, run the process to create the CAB files in OUT subdirectory:

diamond /f win95.ddf


Rebuilding PRECOPY

If you need PRECOPY1.CAB or PRECOPY2.CAB, you need to rebuild them as MS probably did that too before releasing at least some versions of Windows 95 (PRECOPY2.CAB is not forward-linked to WIN95_02.CAB but WIN95_02.CAB is backward-linked to PRECOPY2.CAB). My PRECOPY.DDF.

diamond /f precopy.ddf


Finalizing the CAB files

Recreated WIN95_02.CAB is not identical to the original one (don’t know why) but other CABs are – with one exception – the setID (two bytes at offset 20h) which is randomly generated. Use hex editor to edit the setID (two bytes at offset 20h) to match the original files. Finally, set the file modification time (using e.g. Volkov Commander).

Creating the floppy

  1. Use WinImage (8.1 if you’re doing this on Windows 9x/ME) to format a floppy in DMF 2048 (2048B cluster size) format.
  2. Copy the required CAB file there and label the floppy (in my case: label a: W95OEMCSD9).
  3. Use disk editor to edit the label date/time to match the file.
  4. Copy the boot sector from another floppy in the set. This makes the floppy read-only for Windows.

Comments Comments Off on Creating missing Windows 95 install floppy

Instead of providing more patches for VMware modules, I’ve set up a git repository on GitHub that contains the patched modules. The patches up to 3.16 were split into separate commits and cleaned up. New patches were added to support kernels up to 4.4. Preprocessor macros were added to allow even the latest module version to compile with older kernels (tested back to 2.6.38).

Comments Comments Off on Running VMware Workstation 7.1.6 or Player 3.1.6 with kernel 4.2

  1. Make sure you have Firefox, Java Runtime Environment and Java plugin for Firefox. In Debian, you need these packages:
    • iceweasel
    • openjdk-7-jre
    • icedtea-7-plugin
  2. DRAC 4 only supports SSLv3 and TLS 1.0 but they’re disabled in recent Firefox/Iceweasel versions – you get Secure Connection Failed error. To fix it, go to about:config and set security.tls.insecure_fallback_hosts to a comma separated list of hosts you want connect to (e.g., You can now connect and login to DRAC 4.
  3. DRAC 4 only supports SSL_RSA_WITH_RC4_128_MD5 and SSL_RSA_WITH_RC4_128_SHA cipher suites but they’re disabled in recent Java versions – you get an exception and Unknown Main-Class error if you try to open console. To fix it, enable SSL_RSA_WITH_RC4_128_MD5 cipher suite by setting
    in ~/.icedtea/ (Debian Wheezy) or ~/.config/icedtea-web/ (Debian Jessie). Make sure everything is on single line and there are no spaces around the commas. You can also set it using itweb-settings (JVM Settings->Set JVM arguments for plugin) but there’s a bug – a backslash is prepended before equal (=) sign in so you have to edit the file then.
  4. Console will not open from the DRAC web interface, you have to enter URL manually (e.g. You may want to bookmark it.

Comments Comments Off on Accessing DRAC 4 from recent Linux distributions

An updated patch is available to make VMware Workstation 7.1.6 or Player 3.1.6 work with kernel 3.16: vmware-patch_for_kernel_3.16.tar.gz

This time, I’ve created the patch myself as there were no patches available on the web.

If you used the previous patch for kernel 3.11, go into /usr/lib/vmware/modules, move the already-patched files out of the way and copy the unpatched files to their original location:
# cd /usr/lib/vmware/modules/
# mv source source-3.11
# cp -a source-player3.1.6-something-backup source

The install instructions are same as before, just replace 3.11 with 3.16:
$ tar xf vmware-patch_for_kernel_3.16.tar.gz
# cd vmware-patch_for_kernel_3.16
# ./

Tested with Debian Wheezy using kernel 3.16 from wheezy-backports.

Comments Comments Off on Running VMware Workstation 7.1.6 or Player 3.1.6 with kernel 3.16

I’ve reverse-engineered CARPS data format used by some Canon printers and created a CUPS driver called CARPS-CUPS. These printers can now print from Linux!

Tested on MF5730. Printers that use the same data format and should work:

  • MF5750
  • MF5770
  • MF5630
  • MF5650
  • MF3110
  • imageCLASS D300
  • FP-L170/MF350/L380/L398
  • LC310/L390/L408S
  • PC-D300/FAX-L400/ICD300
  • L180/L380S/L398S

Comments Comments Off on CUPS driver for Canon CARPS printers

If you need to run VMware Workstation 7.1.6 or Player 3.1.6 (because newer versions require virtualization support in CPU) with recent kernels, you will run into several problems:

  1. If you use kernel with just two-number version (e.g. 3.11), VMware refuses to compile the kernel modules because it expects three numbers in kernel version (e.g. 3.2.0). This can be solved by patching VMware binary files:
    # sed 's/\x83\xe8\x03\x83\xf8\x01\x0f\x96\xc0/\x83\xe8\x02\x83\xf8\x01\x0f\x96\xc0/' -i /usr/lib/vmware/lib/
    # sed 's/\x83\xe8\x03\x83\xf8\x01\x0f\x96\xc0/\x83\xe8\x02\x83\xf8\x01\x0f\x96\xc0/' -i /usr/lib/vmware/lib/

    as described here:
  2. If you attempt to compile the modules manually, it will fail because they use deprecated kernel functions. This can be solved by applying some patches to the module sources:
    • Patch that updates the modules to work with kernel 3.4:
      This also includes script that does all the work – unpacking, patching, packing the sources back and running compilation.
    • Patches to vmblock and vmnet for kernel 3.12:
  3. VMware fails to find kernel header files because it searches for version.h file at /lib/modules/`uname -r`/build/include/linux/version.h. This can be easily solved by creating a symlink to the new file location:
    ln -s /lib/modules/`uname -r`/build/include/generated/uapi/linux/version.h /lib/modules/`uname -r`/build/include/linux/version.h

I put everything together and created a package of the above patches and modified script that does everything automatically: vmware-patch_for_kernel_3.11.tar.gz

  1. Make sure you have gcc and kernel headers for the currently running kernel installed:
    # aptitude install linux-headers-`uname -r`
  2. Install VMware:
    $ kdesu ./VMware-Player-3.1.6-744570.i386.bundle

    $ gksu ./VMware-Player-3.1.6-744570.i386.bundle
  3. Unpack and apply the patches:
    $ tar xf vmware-patch_for_kernel_3.11.tar.gz
    # cd vmware-patch_for_kernel_3.11
    # ./
  4. Run VMware.

Tested with Debian Wheezy using kernel 3.11 from wheezy-backports.

Comments Comments Off on Running VMware Workstation 7.1.6 or Player 3.1.6 with kernel 3.11

A new utility was released – cx861xx_flash – Conexant CX861xx USB Boot Flash Utility. It can access flash on devices with CX86111/CX86113, such as Flarion Desktop Modem.

Comments Comments Off on cx861xx_flash – Conexant CX861xx USB Boot Flash Utility

usbmonctl v1.3 released, adding EIZO FlexScan HD2441W and S1921 control descriptions.

Comments Comments Off on usbmonctl v1.3