====== 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:week6 [2010/06/30 08:20] andreif |
soc:2010:andreif:journal:week6 [2010/07/05 06:39] (current) andreif |
||
---|---|---|---|
Line 55: | Line 55: | ||
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: | 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 | + | * no link |
- | * autonegotiation disabled and the mode is forced by the driver | + | * autonegotiation disabled and the mode is forced by the driver |
- | * gigabit NICs | + | * gigabit NICs |
- | * there is a FIXME in the code which I am not sure what it means: "handle parallel detection properly" | + | * 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 | + | * 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 :) | 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. |