**This is an old revision of the document!** ----

A PCRE internal error occured. This might be caused by a faulty plugin

====== Michael Decker: Driver Development ====== ==== Week 3 ==== ---- === 10 June === Continued respinning my code today. Most of the functionality has been respun now, and soon a few purely formatting commits will take place (comments, tabs, naming, reordering, splitting to .h file) * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=b35acf625832ad5307d15025ec5d8a018c358346|[Drivers-eepro100] Move bottom half of probe() to open()]] * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=3d11f474ed07aa414d52b7583f6d8f9a66444741|[Drivers-eepro100] Wrote eepro100_close() and eepro100_remove()]] * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=bcc9aedd4253252619e704b569893b5a197022d5|[Drivers-eepro100] Defined io addresses as unsigned long throughout source.]] * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=8281262abddfdda504ddefcdb3aee77c19ec87a5|[Drivers-eepro100] Introduced gPXE txfd support]] * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=5a23d029ab65d173d2f142f9c71bfad883f613f0|[Drivers-eepro100] Handle rx completions in eepro100_poll() with iobufs]] * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=2a9415245618f8aabd67016c3bb5ca3d9e581131|[Drivers-eepro100] Removed obsolete link-establishment test from eepro100_open()]] === 11 June === Ran the code through the compiler this morning; cleaned up some things from the output. * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=b5eecc405b3fe22797b68da20b28687a7d0fb47d|[Drivers-eepro100] Tidy up code with fixes]] Finally got to test her out. Tests were run via PXE chainloading from the onboard NIC to the PCI card. The DHCP server gave PXE the gPXE image, and it gave gPXE an HTTP URL, which pointed to a gPXE script that loads a kernel from an external HTTP server. It wasn't responding past open() at first, so I built a debug image of the original driver to record the output for comparison. Fixed a few mistakes, but I believe the big one was the rx status not being checked in eepro100_poll(). * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=acd7ec62f6baba79930802a54c5f2b1ed279e553|[Drivers-eepro100] Debugging, poll(), open()]] Now she makes it a little ways, though appears to still have problems: <code> gPXE 0.9.3 -- Open Source Boot Firmware -- http://etherboot.org Features: HTTP DNS TFTP iSCSI AoE bzImage Multiboot PXE PXEXT net0: 00:90:27:43:84:4b on PCI01:00.0 (open) [Link:up, TX:0 TXE:0 RX:0 RXE:0] Waiting for link-up on net0... ok DHCP (net0 00:90:27:43:84:4b)... ok net0: 192.168.1.19/255.255.255.0 gw 192.168.1.1 Booting from filename "http://192.168.1.9/gtest.gpxe" http://192.168.1.9/gtest.gpxe... ok http://rom.etherboot.org/gtest/bz2bzImage... Input/output error (0x1d0c6039) Could not fetch http://rom.etherboot.org/gtest/bz2bzImage: Input/output error () Could not boot http://192.168.1.9/gtest.gpxe: Input/output error (0x1d0c6039) No more network devices </code> Next up, more debugging. Once she runs well I'll make formatting adjustments, proper commenting, and consistent naming. After that, transmits will be expanded to multiple TxFDs.


QR Code
QR Code soc:2008:mdeck:journal:week3 (generated for current page)