This is an old revision of the document!
====== Michael Decker: Driver Development ====== ==== Week 8 ==== ---- === July 16 === This morning I created a new Windows disk image to test AoE with. The last image I made was on a different machine, so that wouldn't work. The AoE driver seemed most sensitive to the change of hardware. I connected a spare hard disk & cd drive to the test machine. I booted off a Windows XP x64 cd, created a 3GB partition, and installed there (it barely fit!). I then downloaded the AoE driver on my development machine, copied via a pen drive, and installed it. Then, I rebooted the test machine with an Ubuntu Live cd, mounted an SMB folder from the vblade server, then dd'd the 3GB partition into a file in the SMB folder. I then reconfigured vblade to use the new image, removed the disc from the test machine, and rebooted it. I watched in amazement as it booted up Windows without a hitch. 8-o I then recompiled my eepro100 driver and copied to the tftp path, and rebooted the test machine. Again, it booted up Windows using my latest driver. I ran [[http://homepage.virgin.net/roy.longbottom/index.htm|a disk benchmark]] and defragged the drive without a hitch. My two eepro100 cards successfully tested: * 82559-based PCI card - Vendor ID: 8086 Device ID: 1229 * 82558-based PCI card - Vendor ID: 8086 Device ID: 1229 They operate flawlessly when installed alone. If I install them both, then it will work correctly //if// the first NIC booted by gPXE is connected. If the first NIC times out waiting for link-up, the second NIC times out AoE booting. I'm not convinced this is a problem with my driver. === 18 July === Had a meeting this morning. Key points: * Need to finish up eepro100 * Start writing Marvell Yukon driver * Perform testing with DOS Marty was using DOS over iSCSI for thorough testing. I already have AoE setup, so he sent over a DOS image and I configured for AoE. Initial **DOS AoE** testing showed a bug - the system reported 'Sector not found' when I attempted to execute a command. After the meeting, however, I have been unable to duplicate this error. Everything appears to work correctly. I tested via //scandisk// and //doom// on the DOS image. So.. weird. I'll continue to test occasionally to see if it will reproduce. In the meantime, I added a few updates to **eepro100**. * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=74173568638830d2e52338c49ccf4e55a409601d|[Drivers-eepro100] Link state checking, theory comments, debug fixes.]] It's pretty straight-forward. The link-checking is cool; I booted with the network cable unplugged, and once gPXE reported it was waiting for link-up, I connected the cable, and within a second it reported OK and continued booting. I only check the link-state every thousand poll()s or so, as mcb30 recommended. As to the **Marvell Yukon card**, I have an 88E8003 Gigabit card to test with. The Marvell website doesn't provide any developer information on their hardware, only provides an application for access to such information, while eluding to an NDA. Marvell doesn't appear to be open-source friendly. So, I installed the card and booted off an Ubuntu Live CD, found the system utilized the skge driver. I will tear apart ''skge.c'' and ''skge.h'' and using the guts of that driver, without additional documentation, I will attempt to gPixify it. Amazing, week 8 is just about over. Time flies.