... and in fact hacking scsi_parse_lun() to force the lun to 1 (lun->u16[0] = htons ( 1 );) solves this issue here! That's obviously not a real solution here, but I think it points pretty clearly at what the issue is :)
On 10/27/2010 12:53 AM, Johnny Stenback wrote: > I also did a comparison of what happens on the wire (using wireshark > again) between when iPXE attempts to connect to the iscsi target and > when my windows laptop connects. The obvious difference is that in the > iPXE case it tries to read the capacity of LUN 0 and fails, whereas when > windows connects it first requests a list of LUNs, sees that there are > two, appears to check the type of LUN 0 (Device Type: Storage Array > (0x0c)), moves on to LUN 1 (Device Type: Direct Access Device (0x00)), > and everything from that point on, including the capacity check, is done > on LUN 1. Here's wireshark logs of the iPXE failure case and the Windows > 7 success case: > > http://www.jstenback.com/ws-iscsi-fail.txt > http://www.jstenback.com/ws-iscsi-windows-success.txt > > And reading the tgtadm man page this makes sense since it states: > > "lun0 is reserved for a special device automatically created." > > Anyone care to comment on whether this sounds like a likely reason for > the failures so far? > > On 10/26/2010 11:55 PM, Johnny Stenback wrote: >> Hey guys, >> >> Captured some more information about this by setting up wireshark and >> caputuring all iscsi activity on the server when my VM tried to connect. >> I uploaded the logs to: >> >> http://www.jstenback.com/ws-iscsi-fail.txt >> >> Let me know if any other information would be helpful. >> >> On 10/26/2010 12:11 AM, Johnny Stenback wrote: >>> Hey Michael et al, >>> >>> Thanks for the reply, and pointing me at iPXE! I downloaded it, enabled >>> serial output, and built it with make DEBUG=iscsi:7,scsi:7. Then set up >>> a VM (VMWare, VirtualBox doesn't seem to like iPXE?), set its CD to >>> point to ipxe.iso, enabled the serial port and pointed it at a file and >>> fired up the VM (and tweaked my dhcp server etc). Here's the output I >>> got: >>> >>> ok >>> >>> >>> >>> iPXE 1.0.0+ -- Open Source Network Boot Firmware -- http://ipxe.org >>> Features: iSCSI HTTP DNS TFTP AoE SRP bzImage COMBOOT ELF MBOOT PXE >>> PXEXT >>> >>> net0: 00:0c:29:5d:48:b2 on PCI02:01.0 (open) >>> [Link:up, TX:0 TXE:0 RX:0 RXE:0] >>> DHCP (net0 00:0c:29:5d:48:b2).... ok >>> net0: 10.0.0.203/255.255.255.0 gw 10.0.0.254 >>> Booting from root path >>> "iscsi:10.0.0.1::::iqn.2010-10.com.direcpc.shire:gandalf.bud-pc" >>> iSCSI 0xabdb4 entering security negotiation >>> SCSI 0xabff4 created for LUN 0000-0000-0000-0000 >>> iSCSI 0xabdb4 received PDU opcode 0x23 len 0x27 >>> iSCSI 0xabdb4 ignoring TargetPortalGroupTag=1 >>> iSCSI 0xabdb4 handling AuthMethod=None >>> iSCSI 0xabdb4 entering operational negotiation >>> iSCSI 0xabdb4 received PDU opcode 0x23 len 0xe5 >>> iSCSI 0xabdb4 ignoring HeaderDigest=None >>> iSCSI 0xabdb4 ignoring DataDigest=None >>> iSCSI 0xabdb4 ignoring MaxConnections=1 >>> iSCSI 0xabdb4 ignoring InitialR2T=Yes >>> iSCSI 0xabdb4 ignoring ImmediateData=No >>> iSCSI 0xabdb4 ignoring MaxBurstLength=262144 >>> iSCSI 0xabdb4 ignoring DefaultTime2Wait=2 >>> iSCSI 0xabdb4 ignoring DefaultTime2Retain=0 >>> iSCSI 0xabdb4 ignoring MaxOutstandingR2T=1 >>> iSCSI 0xabdb4 ignoring DataPDUInOrder=Yes >>> iSCSI 0xabdb4 ignoring DataSequenceInOrder=Yes >>> iSCSI 0xabdb4 ignoring ErrorRecoveryLevel=0 >>> iSCSI 0xabdb4 entering full feature phase >>> SCSI 0xabff4 waiting for unit to become ready >>> iSCSI 0xabdb4 start 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> out 0x0 >>> SCSI 0xabff4 tag 18ae0002 TEST UNIT READY >>> 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x14 >>> SCSI 0xabff4 tag 18ae0002 status 02 sense 70:06:0000000a >>> SCSI 0xabff4 tag 18ae0002 failed: Input/output error >>> (http://ipxe.org/1d704639) >>> SCSI 0xabff4 tag 18ae0002 retrying (retry 1) >>> iSCSI 0xabdb4 start 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> out 0x0 >>> SCSI 0xabff4 tag 18ae0002 is now tag 18ae0003 >>> SCSI 0xabff4 tag 18ae0003 TEST UNIT READY >>> 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x0 >>> SCSI 0xabff4 unit is ready >>> iSCSI 0xabdb4 start 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 in >>> 0x8 >>> SCSI 0xabff4 tag 18ae0004 READ CAPACITY >>> 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x14 >>> SCSI 0xabff4 tag 18ae0004 status 02 underrun -8 sense 70:05:0000000a >>> SCSI 0xabff4 tag 18ae0004 failed: Input/output error >>> (http://ipxe.org/1d704539) >>> SCSI 0xabff4 tag 18ae0004 retrying (retry 1) >>> iSCSI 0xabdb4 start 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 in >>> 0x8 >>> SCSI 0xabff4 tag 18ae0004 is now tag 18ae0005 >>> SCSI 0xabff4 tag 18ae0005 READ CAPACITY >>> 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x14 >>> SCSI 0xabff4 tag 18ae0005 status 02 underrun -8 sense 70:05:0000000a >>> SCSI 0xabff4 tag 18ae0005 failed: Input/output error >>> (http://ipxe.org/1d704539) >>> SCSI 0xabff4 tag 18ae0005 retrying (retry 2) >>> iSCSI 0xabdb4 start 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 in >>> 0x8 >>> SCSI 0xabff4 tag 18ae0005 is now tag 18ae0006 >>> SCSI 0xabff4 tag 18ae0006 READ CAPACITY >>> 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x14 >>> SCSI 0xabff4 tag 18ae0006 status 02 underrun -8 sense 70:05:0000000a >>> SCSI 0xabff4 tag 18ae0006 failed: Input/output error >>> (http://ipxe.org/1d704539) >>> SCSI 0xabff4 tag 18ae0006 retrying (retry 3) >>> iSCSI 0xabdb4 start 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 in >>> 0x8 >>> SCSI 0xabff4 tag 18ae0006 is now tag 18ae0007 >>> SCSI 0xabff4 tag 18ae0007 READ CAPACITY >>> 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x14 >>> SCSI 0xabff4 tag 18ae0007 status 02 underrun -8 sense 70:05:0000000a >>> SCSI 0xabff4 tag 18ae0007 failed: Input/output error >>> (http://ipxe.org/1d704539) >>> SCSI 0xabff4 tag 18ae0007 retrying (retry 4) >>> iSCSI 0xabdb4 start 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 in >>> 0x8 >>> SCSI 0xabff4 tag 18ae0007 is now tag 18ae0008 >>> SCSI 0xabff4 tag 18ae0008 READ CAPACITY >>> 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x14 >>> SCSI 0xabff4 tag 18ae0008 status 02 underrun -8 sense 70:05:0000000a >>> SCSI 0xabff4 tag 18ae0008 failed: Input/output error >>> (http://ipxe.org/1d704539) >>> SCSI 0xabff4 tag 18ae0008 retrying (retry 5) >>> iSCSI 0xabdb4 start 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 in >>> 0x8 >>> SCSI 0xabff4 tag 18ae0008 is now tag 18ae0009 >>> SCSI 0xabff4 tag 18ae0009 READ CAPACITY >>> 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x14 >>> SCSI 0xabff4 tag 18ae0009 status 02 underrun -8 sense 70:05:0000000a >>> SCSI 0xabff4 tag 18ae0009 failed: Input/output error >>> (http://ipxe.org/1d704539) >>> SCSI 0xabff4 tag 18ae0009 retrying (retry 6) >>> iSCSI 0xabdb4 start 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 in >>> 0x8 >>> SCSI 0xabff4 tag 18ae0009 is now tag 18ae000a >>> SCSI 0xabff4 tag 18ae000a READ CAPACITY >>> 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x14 >>> SCSI 0xabff4 tag 18ae000a status 02 underrun -8 sense 70:05:0000000a >>> SCSI 0xabff4 tag 18ae000a failed: Input/output error >>> (http://ipxe.org/1d704539) >>> SCSI 0xabff4 tag 18ae000a retrying (retry 7) >>> iSCSI 0xabdb4 start 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 in >>> 0x8 >>> SCSI 0xabff4 tag 18ae000a is now tag 18ae000b >>> SCSI 0xabff4 tag 18ae000b READ CAPACITY >>> 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> iSCSI 0xabdb4 received PDU opcode 0x21 len 0x14 >>> SCSI 0xabff4 tag 18ae000b status 02 underrun -8 sense 70:05:0000000a >>> SCSI 0xabff4 tag 18ae000b failed: Input/output error >>> (http://ipxe.org/1d704539) >>> SCSI 0xabff4 tag 18ae000b retrying (retry 8) >>> iSCSI 0xabdb4 start 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 in >>> 0x8 >>> SCSI 0xabff4 tag 18ae000b is now tag 18ae000c >>> SCSI 0xabff4 tag 18ae000c READ CAPACITY >>> 25:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 >>> SCSI 0xabff4 tag 18ae000c closed: Connection timed out >>> (http://ipxe.org/4c852035) >>> iSCSI 0xabdb4 closed: Connection timed out (http://ipxe.org/4c852035) >>> SCSI 0xabff4 tag 18ae000c closed: Connection timed out >>> (http://ipxe.org/4c852035) >>> iSCSI 0xabdb4 closed: Connection timed out (http://ipxe.org/4c852035) >>> Could not open SAN device: Connection timed out >>> (http://ipxe.org/4c852035) >>> No more network devices >>> >>> Anything else I can do to help dig deeper here? >>> >>> On 10/25/2010 02:19 AM, Michael Brown wrote: >>>> On Monday 25 Oct 2010 08:54:58 Johnny Stenback wrote: >>>>> Sorry, I'm new to this list and thus not able to reply to the existing >>>>> thread about this issue. I just ran into this issue as well, where I >>>>> can >>>>> confirm the gpxe attempts to connect to the iscsi target (as in, if I >>>>> make the name incorrect it knows the target doesn't exist), but >>>>> fails to >>>>> do so with the error "Could not initialize iSCSI device: Input/output >>>>> error (0x1d704039)". >>>>> >>>>> I'm using a Fedora 12 system as my iscsi server, running tgt-admin >>>>> (from >>>>> scsi-target-utils-1.0.1-2.fc12.x86_64) to set up my target (happens to >>>>> be a file, not a real disk). >>>>> >>>>> I've seen this on a few different hardware setups, including a >>>>> VirtualBox vm. >>>>> >>>>> Any updates on this issue? Any more information I can provide that >>>>> could >>>>> be of use? >>>> >>>> Please try the latest version of iPXE (http://git.ipxe.org/ipxe.git). >>>> This >>>> error message has been replaced with a message that should give >>>> slightly more >>>> information and may help to pinpoint your problem. >>>> >>>> (Moving CC to ipxe-devel list, since Marty Connor censors any messages >>>> I send >>>> to gpxe at etherboot.org.) >>>> >>>> Thanks, >>>> >>>> Michael >>>> >>> >> > -- jst

