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
  • LASERCLASS 500
  • FP-L170/MF350/L380/L398
  • LC310/L390/L408S
  • PC-D300/FAX-L400/ICD300
  • L180/L380S/L398S

Comments Comments Off

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/libvmware-modconfig-console.so/libvmware-modconfig-console.so
    # 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/libvmware-modconfig.so/libvmware-modconfig.so

    as described here: https://bbs.archlinux.org/viewtopic.php?pid=974766#p974766
  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:
      vmware-716-kernel34.patch
      from http://blog.errorok.com/2012/07/07/262/
      This also includes patch-modules_3.4.0.sh script that does all the work – unpacking, patching, packing the sources back and running compilation.
    • Patches to vmblock and vmnet for kernel 3.12:
      vmblock-7.1.5-3.12.patch
      vmnet-7.1.5-3.12.patch
      from https://github.com/amitkr/vmware-patches
  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

    or
    $ 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
    # ./patch-vmware_for_kernel_3.11.sh
  4. Run VMware.

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

Comments Comments Off

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

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

Comments Comments Off