Show Posts
Pages: [1] 2
1  Forum 2005-2010 (read only) / Development / Re: DNS and DHCP Support with Ethernet Library on: April 30, 2009, 08:49:55 pm
Released version 0.4.  I implemented smartperson's suggestion on how to calculate seconds elapsed - thanks again for the feedback.

http://blog.jordanterrell.com/post/Arduino-DHCP-Library-Version-04.aspx
2  Forum 2005-2010 (read only) / Development / Re: DNS and DHCP Support with Ethernet Library on: April 25, 2009, 08:47:40 am
Just released version 0.3.  I implemented the suggestions made by Nebster, smartperson and thomsen - thanks for all the feedback!  I'll be looking for more, if you're willing.

http://blog.jordanterrell.com/post/Arduino-DHCP-Library-Version-03.aspx
3  Forum 2005-2010 (read only) / Development / Re: DNS and DHCP Support with Ethernet Library on: April 24, 2009, 03:20:03 pm
Next version (0.3) I'll add the ability to extract all of those fields via methods (e.g. getIp())...

- Jordan
4  Forum 2005-2010 (read only) / Development / Re: DNS and DHCP Support with Ethernet Library on: April 22, 2009, 10:23:28 pm
Just released version 0.2 of the DHCP library - added retry capability.

http://blog.jordanterrell.com/post/Arduino-DHCP-Library-Version-02.aspx
5  Forum 2005-2010 (read only) / Development / Re: DNS and DHCP Support with Ethernet Library on: April 22, 2009, 07:22:31 am
smartperson - Thanks for the capture log.  I would not have expected a DHCP server to ignore the first request.  I'm going to be adding retry logic this week, including resending the DISCOVER packet.  Once I do I'll release a new version of the library - I'd love it if you'd try it out.

Thanks - Jordan
6  Forum 2005-2010 (read only) / Development / Re: DNS and DHCP Support with Ethernet Library on: April 22, 2009, 07:19:27 am
I had not thought of doing that - it is certainly possible.  The server's reply messages are very similar to the client's messages.  The more involved part would be maintaining the pool of leases.  It might be something that an ATMega168 or even a ATMega328 might not have the resources for - but that is just a guess.

Short answer is I don't plan on working on that right now - I want to focus on retry and renew logic for the DHCP client, as well as trimming down the program size and memory footprint.
7  Forum 2005-2010 (read only) / Development / Re: DNS and DHCP Support with Ethernet Library on: April 21, 2009, 08:32:22 am
smartperson - Would you be willing to send me a copy of the traffic you sniffed?  If so, upload it to http://ftp://ftp.i-synaptic.net/incoming, and then reply to my post with the file name.

This may be the issue that I saw needing to wait for a period of time before trying to send the first DISCOVER packet (see the commented code in the example included with the library). It appears some hubs/switches/routers need a few seconds before it will accept packets.  This even applies when I do a soft reset on the Arduino.  Strange, but I'll need to compensate with retry logic (and some kind of timeout probably).

Thanks - Jordan
8  Forum 2005-2010 (read only) / Development / Re: DNS and DHCP Support with Ethernet Library on: April 19, 2009, 10:14:46 pm
Greetings - I just released an Arduino DHCP library - looking for feedback.

http://blog.jordanterrell.com/post/RFID-Lock-Prototype-DHCP-Library-v01.aspx

- Jordan
9  Forum 2005-2010 (read only) / Development / Re: Revised Ethernet Library Client code on: April 20, 2009, 02:10:58 pm
mickl - Your Arduino may be freezing up as a result of running out of memory and not the size of the sketch (although altering the sketch may have changed your memory consumption).

Check out this post:

http://www.faludi.com/2007/04/18/arduino-available-memory-test/
10  Forum 2005-2010 (read only) / Development / Re: Reading W5100 TX_WR pointer register not working.. on: April 20, 2009, 12:33:25 pm
I'm not ready to engage customer support at WizNet yet.  I suspect it's still a software issue.  I think I'm going to try to get my hands on a logic analyzer to see if the SPI data coming back from an IINCHIP_READ request is actually zero, or if the software is the culprit.

Thanks for checking on my DHCP library (which, as you may have guessed this post was related to).  Let me know what your experiences are.

http://blog.jordanterrell.com/post/RFID-Lock-Prototype-DHCP-Library-v01.aspx

11  Forum 2005-2010 (read only) / Development / Re: Reading W5100 TX_WR pointer register not working.. on: April 19, 2009, 10:57:14 am
My code is based on that very file.  What is strange is it appears that it is affected by the same problem.  What I'm trying to do is put data in the transmit buffer - put only 32 bytes at a time.  I'm trying to keep the ATMega168 memory utilization down.  Initially I tried calling send_data_processing() multiple times, but it would only transmit the last 32 bytes that I put in the buffer.  What I found was that when send_data_processing() read the TX_WR pointer register, it too was receiving a 0 (zero), so it would overwrite everything at the beginning of the transmit buffer.  When I tried to talk directly to the W5100 registers (i.e. not use send_data_processing()), I noted that reading the TX_WR pointer register was never successful.
12  Forum 2005-2010 (read only) / Development / Re: Reading W5100 TX_WR pointer register not working.. on: April 19, 2009, 09:29:27 am
Just some more background - I've tried writing to the TX_WR pointer both orders (high byte first & low byte first) and reading in both orders.  Writes appear to be successful based on external evidence (monitoring packets via Wireshark). However, reads always return 0 (zero).  Even reading repetitively and/or placing time delays between reads and writes doesn't help.

FYI: I'm in UDP mode, if that changes anything.
13  Forum 2005-2010 (read only) / Development / Re: Reading W5100 TX_WR pointer register not working.. on: April 19, 2009, 09:12:00 am
Thanks Ben, however, I have tried that as well - it still is not working.

Any other ideas?

Thanks - Jordan

14  Forum 2005-2010 (read only) / Development / Reading W5100 TX_WR pointer register not working.. on: April 18, 2009, 11:08:11 pm
Greetings - I'm trying to work with the Arduino Ethernet shield (W5100) using direct reads and writes to registers on the W5100 chip.  When I write to the Transmit Write Pointer Register, and then try to read from the same register, it always returns zero.  For example:

IINCHIP_WRITE(Sn_TX_WR0(0), 10); // write the value 10 (ten)
uint8 d = IINCHIP_READ(Sn_TX_WR0(0)); // d will always be 0 (zero)

I've been able to duplicate this behavior using the Sn_DPORT(0) register, and confirm that the write is successful (I can see that it sends to the correct port using Wireshark).

Why can't I read from some socket registers?

FYI:  I'm using an Arduino Duemilanove (ATMega168).

Thanks - Jordan
15  Forum 2005-2010 (read only) / Development / Re: Ethernet Shield SMD Ferrite Beads on: March 06, 2009, 02:02:19 pm
Thanks!  I don't know why I didn't think to look at the W5100 datasheet for a reference schematic.

Thanks again - Jordan
Pages: [1] 2