7193 and driver
Juergen Gaertner
gaertner at mbox.si.uni-hannover.de
Tue Jun 8 13:31:56 PDT 1999
Johnny Teveßen schrieb:
>
> Hi!
>
> I've got a WD 7193RTL PCI card and Linux-2.2.9. I downloaded the
what's that? ---^^^
> patch for Linux-2.1.54 (and changed it to match) and the latest
> driver (1998/03/29). I had to change some things in the driver
> to make it compile/work in Linux-2.2.9.
Perhaps you can send me the patch? What do you changed in the driver?
>
> Okay, my card is detected as 7193 after I changed the code to
> recognize the device id "0x3296" instead of 0x3197 as WD
> cards. In fact, my /proc/pci (yes, it is obsolete) says:
>
> Bus 0, device 3, function 0:
> SCSI storage controller: Western Digital Unknown device (rev 0).
> Vendor id=101c. Device id=3296.
> Medium devsel. IRQ 9. Master Capable. Latency=64. Min Gnt=5.Max Lat=6.
> I/O at 0xec00 [0xec01].
> Non-prefetchable 32 bit memory at 0xebfeff00 [0xebfeff00].
that's fine
>
> My problem now is that I get a "WCS checksum error" because the
> card returns a 0x00 data status ("no interrupt pending") instead
> of a 0x01 ("ok") after the ENABLE_ADVANCE_MODE command. And the
> Linux interrupt counter in /proc also says that IRQ 9 has never
> been triggered (maybe I'm confusing something with internal
> Spider interrupts here?).
that's bad. Think it's the new SMP-Interrupt sheme.
>
> Removing the check of the return code results in a frozen Linux.
>
> Also, I added the "Error code:" debug output.
>
> Here are the logs so far:
>
> Jun 8 18:09:04 trib0026 kernel: wd719x: detect: found card 0 at index 0, reading bus now...
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: Adapter scsi_id is: 0x87
...
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: time is 626529 jiffies
> Jun 8 18:09:04 trib0026 kernel: wd719x: RISC 'Before DMA-Load RISC'
> Jun 8 18:09:04 trib0026 kernel: wd719x: CMD bytes: CMD1:1 CMD2:0 CMD3:14 CMD4:ff
> Jun 8 18:09:04 trib0026 kernel: wd719x: Pointer: in:c0b68000, response:50b68.
> Jun 8 18:09:04 trib0026 kernel: wd719x: Status: PC_Op:80 SCSI:0 SCB:0 INT:0
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: time is 626529 jiffies
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: try to DMA-Load RISC
> Jun 8 18:09:04 trib0026 kernel: wd719x: RISC 'After DMA-Load RISC'
> Jun 8 18:09:04 trib0026 kernel: wd719x: CMD bytes: CMD1:1 CMD2:0 CMD3:14 CMD4:ff
> Jun 8 18:09:04 trib0026 kernel: wd719x: Pointer: in:c0b68000, response:50b68.
> Jun 8 18:09:04 trib0026 kernel: wd719x: Status: PC_Op:80 SCSI:0 SCB:0 INT:0
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: time is 626529 jiffies
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: trying to initialize RISC
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: time is 626529 jiffies
> Jun 8 18:09:04 trib0026 kernel: wd719x: RISC 'after INI_RISC'
> Jun 8 18:09:04 trib0026 kernel: wd719x: CMD bytes: CMD1:1 CMD2:80 CMD3:14 CMD4:ff
> Jun 8 18:09:04 trib0026 kernel: wd719x: Pointer: in:c0b50000, response:50b68.
> Jun 8 18:09:04 trib0026 kernel: wd719x: Status: PC_Op:80 SCSI:0 SCB:0 INT:0
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: time is 626529 jiffies
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: try to go to advanced mode
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: WCS Checksum Error
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: Error code: 0x00
> Jun 8 18:09:04 trib0026 kernel: wd719x: init stalled!
> Jun 8 18:09:04 trib0026 kernel: wd719x: detect: retrying ini 1 time(s).
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: RISC-Type: 1; fw_release: 3e!
did you tried FW 3a? (you can change this in the source code
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: time is 626529 jiffies
> Jun 8 18:09:04 trib0026 kernel: wd719x: init: WCS_CODE_SIZE: 516;risc_sz: 13312; s_of(H_P): 20; total: 13848
> [... and so on; 4 or 5 tries, then:]
>
strange... the jiffies are not increasing... normaly I have some delay when
loading the risc. This may be a timming problem. Oh no, not the good old f***ing
problem again...
>
> Hope that helps. Are there any yet unpublished code changes? And:
> Where can I download a copy of this mailinglist's archive?
The newest code (as of 4th April 1998) can be found in
http://schering.si2.uni-hannover.de/stuff/gaertner/WD719X/Linux/4.4.1998/
or
http://sun1.rrzn.uni-hannover.de/gaertner.juergen/wd719x/Linux/4.4.1998/
this was my last version.
...
>
> CPU0
> 0: 1263731 XT-PIC timer
> 1: 19954 XT-PIC keyboard
> 2: 0 XT-PIC cascade
> 3: 221988 XT-PIC HiSax
> 4: 20836 XT-PIC serial
> 8: 5 XT-PIC rtc
> 9: 0 XT-PIC
> 10: 82 XT-PIC MAD16 WSS
> 13: 1 XT-PIC fpu
> 14: 410916 XT-PIC ide0
> 15: 12820 XT-PIC ide1
> NMI: 0
>
> Note that the "9" entry appeared after the first load of the driver.
> The "name" field consisted of bogus text. I think I'll have to fix
> that and update the driver to the 2.2.x API.
>
this seems to have to do with changes in the interrupt handler stuff. Nevermind,
until the firmware isn't loaded, no interrupts are created by the card.
Maybe you like to see the docu about the RISC at
http://sun1.rrzn.uni-hannover.de/gaertner.juergen/wd719x/Linux/Docu/Spider/
Rgs. Gärti
More information about the wd719x
mailing list