Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
soc:2010:andreif:journal:week7 [2010/07/10 09:43] andreif |
soc:2010:andreif:journal:week7 [2010/07/12 09:37] (current) andreif |
||
---|---|---|---|
Line 69: | Line 69: | ||
==== Day 6 [ Sat 10 Jul 2010 ] ==== | ==== Day 6 [ Sat 10 Jul 2010 ] ==== | ||
+ | |||
+ | Git commit: [[http://git.etherboot.org/?p=people/andreif/gpxe.git;a=commit;h=7b189803f76097d4b6b47bb5b90146259b7c8834|7b189803f76097d4b6b47bb5b90146259b7c8834]] | ||
Yet Another Debugging Session. Managed to fix more bugs, still not working properly. | Yet Another Debugging Session. Managed to fix more bugs, still not working properly. | ||
Line 79: | Line 81: | ||
Eventually, the above process stops with an TX overflow error. The NIC is not sending out packets properly, even though the flaglen field is marked with NV_TX_VALID. I fiddled with the code some more and right now it does not send packets at all (sometimes it does, sometimes it sends the first two DISCOVER packets but the server does not reply). Also, notice in the above picture that there are some malformed-packets (the white ones). I've yet to figure out what is causing these issues. | Eventually, the above process stops with an TX overflow error. The NIC is not sending out packets properly, even though the flaglen field is marked with NV_TX_VALID. I fiddled with the code some more and right now it does not send packets at all (sometimes it does, sometimes it sends the first two DISCOVER packets but the server does not reply). Also, notice in the above picture that there are some malformed-packets (the white ones). I've yet to figure out what is causing these issues. | ||
+ | |||
+ | |||
+ | ==== Day 7 [ Sun 11 Jul 2010 ] ==== | ||
+ | |||
+ | Git commit: [[http://git.etherboot.org/?p=people/andreif/gpxe.git;a=commit;h=d6dd69ea626d2033f51f18673947148b63530087|d6dd69ea626d2033f51f18673947148b63530087]] | ||
+ | |||
+ | The only significant improvement made today was that now the driver consistently transmits packets (eventually stopping with an overflow error) | ||
+ | |||
+ | Bugs: | ||
+ | * I started by comparing the PHY register values with the old driver. One of the registers had a different value than expected and this was because I forgot to initialize a local variable in the ''phy_init()'' routine. | ||
+ | * I also forgot to pad small packets. Used iob_pad for this. | ||
+ | * Comparing the flaglen field of tx packets I noticed that the old driver has an additional bit set. Setting it didn't make any difference but I am keeping it for now and will try to remove it later after the driver works. | ||
+ | |||
+ | I got some good suggestions in today's meeting regarding debugging so I'll try them out tomorrow. |