/g60

Fujitsu G60 Linux support

Primary LanguageCGNU General Public License v2.0GPL-2.0

G60 Linux support

This program replaces g60.ko shipped with the Fujitsu G60 SDK. g60.ko is a simple character device driver that proxies USB bulk transfers. We can do the same thing in userland with libusb, avoiding the need for kernel dependencies and all of the complications they cause.

g60cuse uses CUSE to create a fully functional /dev/g60 node, so that the existing Fujitsu software (F_G60DP2.exe and F_G60DP1.so) can be used without modifications.

Compiling

Prerequisites:

  • gcc/make/etc.
  • libusb 1.0 (will not work with the 0.1 API)
  • libfuse
  • autotools, git (for building from GitHub)

This was originally tested on Fedora 13, as that is the distribution targeted by the G60 SDK. The long term goal is to be able to use the G60 with any reasonably modern x86 Linux distribution. On Fedora use:

yum groupinstall "Development Tools"
yum install libusb1-devel fuse-devel autoconf automake git-all

On Debian/Ubuntu use:

apt-get install build-essential libfuse-dev libusb-1.0-0-dev autoconf automake pkg-config git

Build commands:

git clone git://github.com/cernekee/g60
cd g60
./autogen.sh
./configure
make

Usage

This starts g60cuse in the foreground, with USB tracing enabled:

sudo -s
killall -9 F_G60DP2.exe g60cuse
rmmod g60
./g60cuse -f --trace

Then run the G60 sample programs or applications.

If it cannot find the G60 device, run lsusb (from the usbutils package) and ensure that you see a line that looks like:

Bus 002 Device 007: ID 04c5:124a Fujitsu, Ltd

In production you probably want to run the G60 software as an unprivileged user; instructions can be found at the top of 55-g60-cuse.rules.

Credits

Copyright 2014 Kevin Cernekee <cernekee@gmail.com>

License: GPLv2

This program was derived from the CUSE example program, cusexmp.c, shipped with FUSE. Original copyright notices are at the top of the file.