Josh Koffman wrote: > Just out of curiosity, what's your ultimate goal? I mean how do you > want to use the board (web server, etc). I'm hoping to stay away from > generic webserver, though I guess it might be useful for > configuration. I want a solid generic network stack that I can easily include in future projects yet unknown. I had some bad experiences with the Microchip stack, so I was forced to write my own. The protocols supported by the stack so far are: Network packet layer. Can handle one receive packet and multiple transmit packets open concurrently (try that with the Microchip stack some time). The amount of memory used in the MAC/PHY for transmit packets is configurable, and so is the maximum number of simultaneous transmit packets. Does dynamic memory allocation on the transmit memory. ARP. Replies to ARP requests and keeps a cache for resolving IP addresses to MAC addresses for local applications. Cache entries time out and automatically try to refresh. The number of cache entries is configurable. Applications can also resolve the source address of the currently open IP packet, if any, without using up a ARP cache entry. IP. Handles the base mechanics for IP packets and provides resources unique to IP to higher level protocols, like ICMP and TCP. ICMP. This is implemented only far enough to reply to PING requests over the network. It does not currently support outgoing PING requests or any other ICMP functions. TCP. Configurable to a maximum number of concurrent TCP streams. The app sees a bi-directional stream of bytes without needing to worry about packet boundaries. The restrictions pushed onto the app are much less onerous than with the Microchip stack. For example, there is no rule about a app having to consume the entire received packet in one "time slice". The app also need not get envolved with low level details like ARP resolution and allocating/deallocating transmit buffers. This code all relies on my cooperative multi-tasking system, which apps have to use and be aware of too. > I'm sorry it's taken a few days to reply, things have exploded a bit > here. I am interested in looking at how you've laid it out, OK, I put a board drawing at http://www.embedinc.com/temp/net1.gif and the schematic at http://www.embedinc.com/temp/net1.pdf. > Thank you for the offer of the board. If you're offering it so that > you can have feedback on it in a reasonable amount of time, you might > be better served with someone who could do it quicker. I just want to > give you fair warning. What do you think? I don't care about feedback. This just a testbed, not a product, so I can tell for myself whether it works. I might spin off a ReadyBoard from this, but that would have quite different layout and wouldn't be both ethernet and WiFi on the same board. I ended up with 3 of these boards because I had to buy 75 square inches minimum. I have already promised one to someone else, but there is still one I could let you have if you're serious about using it. Again, this is a bare board. You'd have to acquire the parts and populate it yourself. Update: I had a bunch of real work to do last week, so the ZeroG support is progressing slower than I had hoped. However, I have register access and send/receive of management messages working. The firmware just makes all that accessible to the host over the serial port so that I can experiment there. So far things largely work as the documentation says it should. I can have it enumerate access points, join one, and authenticate. Next I've got to write the code to pass it the security information and have it associate to the network, then it will be off to transfer data packets. I just got another thing plunked on me Friday, and possibly another one today, so it may take a while for the next bit of progress. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist