Date: Tue, 13 Jul 2010 21:46:46 -0400 From: Leo Prasath Arulraj <leo@nec-labs.com> To: Matthew Jacob <mj@feral.com> Cc: freebsd-scsi@freebsd.org Subject: Re: "Firmware timed out" with qlogic 2312 FC cards Message-ID: <4C3D1706.3030109@nec-labs.com> In-Reply-To: <4C3CD9C4.8010007@feral.com> References: <4C23655F.1070408@nec-labs.com> <4C3CC782.7000705@nec-labs.com> <4C3CD9C4.8010007@feral.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I did that and made sure kldstat displays isp_2300 after boot. But the error still persists. I also see spurious interrrupts from the device. But not sure if they signal something wrong: "kernel: isp0: bogus intr- isr 8013 (8013) iptr 276 optr 276" Aside, I am trying to use a code "Memulator" ( http://www.ece.cmu.edu/~griffin2/ ) which was developed on FreeBSD 5.2 with Adaptec 21960 scsi card. This tool emulates a scsi disk ( much like /usr/share/examples/scsi_target ). Can someone recommend a SCSI card that is on market today which is most likely to work on the FreeBSD 9.0 in target mode ? This will be very helpful. Thanks, Leo. On 07/13/2010 05:25 PM, Matthew Jacob wrote: > On 7/13/2010 1:07 PM, Leo Prasath Arulraj wrote: >> I am running scsi target mode disk emulation code on a QLogic 2312 >> FC card. My OS version is : 9.0-CURRENT FreeBSD . This FreeBSD >> machine acts as the target while a separate Linux machine acts as the >> initiator accessing the FreeBSD machine as target. > > make sure > > isp_2300_load=YES > > is in your loader.conf > >> >> I am seeing "Firmware timed out" errors on the FreeBSD side : >> >> >> isp0: isp_action code 933 >> (targ0:isp0:0:0:0): isp_target_start_ctio: CTIO2[207c] flags 40 >> xfrlen 0 offset 4096 >> isp0: RISC2HOST ISR 0x2f08013 >> isp0: Firmware timed out on command >> isp0: data CTIO complete >> isp0: isp_handle_platform_ctio: CTIO2[2034] sts 0xb flg 0x840 sns 0 >> resid 0 MID >> isp0: MIDTERM CTIO[0x2034] done >> >> >> And I see UNDERRUN errors on the Linux side : >> >> [ 1661.998946] sd 0:0:0:0: [sdb] Unhandled error code >> [ 1661.998955] sd 0:0:0:0: [sdb] Result: hostbyte=DID_OK >> driverbyte=DRIVER_TIMEOUT >> [ 1661.998973] sd 0:0:0:0: [sdb] CDB: Read(10): 28 00 00 00 00 00 00 >> 00 08 00 >> [ 1661.999024] end_request: I/O error, dev sdb, sector 0 >> [ 1662.219095] comp_status 21 scsi_status 0 >> [ 1662.219118] scsi(0:0:0) UNDERRUN status detected 0x15-0x0. >> resid=0xda fw_resid=0x0 cdb=0x12 os_underflow=0x0 >> [ 1662.219137] scsi(0:0:0:0) Dropped frame(s) detected (da of fe >> bytes)...firmware reported underrun...retrying command. >> >> >> I changed the ct_timeout field of a CTIO in the isp_freebsd.c file to >> 120 from 10: >> >> isp_freebsd.c:1624: cto->ct_timeout = 120; // was 10 >> isp_freebsd.c:1658: cto->ct_timeout = 120 ; // was 10 >> >> Is there someway I can fix this ? Or should I handle it the userspace >> program by retrying commands. I suspect something goes wrong with the >> firmware because , after this error happens, subsequents requests >> also fail. >> >> Should I update the firmware assembly file isp_2300.h ? Where should >> I get the assembly version of the firmware from ? >> >> Any help is appreciated. >> >> Thanks, >> Leo. >> >> >> >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C3D1706.3030109>