[ipxe-devel] [iPXE] SANBOOT failed Input/Output Error

Johnny Stenback jst at jstenback.com
Wed Oct 27 09:17:50 BST 2010


... 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


More information about the ipxe-devel mailing list