Working download and start/join network. What's nice is that I didn't touch
TX or RX code at all.
Not fully done yet - stubs for assoc, cast, promisc and user param updating. I
can't work out the "nicest" way to get the mcast and promisc interactions
sorted without needing to abort runq commands half way through. And, as
mcast/promisc used elsewhere I want to get this right.
Other stuff
Fancy new debugging with __FUNCTION__ and __LINE__.
Lots of panic's inserted until I check some stuff out.
Removed all of the old scheduler.
Removed start join timeout as I don't need it.
Removed the promiscuous broadcast code that waas ifdef'd out.
New CCS allocation
before I rip out the scheduler - whilst v. nice 'n all, it is doing the
wrong job. We need something that sends commands to the card atomically
so dhcp etc. works right.
I've renamed and moved a lot of the scheduler code so that it is all
in one place and all starts with ray_cmd_
ray_stop has some debugging crap left in - to be deleted rsn
robust enough to work with dhcp. Essentially the driver returns to userland
before certain commands have been completed by the card. I'm trying to
work out the best way to fix this. There are very minor functional changes,
most of this is debugging.
Rework of debugging so a bit mask is used and re-allocation around the place.
Tried to protect ray_init with a tsleep until the network has been joined. I think this is only a partial fix as we also update the mcast and promisc
values.
* i needed it anyway
* remove startccs and startcmd - done
* as those were used for the NetBSD start timeout
* multicast - done but UNTESTED
* I don't have the ability/facilty to test this
* rxlevel - done
* stats reported via raycontrol
* getparams ioctl - done
* reported via raycontrol
* start_join_done needs a restart in download_done - done
* now use netbsd style start up
removed spare timerh
implemented start_assoc in ray_ccs_done
bit more knfing
requires current and desired network parameters, so I have created a network parameter structure and used two on them in the softc. This gives a bit of room of expansion. Re-wrote the update check in _net to work with this.
Tidyed up softc due to above.
Removed startccs and startcmd as they were only used by NetBSDs startup timeout.
not actually used yet. This created a lot of prototypes.
I moved code around so that the functions are in the same order as NetBSD - this helps diff a lot.
Things that are missing are the TX routine and ifmedia stuff and ioctls
Not all of the stuff is enabled - we are missing calls in ccs_done and ioctl.
Promiscious mode is working.
Am almost ready to use the NetBSD start up routine - essentially all I need
to do is not use a seperate timer to call download_timo.
Other misc. things:
callout_stop is a newish feature for cancelling a timer without
argument checking it.
tried to add a sysctl knob but it doesn't work in the module
enabled infrastructure code to call netbsd bits.
card configuration hassles.
Added a TODO list so I don't forget to finish stuff.
Tidyed up a lot of XXX.
Tidy'd and documented debugging - all DPRINTF have a debug level associated.
RAY_DEBUG = 1, will log packet errors.
#if protect common memory hacking
Don't rely on pccardd for common memory settings.
Added a simple transmit mode - reasonable performance but not great. Will do a version of the NetBSD chained buffers soon. Yup we have two way transmisson!
Fix a stupid bug in the common memory code - the ioctl call was
hidden behind a debug test!
Added receive code and support for Webgear encapsulation.
More debugging macros/functions.
conditionalised timeout for start/join network
conditonalised attribute/common memory hacks
identified tracking code with XXX_TRACK
sorted out initialistion of instance structure to some extent
finished docuementing the start/join sequence
The code doesn't compile (I'll do that in a minute), but functionally
it gets to receveing the interrupt from the start or join net command.
There is a lot of code to deal with the limitations of the PCCard memory
mapping code - I'm changing some of it hence the check in to preserve something
that worked.