IPC@CHIP® RTOS – API Documentation

Header image

Main page


Release Notes – SC2x @CHIP-RTOS V1.53

The tickets are grouped by component and then sorted by type and ticket number.


RTOS - File system
Ticket: #2254
Component: RTOS - File system
Type: defect
Summary: A: flash drive boot sector loss with PLP FAT12 format
Description: When the A: flash drive is formatted with /PLP option and as a FAT12 drive, the boot sector may be lost when writing to the drive. (This will result in the automatic flash file system re-initialization at the next power up.)

Note: FAT12 format is used on SC123 drives. It may also be used on SC143 drives when either a very large Z: drive is used, or when very large cluster sizes are specified at the format operation.
Solution: Correct file system's handling of FAT12 "Power Loss Protected" A: drive.



Ticket: #2267
Component: RTOS - File system
Type: defect
Summary: Re-erase flash sector if interrupted by power-fail event
Description: If the drive A: flash sector erase operation is interrupted by a power-fail, the flash sector should be re-erased at the next boot. Currently, the sector is just checked for all bytes equal 0xFF. This is not reliable. The sector must be re-erased in any case to assure data integrity.
Solution: Fixed.



Ticket: #2282
Component: RTOS - File system
Type: defect
Summary: Inhibit writes to PLP disk drives after a NMI power loss warning
Description: Flash memory devices have been observed to act unpredicatably at the moment that power is being lost.

To protect against this, the drives with Power Loss Protected (PLP) format option should not be written to following a power loss warning signal from the Power Fail Interrupt NMI.
Solution: Inhibit disk writes at PFI entry, unless the user has specified otherwise for that PLP drive with the newly added CHIP.INI [DEVICE] PFI_PLP_WR_EN entry.



Ticket: #2276
Component: RTOS - File system
Type: enhancement
Summary: Provide BIOS_ExecuteExt() access to CHKDSK results
Description: It would be helpful at times for programs to have access to the results from the CHKDSK command. These results can be provided through the BIOS_ExecuteExt() reporting mechanism.
Solution: Added DiskStatS structure type to BIOS_API.H for users to access CHKDSK results with through BIOS_ExecuteExt() API.




RTOS - TCP/IP
Ticket: #2260
Component: RTOS - TCP/IP
Type: defect
Summary: Malfunction with ICMP, Don't fragment bit and forwarding
Description: Scenario:
The chip has two active interfaces. The MTUs of the interfaces differ. If the chip receives a packet with the "Don't fragment bit" set on one interface that needs to be forwarded to the other interface and the MTU of the other interface does not allow the packet to be send without fragmentation, the chip will send a ICMP error packet that fragmentation is needed.

Error:
This error packet is send back on the first interface to the host that has sent the packet that causes the error message. Anyhow, the MAC address of this host is wrong. The used destination MAC address is wrongly set to the MAC address of the host that would have received the original packet on the second interface.
Solution: Fixed.



Ticket: #2263
Component: RTOS - TCP/IP
Type: enhancement
Summary: Change behavior of IP outgoing callback
Description: It should be possible to modify the IP destination address of an outgoing packet, e.g. for implementing NAT. To make this work in every case the IP outgoing callback needs to be called earlier in the internal IP send packet routine.

Solution: Moved the call of the IP callback to an earlier stage of the internal IP send packet function. The IP outgoing callback is now also called for forwarded packets.



Ticket: #2264
Component: RTOS - TCP/IP
Type: enhancement
Summary: Sniff command time-stamp
Description: The captured pcap files with the SNIFF command should use the RTOS time-stamp, instead of the RTOS tick counter.
Solution: Implemented.



Ticket: #2284
Component: RTOS - TCP/IP
Type: enhancement
Summary: Callback for IP address configuration changes
Description: The user should be able to install a callback function that is called whenever the IP address configuration of the system changes.
Solution: Add function RegisterIPConfigCallback() to TCP/IP API.




RTOS - Ethernet
Ticket: #2262
Component: RTOS - Ethernet
Type: defect
Summary: Malfunction of Add_IGMP_Membership()
Description: In rare cases Ethernet communication can stop after execution of Add_IGMP_Membership().
Solution: Fixed




RTOS - Web server
Ticket: #2266
Component: RTOS - Web server
Type: defect
Summary: Content encoding error when authorization required
Description: The "HTTP 401 Authorization Required" message is wrongly sent with the header field "Content-Encoding: gzip" if the CHIP.INI option DETECT_ENCODING=1 is set.
Solution: Fixed.



Ticket: #2271
Component: RTOS - Web server
Type: defect
Summary: Malformed packet if CgiHttpOKNoDoc/CgiHttpNotModified is used
Description: Wireshark informs about a malformed packet if a user CGI function uses the CgiHttpOKNoDoc/CgiHttpNotModified response code.
Solution: Fixed.



Ticket: #2283
Component: RTOS - Web server
Type: defect
Summary: Uploaded file bigger than original file
Description: If the web server upload is used it can happen that the uploaded file is bigger than the original file. Sometimes the last boundary token is not detected and written to the file.
Solution: Fixed.




RTOS - PPP
Ticket: #2259
Component: RTOS - PPP
Type: defect
Summary: Suppress PPP server console message
Description: Happens when PPP server is disabled at CHIP.INI. If the server now becomes actived by call PPPServer_Activate(), the message "PPPserver" is always written to stdout. This message should be only visible at RTOS boot time.
Solution: Done



Ticket: #2279
Component: RTOS - PPP
Type: defect
Summary: Execution of PPPClient "ModemHangup" commands
Description: All defined modem hangup commands at the PPPClient structure are executed only one time, if the execution failed. The parameter "retries" for each command is (wrongly) ignored. The PPP server is not affected.
Solution: Fixed




RTOS - System
Ticket: #2258
Component: RTOS - System
Type: defect
Summary: Fault in BIOS_Set_Ini_String()
Description: The function BIOS_Set_Ini_String() returns an error code when trying to delete an entry and the entry or the entire section doesn't exist at all. This is a problem because it is not possible to check the existence of an entry or section before. The function should return the success code instead.
Solution: Changed return value.



Ticket: #2270
Component: RTOS - System
Type: defect
Summary: MEMGAP option wastes memory
Description: The CHIP.INI option MEMGAP also reserves an empty block in front of the first EXE. This is not necessary and wastes memory.
Solution: Fixed.



Ticket: #2281
Component: RTOS - System
Type: defect
Summary: Correct terminology at "FLASH ERROR" message
Description: The message was "FLASH ERROR AT SECTOR". This should instead read "FLASH ERROR AT SEGMENT".
Solution: Corrected this text.



Ticket: #2064
Component: RTOS - System
Type: enhancement
Summary: Execute user handler for unsupported interrupts
Description: It should be possible to install an user handler, if the RTOS detects the execution of an unsupported interrupt (or unsupported function number of an existing handler). Currently the RTOS prints the message "Int not supported ...".
Solution: Implemented.



Ticket: #2268
Component: RTOS - System
Type: enhancement
Summary: Call user error handler when ending up an application task fails
Description: The user error handler should be also executed, if the RTOS detects an invalid task id, when ending up an application task.
Solution: Add new error code 14 to user error handler.



Ticket: #2280
Component: RTOS - System
Type: enhancement
Summary: RTOS CRC check
Description: Currently, during the boot process the RTOS checks its CRC for validity. If the check fails the error is recorded for outputting it later to the console. For determination how the STDOUT is defined, the RTOS needs to initialize the file system for CHIP.INI reading and therefore needs to boot completely.

Booting with a corrupted RTOS can make things worse. For example, an intact file system can be corrupted and there's a small chance that a flash error is recorded for invalid accesses.
Solution: Change behavior in case of a detected CRC error. Just output a message to both COM and EXT ports and freeze.




RTOS - SPI
Ticket: #2277
Component: RTOS - SPI
Type: enhancement
Summary: Waiting on SPI semaphore with timeout
Description: There should be a possibility to specify a timeout when waiting on the SPI semaphore. The current functions spi_waiton_sem() and spi_waiton_sem_setmode() do not have such a timeout parameter.
Solution: Add new functions spi_waiton_sem_ext() and spi_waiton_sem_setmode_ext().




RTOS - Command shell
Ticket: #2255
Component: RTOS - Command shell
Type: enhancement
Summary: CHKDSK command should detect a lost boot sector zero
Description: If a drive's boot sector is not valid, it would be helpful if the CHKDSK command would report this condition.
Solution: Add a boot sector read to the CHKDSK command's actions.



Ticket: #2275
Component: RTOS - Command shell
Type: enhancement
Summary: Add option to DIR command to allow showing hidden files
Description: The DIR console command does not allow hidden files to be seen. It would be helpful to have a command line option for DIR which allows these files to be listed.

Also the DIR command had included the file size of hidden files in its statistics when these files did not appear in the listing. When files are excluded from the listing, they should also be excluded from the displayed byte count total. (Otherwise, nonsense like "0 files use 288 bytes" can appear at the DIR report.)
Solution: Add /H option to DIR command to include hidden files in listing.

Exclude hidden files from the byte count total when the hidden file is not displayed.




RTOS - Hardware
Ticket: #2278
Component: RTOS - Hardware
Type: enhancement
Summary: Additional return value for hal_get_reboot_reason()
Description: The hal_get_reboot_reason() currently returns value 3 (REBOOT_WATCHDOG) for cases when a watchdog reset occurred, the reboot command was entered or BIOS_Reboot() was called.

Should add an additional return code for the reboot cases to distinguish from a watchdog reset.
Solution: Add return value 2 (REBOOT_COMMAND) to hal_get_reboot_reason().








Top of page | Main page

Copyright © Beck IPC GmbH