Skip to content

wd719x: Introduce Western Digital WD7193/7197/7296 PCI SCSI card driver

Ondrej Zary linux-scsi lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2eeprom-93cx6: Add (read-only) support for 8-bit modedrivers/misc/eeprom/eeprom_93cx6.c include/linux/eeprom_93cx6.h+65 -10 replies
2/2wd719x: Introduce Western Digital WD7193/7197/7296 PCI SCSI card driverdrivers/scsi/Kconfig drivers/scsi/Makefile drivers/scsi/wd719x.c +1 more+1266 -01 reply

Reviews trailers per patch

1 of 2 patches has a Reviewed-by or Acked-by.

PatchChristoph Hellwig
1/2
2/2R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/2] wd719x: Introduce Western Digital WD7193/7197/7296 PCI SCSI card driver

Hello,
this is a new driver for Western Digital WD7193, WD7197 and WD7296 PCI SCSI controllers based on WD33C296A chip. These nice cards never worked good with Linux.

It's based on old and ugly wd719x driver written back in 2.0 days, then hacked to 2.2 and finally to 2.4 kernels. Most of the code is rewritten: from ~4100 lines to ~1200.

I've tested the driver on a WD7193 card with some hard drives and CD-ROMs:

QUANTUM  LP240S GM240S01X 4.6
IBM      0663L12          e g
IBM      DORS-32160       WA0A
SONY     CD-ROM CDU-55S   1.0t
SONY     CD-ROM CDU-415   1.1g

The card supports TCQ and linked commands (for cmd_per_lun > 1?) but I don't know how it should be implemented in a driver.

Device/bus/host resets seem to work fine when tested by sg_reset. But don't know how to test command abort.

The card requires firmware that can be cut out of the Windows NT driver that can be downloaded from WD at:
http://support.wdc.com/product/download.asp?groupid=801&sid=27&lang=en
There is no license anywhere in the file or on the page - so I guess that the firmware cannot be added to linux-firmware.

This script downloads and extracts the firmware:

#!/bin/sh
wget http://support.wdc.com/download/archive/pciscsi.exe
lha xi pciscsi.exe pci-scsi.exe
lha xi pci-scsi.exe nt/wd7296a.sys
rm pci-scsi.exe
dd if=wd7296a.sys of=wd719x-risc.bin bs=1 skip=5760 count=14336 dd if=wd7296a.sys of=wd719x-wcs.bin bs=1 skip=20096 count=514 rm wd7296a.sys

Signature · 1 line
Ondrej Zary