1 |
********
|
2 |
Microchip TCP/IP Stack Version Log:
|
3 |
********
|
4 |
|
5 |
Note: Please send bug-report/bug-fixes/new module addition to tech.support@microchip.com
|
6 |
|
7 |
********
|
8 |
v2.20.04.01: 9/24/03
|
9 |
********
|
10 |
1. Recreated MPLAB projects to avoid problems when source is not at \MCHPStack location.
|
11 |
|
12 |
|
13 |
********
|
14 |
v2.20.04: 9/5/03
|
15 |
********
|
16 |
Fixes:
|
17 |
1. Modified DHCPReset() in DHCP.c to not reset DHCP state machine if it was previously
|
18 |
disabled using DHCPDisable(). This would make sure that if DHCP module was enabled
|
19 |
and application had run-time disabled DHCP and network cable is disconnected,
|
20 |
stack will not clear its IP address.
|
21 |
|
22 |
2. Rebuilt mib2bib.exe file with static library options. This fixes problem where
|
23 |
one tries to execute this exe, an error occurs about missing DLLs.
|
24 |
|
25 |
|
26 |
********
|
27 |
v2.20.03:
|
28 |
********
|
29 |
Improvements:
|
30 |
1. When DHCP is enabled, LINK is monitored and IP address is reset on disconnect.
|
31 |
New IP configuration is obtained on LINK reconnect. - For RealTek only.
|
32 |
Modified DHCP.c to add DHCPReset()
|
33 |
Modified MAC.c to add MACIsLinked()
|
34 |
Modified StackTsk.h to add BYTE_VAL def.
|
35 |
|
36 |
Changes:
|
37 |
1. Modified SMSC91c111.c to add empty MACIsLinked() - will be populated in next rev.
|
38 |
|
39 |
Bug Fixes:
|
40 |
1. Corrected DHCP logic to accept first DHCP offer instead of second response.
|
41 |
2. Corrected DHCP logic to check for chaddr in DHCP offer and accept one that
|
42 |
matches with local MAC address. This will fix problem where if multiple
|
43 |
nodes were on bus and all requested DHCP address, all would accept response
|
44 |
from one server instead of verifying who was intended node.
|
45 |
3. Fixed UDPClose() in UDP.c to use INVALID_UDP_PORT instead of INVALID_UDP_SOCKET
|
46 |
because of which a closed socket would not be scanned correctly.
|
47 |
4. Modified UDP.h to use long contsant designators for INVALID_UDP_OPRT
|
48 |
to explicitly state that it is a long.
|
49 |
|
50 |
|
51 |
|
52 |
********
|
53 |
v2.20.02:
|
54 |
********
|
55 |
Beta version containing TFTP client module.
|
56 |
|
57 |
Addition:
|
58 |
1. TFTP Client module - See TFTPc.* and TFTPcDemo.c for more information.
|
59 |
See MpTFTPcDemo and HtTFTPcDemo projects for build information.
|
60 |
|
61 |
Bug Fix:
|
62 |
1. UDPIsGetReady() was modified to overcome compiler rule where only 8-bit value was
|
63 |
used to evaluate non-zero condition.
|
64 |
2. ARPResolve() in ARPTsk was fixed to clear Cache.IPAddr value.
|
65 |
|
66 |
********
|
67 |
v2.20.01:
|
68 |
********
|
69 |
Bug fix:
|
70 |
1. Fixed SMSC91C111.c where MACInit() would hand if ethernet link is not detected.
|
71 |
|
72 |
|
73 |
********
|
74 |
v2.20:
|
75 |
********
|
76 |
Bug Fixes:
|
77 |
1. General - Removed most of harmless warnings.
|
78 |
2. C18Cfg.asm - Fixed "include" instead of "define".
|
79 |
3. DHCP.c - Increased DHCP_TIMEOUT_VAL to 2 seconds.
|
80 |
Fixed problem where UDP active socket was not set before calling UDP functions
|
81 |
in SM_DHCP_BROADCAST state.
|
82 |
4. MAC.c - Fixed MACIsTxReady() where under heavy traffic it would always return FALSE.
|
83 |
This fixes bug where all high level applications would stop transmitting.
|
84 |
5. TCP.c - Enabled portion of code that performs timeout logic even if TCP_NO_WAIT_ACK
|
85 |
is defined. This fixes bug where occasionally, tcp applications such as
|
86 |
HTTP server would stop working after few hours.
|
87 |
6. UDP.c - Fixed UDPGet() where it would return FALSE on last good byte.
|
88 |
Fixed UDPProcess() where it was calculating incorrect length.
|
89 |
|
90 |
Added bFirstRead flag with UDP sockets similar to TCP sockets
|
91 |
so that whenever first UDP byte is read, MAC read pointer will be
|
92 |
reset to begining of correct packet.
|
93 |
This change fixes problem where if one transmits a packet while
|
94 |
UDP packet is pending in a socket, next get to pending UDP socket would
|
95 |
return wrong data. (This is apparent only when there is heavy network traffic)
|
96 |
|
97 |
Known Issues:
|
98 |
1. HiTech v8.20 PL4 with all optimization enabled may not work properly.
|
99 |
2. C18 "Static" and "Auto" mode may not be used - there are too many local variables to fit
|
100 |
in standard stack of 256 bytes. One may modify linker script file to avoid this limitation.
|
101 |
|
102 |
|
103 |
|
104 |
Improvements:
|
105 |
1. Modified TICK def. in Tick.h to unsigned long to support 32-bit wide SNMP tick.
|
106 |
2. Added SNMP Module (SNMP.c)
|
107 |
3. Added Two new demo projects - DemoSNMPApp and HtDemoSNMPApp.
|
108 |
4. Created MPLAB 6.X projects for different demo configurations.
|
109 |
5. MAC.c - Added MACGetTxOffset().
|
110 |
6. MPFS.c - Added MPFSSeek(), MPFSTell().
|
111 |
7. MPFSImg.*- Rebuilt to reflect v2.20, footprint changes etc.
|
112 |
8. StackTsk.h- Enhanced WORD_VAL, DWORD_VAL defs.
|
113 |
Added STACK_USE_SNMP and related compile-time checks.
|
114 |
9. UDP.h - Added UDPSetTx and UDPSetRx macros.
|
115 |
Moved UDP_SOCKET_INFO structure to header file.
|
116 |
10. WebSrvr.c- Modifed MCHPStack version message and added DATE info to BoardSetup
|
117 |
menu.
|
118 |
11. Added support for SMSC LAN91C111 10/100 Non-PCI ethernet controller
|
119 |
Use "SMSC91C111.C" instead of MAC.c.
|
120 |
"mpnicee_smsc" is a sample project that uses PIC18F8720 and SMSC NIC.
|
121 |
"MasterDemo.c" is a main source file for above project that includes
|
122 |
all modules - must use device with more than 32KB of memory.
|
123 |
|
124 |
|
125 |
|
126 |
|
127 |
********
|
128 |
v2.11:
|
129 |
********
|
130 |
Bug Fixes:
|
131 |
1. Fixed dhcp.c to make it work with new C18 startup code.
|
132 |
|
133 |
Improvements:
|
134 |
1. Modified websrvr.c DownloadMPFS() to make use of compiler allocated XMODEM data block
|
135 |
rather than use fixed address block starting at 0x400.
|
136 |
|
137 |
|
138 |
********
|
139 |
v2.10: 7/9/02
|
140 |
********
|
141 |
Bug Fixes:
|
142 |
1. Fixed HTTP Server bug where a form submission with empty parameter value would not
|
143 |
parse correctly.
|
144 |
|
145 |
|
146 |
|
147 |
********
|
148 |
v2.0: 5/22/02
|
149 |
********
|
150 |
|
151 |
********
|
152 |
New Modules:
|
153 |
********
|
154 |
1. Added UDP, DHCP, FTP and IP Gleaning
|
155 |
2. Added PICDEM.net LCD support
|
156 |
3. Added board setup through RS-232.
|
157 |
|
158 |
********
|
159 |
Improvements:
|
160 |
********
|
161 |
1. Optimized serial EEPROM access routines in terms of speed and size
|
162 |
(Replaced ee256.* files with eeprom*.h)
|
163 |
2. Improved board setup through RS-232.
|
164 |
|
165 |
********
|
166 |
Known Issues:
|
167 |
********
|
168 |
1. LCD may not display properly on MCLR only.
|
169 |
Workaround: 1. Debug XLCDInit() routine in "xlcdlh"
|
170 |
2. Always do POR reset.
|
171 |
|
172 |
2. SLIP connection is not very robust.
|
173 |
Workaround: None at this time.
|
174 |
|
175 |
3. Hi-Tech Compiler:
|
176 |
1. Aggressive optimization breaks the functionality.
|
177 |
Workaround: Apply optimization listed in each source file comment header.
|
178 |
2. In order to use V8.12, you will need to remove "FTP Server" from Ht*.pjt.
|
179 |
You will also need to disable all optimizations.
|
180 |
|
181 |
4. C18 Compler: 1. Static model does not compile.
|
182 |
Workaround: None at this time.
|
183 |
2. Overlay model breaks the functionality.
|
184 |
Workaround: None at this time.
|
185 |
3. All modules does not fit in 32KB memory.
|
186 |
Workaround: 1. None at this time.
|
187 |
2. Sample project disables some modules.
|
188 |
|
189 |
|
190 |
********
|
191 |
New Files:
|
192 |
********
|
193 |
============================================================================================================================
|
194 |
File Purpose
|
195 |
============================================================================================================================
|
196 |
1. delay.* Provides CLOCK_FREQ depenent delay routines.
|
197 |
2. dhcp.* DHCP client support
|
198 |
3. ftp.* FTP server
|
199 |
4. udp.* UDP socket support
|
200 |
5. xeeprom.* Improved ee256.* and renamed.
|
201 |
6. xlcd.* External LCD support.
|
202 |
7. version.log To track changes and history.
|
203 |
|
204 |
|
205 |
********
|
206 |
Changes:
|
207 |
********
|
208 |
============================================================================================================================
|
209 |
File Change To-do for v1.0 stack applications
|
210 |
============================================================================================================================
|
211 |
1. arptsk.c 1. Fixed STACK_CLIENT_MODE compile errors. None
|
212 |
2. Modifed ARPIsResolved() to support IP Gleaning None
|
213 |
|
214 |
2. c18cfg.asm 1. Added PIC18F452 configuration None
|
215 |
2. Fixed "include" errors. None
|
216 |
|
217 |
3. compiler.h 1. Included "stdlib.h" in both C18 and Hi-Tech compilers. None
|
218 |
2. Moved CLOCK_FREQ from "stacktsk.h" to this file. None
|
219 |
3. Added PORTA defs. None
|
220 |
|
221 |
4. htnicee.pjt 1. Removed "ee256.c". None
|
222 |
2. Added "udp.c", "dhcp.c", "ftp.c", "xlcd.c", "xeeprom.c" files Add these files if needed.
|
223 |
|
224 |
5. htnicpg.pjt None
|
225 |
|
226 |
6. htslee.pjt 1. Removed "ee256.c". None
|
227 |
2. Added "ftp.c", "xlcd.c", "xeeprom.c" files None
|
228 |
|
229 |
7. http.c 1. Included compile-time verification that HTTP module is included. None
|
230 |
2. Put HTTP message strings into one array "HTTPMessages". None
|
231 |
3. Modified to return "Service Unavailable" message if MPFS is being None
|
232 |
remotely programmed.
|
233 |
4. Modified SendFile() to make use of sequential EEPROM read. None
|
234 |
|
235 |
8. ip.c 1. Added one more paramter to IPGetHeader() to support IP Gleaning Custom apps using IP needs to be
|
236 |
modified.
|
237 |
|
238 |
9. mac.c 1. Replaced fixed delay routines with CLOCK_FREQ dependent None
|
239 |
routines
|
240 |
|
241 |
10. mpfs.c 1. Replaced ee256.h with xeeprom.h. None
|
242 |
2. Added MPFSFormat(), MPFSPut() etc. routines None
|
243 |
3. Added sequential read and page write operations Custom apps using MPFS directly
|
244 |
needs to be modified.
|
245 |
4. Defined MPFS_WRITE_PAGE_SIZE for MPFSPut operations. Apps using different EEPROM page size
|
246 |
needs to be modified.
|
247 |
|
248 |
11. mpnicee.pjt 1. Removed "ee256.c" None
|
249 |
2. Added "xcld.c", "xeeprom.c" files None
|
250 |
|
251 |
12. stacktsk.c 1. Replaced ee256.h with xeeprom.h None
|
252 |
2. Added IP Gleaning and DHCP support. None
|
253 |
|
254 |
13. stacktsk.h 1. Moved CLOCK_FREQ to compiler.h None
|
255 |
2. Added STACK_USE_DHCP, STACK_USE_FTP_SERVER etc. options None
|
256 |
3. Added compile-time enable/disable of modules based on selection
|
257 |
of higher level modules. None
|
258 |
4. Modified MY_DEFAULT_MAC_BYTE? to use Microchip OUI id. None
|
259 |
5. Added compiler-time check to confirm available TCP sockets None
|
260 |
6. Added MSB and LSB macros. None
|
261 |
7. Added SerialNumber etc. to AppConfig structure None
|
262 |
8. Commented module selection defines: They are defined by cmopiler None
|
263 |
command-line options.
|
264 |
Real application should define them here in this file.
|
265 |
|
266 |
14. tcp.c 1. Moved TCP_STATE and TCP_INFO to .h file. None
|
267 |
2. Fixed TCPIsConnected() None
|
268 |
3. Fixed TCPDisconnect() None
|
269 |
4. Modified TransmitTCP() to set receive window of one segment None
|
270 |
5. Modified TransmitTCP() to use max segment size equal to
|
271 |
predefined value. None
|
272 |
6. Improved TCP State machine None
|
273 |
|
274 |
15. tick.c 1. Modified TICK type to 16-bit. None
|
275 |
2. Made use of TICK_PRESCALE_VALUE None
|
276 |
3. Added code to blink PICDEM.net "System LED" Remove if not required.
|
277 |
|
278 |
16. websrvr.c 1. Added LCD support N/A
|
279 |
2. Made TickUpdate() on Timer0 interrupt N/A
|
280 |
3. Added code to save/restore board configuration N/A
|
281 |
4. Added board setup via RS-232. N/A
|
282 |
5. Added call to FTP modules If needed, add this.
|
283 |
|
284 |
|
285 |
|
286 |
|
287 |
|
288 |
|