
         WorkBiT NinjaSCSI-3/32Bi driver for Linux

1. Comment
 This is Workbit corp.'s(http://www.workbit.co.jp/) NinjaSCSI-3
(http://www.workbit.co.jp/ts/z_nj3r.html) and NinjaSCSI-32Bi
(http://www.workbit.co.jp/ts/z_njsc32bi.html) PCMCIA card driver module
for Linux.

2. My Linux environment
Linux kernel: 2.4.7 / 2.2.19
pcmcia-cs:    3.1.27
gcc:          gcc-2.95.4
PC card:      I-O data PCSC-F (NinjaSCSI-3)
              I-O data CBSC-II in 16 bit mode (NinjaSCSI-32Bi)
SCSI device:  I-O data CDPS-PX24 (CD-ROM drive)
              Media Intelligent MMO-640GT (Optical disk drive)

3. Install
[1] Check your PC card is true "NinjaSCSI-3" card.
    If you installed pcmcia-cs already, pcmcia reports your card as UNKNOWN
    card, and write ["WBT", "NinjaSCSI-3", "R1.0"] or some other string to
    your console or log file.
    You can also use "cardctl" program (this program is in pcmcia-cs source
    code) to get more info.

# cat /var/log/messages
...
Jan  2 03:45:06 lindberg cardmgr[78]: unsupported card in socket 1
Jan  2 03:45:06 lindberg cardmgr[78]:   product info: "WBT", "NinjaSCSI-3", "R1.0"
...
# cardctl ident
Socket 0:
  no product info available
Socket 1:
  product info: "IO DATA", "CBSC16       ", "1"


[2] Get the Linux kernel source, and extract it to /usr/src.
    Because the NinjaSCSI driver requires some SCSI header files in Linux 
    kernel source, I recommend rebuilding your kernel; this eliminates 
    some versioning problems.
$ cd /usr/src
$ tar -zxvf linux-x.x.x.tar.gz
$ cd linux
$ make config
...

[3] If you use this driver with Kernel 2.2, unpack pcmcia-cs in some directory
    and make & install. This driver requires the pcmcia-cs header file.
$ cd /usr/src
$ tar zxvf cs-pcmcia-cs-3.x.x.tar.gz
...

[4] Extract this driver's archive somewhere, and edit Makefile, then do make.
$ tar -zxvf nsp_cs-x.x.tar.gz
$ cd nsp_cs-x.x
$ emacs Makefile
...
$ make

[5] Copy nsp_cs.ko to suitable place, like /lib/modules/<Kernel version>/pcmcia/ .

[6] Add these lines to /etc/pcmcia/config .
    If you use pcmcia-cs-3.1.8 or later, we can use "nsp_cs.conf" file.
    So, you don't need to edit file. Just copy to /etc/pcmcia/ .

-------------------------------------
device "nsp_cs"
  class "scsi" module "nsp_cs"

card "WorkBit NinjaSCSI-3"
  version "WBT", "NinjaSCSI-3", "R1.0"
  bind "nsp_cs"

card "WorkBit NinjaSCSI-32Bi (16bit)"
  version "WORKBIT", "UltraNinja-16", "1"
  bind "nsp_cs"

# OEM
card "WorkBit NinjaSCSI-32Bi (16bit) / IO-DATA"
  version "IO DATA", "CBSC16       ", "1"
  bind "nsp_cs"

# OEM
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-1"
  version "KME    ", "SCSI-CARD-001", "1"
  bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-2"
  version "KME    ", "SCSI-CARD-002", "1"
  bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-3"
  version "KME    ", "SCSI-CARD-003", "1"
  bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-4"
  version "KME    ", "SCSI-CARD-004", "1"
  bind "nsp_cs"
-------------------------------------

[7] Start (or restart) pcmcia-cs.
# /etc/rc.d/rc.pcmcia start        (BSD style)
or
# /etc/init.d/pcmcia start         (SYSV style)


4. History
See README.nin_cs .

5. Caution
 If you eject card when doing some operation for your SCSI device or suspend
your computer, you encount some *BAD* error like disk crash.
 It works good when I using this driver right way. But I'm not guarantee
your data. Please backup your data when you use this driver.

6. Known Bugs
 In 2.4 kernel, you can't use 640MB Optical disk. This error comes from
high level SCSI driver.

7. Testing
 Please send me some reports(bug reports etc..) of this software.
When you send report, please tell me these or more.
	card name
	kernel version
	your SCSI device name(hard drive, CD-ROM, etc...)

8. Copyright
 See GPL.


2001/08/08 yokota@netlab.is.tsukuba.ac.jp <YOKOTA Hiroshi>
