Executive summary: I need some help from a Linux PCI/CardBus (or possibly 3c59x) wizard. I am trying to use PXE to boot a diskless Linux system on an IBM Thinkpad T20 laptop. Using pxegrub, I have a diskless Linux system booting fine on our desktop machines, but I have hit some snags with the T20. First, the T20's onboard Ethernet card is a 3com 5c556B, which the pxegrub network drivers do not support. But by comparing the Linux 3c59x driver with the GRUB 3c50x driver, I was able to patch the latter to work on the T20. It works well enough to load menu.lst, read a kernel and initrd, boot the kernel, mount the initrd, and give me a shell prompt, all from the network alone. What a nice feeling. The real problem happens when I then try to start the network in Linux. When I load the Linux 3c59x driver, it (correctly) probes the card as a 3c556B, but then prints this warning: ***WARNING*** No MII transceivers found! All attempts to access the network fail, printing messages like these: eth0: command 0x3002 did not complete! Status=0xffff "ifconfig eth0" shows that the driver thinks the MAC address of the card is FF:FF:FF:FF:FF:FF, which is clearly wrong. Note that the exact same kernel (2.4.18) and modules can access the network just fine when I boot them from a floppy or a CD-ROM. So this is definitely some bad interaction between the network boot and the the Linux drivers. (Other kernels, like 2.2.21, behave similarly; they work fine when booted locally, but when loaded by pxegrub they complain while probing the network.) I actually suspect the issue is with the Linux PCI support and not the 3c59x driver. When I boot a working kernel (any kernel) on this laptop, it shows the Ethernet card to reside at I/O address 0x1800. But when I do the network boot, the 3c59x driver reports the I/O address as 0x1400 (or 0x5800 in Linux 2.2.21). Given that, and the bogus MAC address, and the driver's inability to talk to the card, I am guessing that the I/O address is just wrong. At this point, I am hoping some Linux PCI/CardBus/3c59x wizard will be kind enough to offer some assistance in tracking this down. I am pretty good at gathering information, but I do not know enough about PCI or the Linux implementation to figure this out by myself. Thanks! - Pat - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html