Hello Jerry,<br /><br />You're likely right about this:<br /><br />> I think it should be the similiar issue like "booting windows xp from USB device". Do you have any idea or suggestion about this issue?<br /><br />Booting Windows from USB has had a very long and buggy history.  I don't think that Windows will ever, by default, consider the USB or its attached devices to be considered "boot critical," so booting from a USB NIC is likely to encounter the same and more obstacles than booting from a USB Flash drive or USB HDD does. <br /><br />Though seeing this:<br /><br />> In ipxe, I got more detail fail reason. The screen hanged at "Couldn't open driver multi(0)disk(0)rdisk(0)partition(1)".<br /><br />Windows only uses ARC paths for BIOS level operations.  As such, you could be seeing an issue with either iPXE *or* your system's BIOS at this point.  You *might* have better luck if you try a different motherboard/bios combo.<br /><br /><br />I wanted to mention also that I understand Windows 7 has been more gracefully(?) booted from USB sources.  If you're trying to use Windows XP or 2003 for this, it may be worth starting with Windows 7 and working your way back.  The forums at http://reboot.pro are a good place to start.<br /><br />Best of luck with this, too.  It's kinda neat :)<br /><br />Cheers,<br />Andrew Bobulsky<br /><br />On Mar 3, 2011 1:12pm, jerrycheng-hinet <jaspers.cheng@msa.hinet.net> wrote:<br />> Thanks, Michael.<br />> <br />> <br />> <br />> The patch works! I don't know how to express my gratitude to you!<br />> <br />> <br />> <br />> After applying your patch, I can see the consistent result with ipxe and gpxe.<br />> <br />> <br />> <br />> In gpxe, the screen hanged at "Registerd as BIOS drive 0x80/Booting from BIOS drive 0x80".<br />> <br />> <br />> <br />> In ipxe, I got more detail fail reason. The screen hanged at "Couldn't open driver multi(0)disk(0)rdisk(0)partition(1)".<br />> <br />> <br />> <br />> By comparing wireshark trace, both of them seemed to fail to read LUN0 (LBA:0x007ff5f7, Len: 8).<br />> <br />> <br />> <br />> I think it should be the similiar issue like "booting windows xp from USB device". Do you have any idea or suggestion about this issue?<br />> <br />> <br />> <br />> Thanks again for your great help!<br />> <br />> <br />> <br />> Regards,<br />> <br />> Jerry<br />> <br />> <br />> <br />> ----- Original Message ----- From: "Michael Brown" mbrown@fensystems.co.uk><br />> <br />> To: "jerrycheng-hinet" jaspers.cheng@msa.hinet.net>; ipxe-devel@ipxe.org><br />> <br />> Sent: Friday, March 04, 2011 1:07 AM<br />> <br />> Subject: Re: [ipxe-devel] SAN Boot Windows XP with USB-NIC.<br />> <br />> <br />> <br />> <br />> <br />> <br />> On Thursday 03 Mar 2011 16:56:37 jerrycheng-hinet wrote:<br />> <br />> <br />> > a) try running the "dhcp" command at the command line and, after it > fails<br />> <br />> > with<br />> <br />> > the same "Connection timed out" error message, run the "ifstat" command<br />> <br />> > (http://ipxe.org/cmd/ifstat)<br />> <br />> <br />> <br />> Still got connection timeout message. Then run the "ifstat" command, it<br />> <br />> showed:<br />> <br />> net0: 00:50:fc:8e:c7:8d on UNDI (closed)<br />> <br />>   [Link:up, TX:4 TXE:0 RX:0 RXE:0]<br />> <br />> <br />> <br />> <br />> That confirms that iPXE is seeing no received packets.<br />> <br />> <br />> <br />> <br />> > b) try setting a static IP address as described on the error page<br />> <br />> > (http://ipxe.org/4c106035), and see if you can ping it from the DHCP<br />> <br />> > server.<br />> <br />> <br />> <br />> Fail to ping the static IP address. Got "Destination Host Unreachable"<br />> <br />> message.<br />> <br />> <br />> <br />> <br />> That is consistent with not seeing any received packets in iPXE.<br />> <br />> <br />> <br />> <br />> It's weird that by using the same USB-NIC, and almost identical DHCP<br />> <br />> configuration, DHCP function seems to be ok in gpxe.<br />> <br />> <br />> <br />> <br />> If you have a known-working version tag (e.g. v1.0.0, which is common with<br />> <br />> gPXE), then you could use git bisection (http://ipxe.org/howto/bisect) to<br />> <br />> track down the commit that causes the problem.<br />> <br />> <br />> <br />> The only change I can think of that might be relevant to the UNDI driver is<br />> <br />> <br />> <br />>  http://git.ipxe.org/ipxe.git/commitdiff/006d9f1<br />> <br />> <br />> <br />> It's possible that your card is erroneously reporting that it doesn't support<br />> <br />> interrupts, when in fact it requires the interrupt-triggered call to<br />> <br />> PXENV_UNDI_ISR_IN_START in order to make packet reception work.  You could try<br />> <br />> overriding the interrupts-supported detection logic using the attached patch.<br />> <br />> <br />> <br />> Michael<br />> <br />> <br />> <br />> <br />> <br />> <br />> _______________________________________________<br />> <br />> ipxe-devel mailing list<br />> <br />> ipxe-devel@lists.ipxe.org<br />> <br />> https://lists.ipxe.org/mailman/listinfo/ipxe-devel<br />> <br />>