IPC@CHIP® RTOS-PPC – API Documentation

Header image

Main page


Release Notes – SC2x3 @CHIP-RTOS-PPC V1.10

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


RTOS - Command shell
Ticket: #300
Component: RTOS - Command shell
Type: defect
Summary: Failure IPETH command
Description: If the DHCP mode is changed from 1 to 0, the IPETH command doesn't read the fixed address, netmask and gateway settings from CHIP.INI section [IP]. Instead the IP settings which were leased over DHCP are still valid.
Solution: Fixed.



Ticket: #297
Component: RTOS - Command shell
Type: enhancement
Summary: CHKDSK improvements
Description: The CHKDSK command should do some additonal checks on disk integrity.

Also the "Lost sectors" statement when actually it is disk "Clusters" which have been lost, should be corrected.

The CHKDSK command's /f option fails to clean up invalid long file name directory nodes when these invalid nodes are at the end of a file system block.
Solution: 1) Detect differences between FAT0 and FAT1 for drives with more than one FAT.
2) Report count of clusters found to be in use which, according to the FAT, were not allocated.
3) State "Lost clusters" instead of "sectors".
4) Assure that cluster chain covers the file size stated in the file's directory node.
5) Report cluster size and FAT12/FAT16 root directory capacity.



Ticket: #325
Component: RTOS - Command shell
Type: enhancement
Summary: Sniffing a single interface
Description: The SNIFF command should accept a network interface name as an optional parameter. It's likely that the user is only interested in the traffic of a single interface.
Solution: Implemented.



Ticket: #329
Component: RTOS - Command shell
Type: enhancement
Summary: Delimit disk space values at DIR command listing
Description: Add dot delimiters to disk space values listed at the DIR command for easier reading of large disk size values.
Solution: Add the dot delimiters in DIR listing.




RTOS - Ethernet
Ticket: #326
Component: RTOS - Ethernet
Type: defect
Summary: Ethernet link status
Description: In case of a missing or faulty Ethernet-PHY the IPCFG console command displays a wrong link status and 00 00 00 00 00 00 as MAC address.
Solution: Fixed. In case of a missing Ethernet-PHY device the IPCFG console command prints the status line: PHY Error. The MAC address is displayed. The Ethernet PHY API now supports an additional status bit: ETH_PHYSTAT_FAULT.



Ticket: #327
Component: RTOS - Ethernet
Type: defect
Summary: Installation of an Ethernet PHY driver
Description: The installation of an Ethernet PHY driver works only correct, if the CHIP.INI file doesn't contain the entry [IP] ETH_ENABLE=0. Otherwise the Ethernet driver uses the internal common functions to configure the Ethernet PHY instead of the provided user driver functions.
Solution: Fixed.



Ticket: #331
Component: RTOS - Ethernet
Type: enhancement
Summary: Install/UnInstall an Ethernet PHY driver
Description: It should be possible to exit and uninstall an Ethernet PHY driver application.
Solution: Done. When API function ethPhyInstall() is called with parameter NULL the Ethernet device is stopped until a new call (re)installs a PHY driver. If the driver application exits without uninstalling the PHY driver callbacks, the basic PHY functions become installed. See also the RTOS-PPC Ethernet API description.




RTOS - FTP server
Ticket: #295
Component: RTOS - FTP server
Type: defect
Summary: Wrong working directory
Description: When the DRIVE entry is present and e.g. set to B: and no ROOTDIR is given and the drive B: does not exist, the FTP server starts in drive A:, but the current working directory shows B:.
Solution: Fixed. If no ROOTDIR is specified and the drive does not exist, the FTP server should fall back to the virtual root directory. If a sub directory is specified at the ROOTDIR entry and the drive does not exist, the connection should be refused.




RTOS - File system
Ticket: #298
Component: RTOS - File system
Type: defect
Summary: Excess cluster allocation for directories
Description: When files with long names are added to a directory, the file system in some cases may allocate more clusters than are required for the directory.
Solution: Use the correct DIR node count adjustment when directory is extended by one cluster.



Ticket: #319
Component: RTOS - File system
Type: defect
Summary: Files cannot be opened twice for reading
Description: Calling fopen() with the same file name fails at the second call, if the text/binary mode was specified ("rb" or "rt").
Solution: Fixed.



Ticket: #333
Component: RTOS - File system
Type: defect
Summary: _dos_setfileattr() / _dos_getfileattr() API accepts "" for filename
Description: The C-Library _dos_getfileattr() returns attributes of the current working directory when an empty "" file name is passed in.

This should instead result in a "file not found" type error.
Solution: Return ENOENT error code when empty string "" is passed as the file name.



Ticket: #276
Component: RTOS - File system
Type: enhancement
Summary: Strengthen the flash modify methods
Description: When flash memory ages, eventually the flash reaches a stage where a write or block erase might fail but on repeated attempts the action can be achieved. Consequently a retry attempt would be worthwhile.

To further assure that the flash drive integrity, it would be helpful for the flash driver to verify that writes and block erase actions are successful.

Finally, some trace information available to the user under the ERRORS console command would be useful so that user's get some indication that flash memory is perhaps nearing the end of its life cycle.
Solution: Change flash driver try up to 5 times when either flash write or erase action does not verify. Report retry events to the ERRORS log and user error callbacks.



Ticket: #291
Component: RTOS - File system
Type: enhancement
Summary: Add Power Loss Protection option to File System
Description: When power is lost during file system write activity, in some cases the drive can be left in a corrupt state.

Therefore it would be desirable to have the file system optionally provide Power Loss Protection (PLP) to drives. This drive feature is made optional due to that PLP will slow down a drive's write speeds, somewhat.
Solution: Added /PLP option to FORMAT command for A: and external drives.



Ticket: #299
Component: RTOS - File system
Type: enhancement
Summary: Provide functions to get/set file attributes
Description: Should provide functions to get and set the file attributes.
The CLIB-PPC should provide the functions _dos_getfileattr(), _dos_setfileattr() and chmode().
Solution: Implement C-library functions chmod(), _chmod(), _dos_getfileattr() and _dos_setfileattr().



Ticket: #301
Component: RTOS - File system
Type: enhancement
Summary: FTL mapping change for better flash load leveling
Description: The mapping between A: flash drive logical sectors and the physical "Flash Translation Layer" in the flash devices' tend to place all of the FAT blocks in the same area. Since the file system's FAT blocks tend to be written often, this concentration of write activity in a particular section of the flash could lead to the device wearing out with under utilized sections of the flash device still fresh.

With a change in Flash Translation Layer mapping method, the flash devices' load leveling can be improved so that FAT activity is smeared throughout the device and not localized to a particular area of the device, and thus increasing the expected lifetime of the flash drive.
Solution: Change File Translation Layer method when A: drive is reformatted. Provide a /O option at the FORMAT command to force use of old translation method when compatibility with old @Chip-RTOS versions is required.



Ticket: #306
Component: RTOS - File system
Type: enhancement
Summary: rename() C-Library function - REN command problems
Description: 1) The DOS standard C-Lib rename() function can be used to move a file within a drive from one directory to another. The @CHIP-RTOS has not supported this aspect of the rename() standard library function.

2) With rename() (and REN console command) is that path names longer than the 259 character limit could result due to a check for this condition was missing.

3) Rename to no name "" works, leaving the file with white space for a name.

4) The current "." and parent ".." directory entries can be renamed. This must be prevented.


Solution: Edit directory nodes to allow both file or directory moves within a given drive. Prevent DIR moves to a subdirectory of the directory being moved.

Also assure that no path name longer than 259 characters could result from rename() or its command line equivalent, REN.



Ticket: #307
Component: RTOS - File system
Type: enhancement
Summary: FORMAT command should preserve existing cluster size by default
Description: SD card performance will be less likely to degrade after a FORMAT operation if the drive's existing sectors per cluster count is reused upon reformatting.
Solution: For B: and D: drives, use existing cluster size at FORMAT when none is explicitly specified.




RTOS - Hardware
Ticket: #328
Component: RTOS - Hardware
Type: defect
Summary: Handling of edge interrupts
Description: The interrupt should be acknowledged in the interrupt status register before the execution of the user hardware ISR.

Currently, the acknowledge is done after the execution of the user hardware ISR, which can result in loosing interrupts. This loss can happen if the interrupt reoccurs after the user has cleared the source of the interrupt in his ISR, but before the RTOS has cleared the internal status register.
Solution: Fixed.



Ticket: #332
Component: RTOS - Hardware
Type: defect
Summary: Temperature is slightly wrong
Description: The temperature of the internal LM75 sensor is calculated slightly wrong. The internal sensor has only a precision of 0.5 degrees Celsius. The implementation was assuming a precision of 0.125 degrees and therefore the temperature was always displayed 0.375 degrees too high.
Solution: Fixed.




RTOS - IPsec/IKE/Crypt
Ticket: #304
Component: RTOS - IPsec/IKE/Crypt
Type: defect
Summary: Cryptographic API big number size limit check is not correct
Description: On API such as the Crypt_BN_Mod_Exp(), the check for too large a big number is not correct. The intended 512 byte limit check was actually checking for less than 4096 bytes.
Solution: Correct the big number size limit check.




RTOS - PPP
Ticket: #320
Component: RTOS - PPP
Type: defect
Summary: PPP option fault
Description: It is not possible to set the PPP option PPP_SEND_BUFFER_SIZE. PPP_Client_SetOptions() sets all options provided by an array parameter. All options located behind the PPP_SEND_BUFFER_SIZE option are not handled. This failure also affects the usage of PPP options at user specific PPP device driver implementations.
Solution: Fixed.



Ticket: #322
Component: RTOS - PPP
Type: defect
Summary: PPP server: Execution of modem hangup sequence in nullmodem mode
Description: Even if the PPP server is configured by CHIP.INI with MODEM=0 the PPP_Server_Suspend() API function executes a modem hangup sequence.
Solution: Fixed.



Ticket: #321
Component: RTOS - PPP
Type: enhancement
Summary: PPP send buffer size optimization
Description: The internal RTOS PPP client and server drivers are using a serial send buffer size of 64 bytes. This size should be increased to optimize speed and to reduce CPU load.
Solution: Done, send buffer size is now 512 bytes.




RTOS - System
Ticket: #312
Component: RTOS - System
Type: defect
Summary: EEPROM handler has potential problem with some addresses
Description: The EEPROM driver can malfunction when passed data address without a particular alignment.

(Although the BIOS_Write_Persistent_Data() API uses this driver, this particular malfunction will not be evident due to the data alignment used for the user data.)
Solution: Correct the row alignment computation done in the EEPROM driver's write function.



Ticket: #330
Component: RTOS - System
Type: defect
Summary: MEM command triggers exception when heap is corrupt
Description: The heap walk used for the MEM command creates a fault when a corrupt heap contains invalid next block pointers.

Similarly, the heap walk used for the debugger resource reporting (RTX_Count_Resources() API) shows the same problem.
Solution: Validate next block pointers before reading memory during heap walks.



Ticket: #308
Component: RTOS - System
Type: enhancement
Summary: Watchdog manager
Description: The RTOS should feature a watchdog manager which is able to supervise several tasks. Each task that has registered with the watchdog manager has to call a refresh function within a period of time which is specified by the task itself. The watchdog manager will refresh the hardware watchdog only if all registered tasks have refreshed within the given period of time.
Solution: Implemented.



Ticket: #318
Component: RTOS - System
Type: enhancement
Summary: API for changing Telnet and FTP user/password settings required
Description: It should be possible to modify temporary the FTP and Telnet user name/password settings.
Solution: Implemented.




RTOS - TCP/IP
Ticket: #316
Component: RTOS - TCP/IP
Type: defect
Summary: DNS client fails to query other servers if first server had no resolution
Description: The RTOS' DNS client queries several DNS servers until one of them can provide a resolution. However if the first server sends a reply, but the reply does not contain the resolution, the DNS client will send invalid queries to the other servers.
Solution: Fixed



Ticket: #323
Component: RTOS - TCP/IP
Type: defect
Summary: SSL client authentication problem
Description: The SSL client authentication does not work if a CA certificate chain is used and the server only sends the root CA certificate.
Solution: Fixed.



Ticket: #303
Component: RTOS - TCP/IP
Type: enhancement
Summary: Add recvfromto_iface() API call
Description: In some cases it is required to know on which interface the packet arrived. So a function which delivers the interface handle in addition to the packet is needed.
Solution: Add recvfromto_iface() to TCP/IP API.




RTOS - Web server
Ticket: #293
Component: RTOS - Web server
Type: enhancement
Summary: CGI interface should support additional headers, optional chunked encoding and a streaming-like data-interface.
Description: The webserver's CGI interface should be extended with the following features: 1) A user application's CGI function should be able to define additional application specific HTTP response header fields. 2) The CGI interface should support a flag to specify whether the response should be sent chunked encoded or not. 3) The CGI interface should be able to be called again to produce asynchronous more data to be sent to the requestor.
Solution: Implemented. New members fResponseHeadersPtr, fFlags and fLongParam added to rpCgi data structure.



Ticket: #294
Component: RTOS - Web server
Type: enhancement
Summary: HTTP header lines for static files
Description: The user should have the possibility to add header lines to the web server response if static files are requested.
Solution: Add functions CGI_Install_Headers_Table()/CGI_Remove_Headers_Table()








Top of page | Main page

Copyright © 2009 Beck IPC GmbH