====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soc:2010:andreif:journal:week6 [2010/06/29 09:24]
andreif
soc:2010:andreif:journal:week6 [2010/07/05 06:39] (current)
andreif
Line 48: Line 48:
 From what I've read, .open continues with interrupt management, which I'll do tomorrow, and hopefully conclude the .open implementation with it. From what I've read, .open continues with interrupt management, which I'll do tomorrow, and hopefully conclude the .open implementation with it.
  
 +==== Day 3 [ Wed 30 Jun 2010 ] ====
  
 +Git commit: [[ http://​git.etherboot.org/?​p=people/​andreif/​gpxe.git;​a=commit;​h=6640adc6f8dad60ff709c51039568a6000cfcc6b|6640adc6f8dad60ff709c51039568a6000cfcc6b]]
 +
 +I managed to get .open done today, and since .close didn't involve much, I managed to get that done too.
 +
 +There wasn't much left to do. The Linux driver disabled and enabled the interrupts, but since gPXE doesn'​t use them in non-UNDI mode, I just left them disabled. It continues by setting multicast masks which I suspect enable the receival of all packets (earlier these masks were zeroed which I think ignored everything on the wire). A similar mask setup was done in pcnet32. The bulk of today'​s code was in the ''​nv_update_linkspeed''​ routine which treats the following cases:
 +  * no link
 +  * autonegotiation disabled and the mode is forced by the driver
 +  * gigabit NICs
 +  * there is a FIXME in the code which I am not sure what it means: "​handle parallel detection properly"​
 +  * in the end it just sets different registers according to the speeds and mode it detected, after which it starts tx and rx
 +
 +The .close routine disables interrupts, stops rx and tx, and clears up the rings basically. Tomorrow I'll clear the rings and implement the ''​nv_drain_rxtx''​ routine. I'll also do the switch setup that Stefan suggested and see if .open and .close work :)
 +
 +==== Day 4 [ Thu 1 Jul 2010 ] ====
 +
 +me.away()
 +
 +==== Day 5 [ Fri 2 Jul 2010 ] ====
 +
 +Today I started to set up the switch, which in fact is a [[http://​www.productwiki.com/​siemens-gigaset-se361-wlan/​|router]]. Every issue mentioned in that page, I encountered it. I had to make some settings multiple times before the router saved them, plus it disconnects every now and then. I disabled its internal DHCP server, its DNS, and enabled NAT, and now the setup looks like this:
 +<​code>​
 ++-------------+
 +|192.168.2.101|
 ++             +
 +| DHCP server |
 ++             ​+ ​   +--------------+
 +|   dev PC    |    | forcedeth PC |
 ++-------------+ ​   +--------------+
 +       ​| ​            |
 +     ​+------------------+
 +     ​| ​   192.168.2.1 ​  |
 +     ​+ ​                 +
 +     | best router ever |
 +     ​+------------------+
 +            |
 +     ​+-------------+
 +     |teh internets|
 +     ​+-------------+
 +</​code>​
 +
 +After that, I installed dhcp-server3 on my dev box and set it up. This took some time and I ran into some issues because I didn't have my IP statically configured. In the end, I booted a DSL from the dev pc using the old forcedeth driver. Tomorrow, I'll configure it so it gets an image containing my forcedeth driver and finally test it.
 +
 +The amount of issues with that router are staggering, and I hope now that it is stable, I can finally get some work done. I see some mentioning of low speeds when using it so I'll keep this in mind when I test the driver'​s speeds.
 +
 +==== Day 6 [ Sat 3 Jul 2010 ] ====
 +
 +me.rest()
 +
 +==== Day 7 [ Sun 4 Jul 2010 ] ====
 +
 +Finally got around to testing .open and .close and they seem to work fine. I'll only be sure of this when I implement .transmit and .poll and see if the settings made in .open are correct.
 +
 +Got some nice feedback regarding the driver after the weekly meeting. The plan is to finish the driver until the end of the next week. So far so good.

QR Code
QR Code soc:2010:andreif:journal:week6 (generated for current page)