njbfs 0.1 The initial version of the Linux file system for Creative Nomad Jukebox
njbfs is a kernel module to support Linux users using the NJB. njbfs wants be become an alternative for Linux users to gain full access of the NJB capabilities without the need of MS-Windows, PlayCenter software, whatsoever.
The goal is to read and write tracks, playlists, and raw data in a way to get most usability of the NJB.
njbfs is a file system including a driver. The driver is untested and authored by Karl Backstrom. I don't know how applications from user space can make use of the driver without a file system, but it should be generally possible to write other user space programs as high-level file systems using the /dev/usb/nomad devices.
A file system hides the protocol which is needed to communicate with the NJB. It should not be up to the user to think about the handling of files transferring them to and from the NJB, so a file system has advantages over closed applications including separate high-level drivers.
The NJB has a harddisk with a propriatery file system. The approach to implement the Linux njbfs is kind of a 'mirror' filesystem, using a cache mechanism on the host, and remotely controlling the NJB sending the appropriate coontrol codes.
Creative does not support third party software development for their devices. The use a hidden protocol how to provide the firmware with the right commands for uploading and downloading tracks, and a software called "Playcenter" for Windows to manage the NJB. The consequences are that you as a customer are bound to Microsoft Windows, even if you try only to use your NJB, and the situation is helpless if there is no Windows host around with USB support.
Because of this, the njbfs file system is open source and licensed with the GPL because this model certainly guarantees most rights of the NJB community, that is to enable the latest and richest driver implementations for the NJB.
Visit the njbfs project page at Sourceforge if you want to join the project.
Jörg Prante (joergprante@gmx.de)