www.beck-ipc.com


Release Notes SC2x @CHIP-RTOS V1.23


This document lists all modifications, additional features and bugfixes of the SC23/SC24 @CHIP-RTOS versions since initial version V1.16 Beta. The release note lists are sorted by our internal change request numbers "CR Number" and by the "Type" of the change request. We defined three different types of change request: "Defect", "Suggestion" and "New". The report fields "Component" and "Category" are describing the affected parts of the @CHIP-RTOS. "Synopsis" and "Description" are used for description of the change request.



Release Notes SC2x @CHIP-RTOS V1.23



Type: Defect, Component: @CHIP-RTOS (1 item(s))
CR Number: 1719
Type: Defect
Component: @CHIP-RTOS
Category: FTP/TFTP/DHCP commands
Synopsis: Should improve syntax check of FTP/TFTP/DHCP console commands.
Description: The commands should only recognize the valid parameters "0" or "1". Other parameters should be rejected.
Fix: Fixed.


Type: Defect, Component: Ethernet (1 item(s))
CR Number: 1718
Type: Defect
Component: Ethernet
Category: Multicast addresses
Synopsis: Installation of multicast addresses
Description: Installation of ethernet multicast addresses could lead to corrupted TCPIP heap memory. Failure occurs, if IPv6 is enabled due to the installation of ethernet multicast addresses required for IPv6. Bug exists only in RTOS V1.22.
Fix: Fixed


Type: Defect, Component: Filesystem (2 item(s))
CR Number: 1685
Type: Defect
Component: Filesystem
Category: Filesystem
Synopsis: Threads lock up when more than one accesses the same disk drive.
Description: One way to force this lockup would be to:
1) Start a program which accesses a drive
2) Start an large file FTP to this same drive
3) With command prompt on this drive, hold down the Enter key
Fix: Correct linked list procedure used by disk access protection to fix this immediate problem. Also revised the method used to suspend threads here to avoid potential conflicts with sleep and suspend commands issued by programs.


CR Number: 1687
Type: Defect
Component: Filesystem
Category: Rename
Synopsis: Failure when rename a file on a "full" disk, or a FAT12 / FAT16 disk with a full root directory and that file being renamed is in this root directory.
Description: Renaming a file on a "full" disk leads to a failure. The file is no longer present at the directory listing
Fix: Restore old name if new name write fails. It is expected that not enough directory space (FAT12 or FAT16 root full, or disk full) is the cause of the new name write failure. It should always be possible to restore the name to its old value.

Also the date/time is no longer changed by the REN command as of this correction.


Type: Defect, Component: I2C API (1 item(s))
CR Number: 1670
Type: Defect
Component: I2C API
Category: I2C_release()
Synopsis: The I2C_release() function which sends the I2C stop condition doesn't timeout, when the I2C slave holds the clock line low forever.
Description: The specified timeout over I2C_timeout() should be recognized here too.
Fix: Fixed, changed I2C_release() prototype. Now does return I2C error code.


Type: Defect, Component: PPP client (2 item(s))
CR Number: 1715
Type: Defect
Component: PPP client
Category: PPP client API IPv6
Synopsis: Invalid structure parameter
Description: CLIB structure and internal structure PPPClient_Init_IPv6: The struct member int * break_modem is invalid, must be of type int.
Fix: Fixed.


CR Number: 1716
Type: Defect
Component: PPP client
Category: PPP client API IPv6
Synopsis: Modem online control
Description: If a PPP connection becomes established by using API function PPP_Client_Open_IPv6(),
the cyclic/idle online carrier check doesn't work.
Fix: Fixed.


Type: Defect, Component: TCPIP stack (2 item(s))
CR Number: 1720
Type: Defect
Component: TCPIP stack
Category: IPv6
Synopsis: Memory leak at the IPv6cfg command
Description: If IPv6 is not enabled at chip.ini, an allocated memory block at the ipv6cfg command is not released after execution of the command.
Fix: Fixed.


CR Number: 1723
Type: Defect
Component: TCPIP stack
Category: PKI
Synopsis: Allow duplicant certificates to be loaded
Description: Currently the same certificate file can not be loaded for different sessions.
Fix: Supress redundant certificate check when adding certificates for other than IPsec.


Type: Defect, Component: Telnet server (2 item(s))
CR Number: 1705
Type: Defect
Component: Telnet server
Category: Telnet connection
Synopsis: TCPIP memory corruption
Description: In rare cases the internal TCP/IP memory heap becomes corrupted, if Telnet connections were established and immediately closed. Problem was detected when running the network scan MSwindows application "Dude".
Fix: Fixed.


CR Number: 1706
Type: Defect
Component: Telnet server
Category: Telnet connection
Synopsis: Blocked telnet sessions
Description: In rare cases the telnet server is locked up after an terminated session. Further sessions are blocked.
Fix: Fixed.


Type: Defect, Component: UDP config server (1 item(s))
CR Number: 1701
Type: Defect
Component: UDP config server
Category: HELLO request
Synopsis: Check for correct HELLO request
Description: To avoid misinterpretation an incoming HELLO request must be checked for correct length of the incoming message.
Fix: Fixed


Type: Defect, Component: USB (2 item(s))
CR Number: 1682
Type: Defect
Component: USB
Category: Host Mode
Synopsis: Memory leak in conjunction with class or vendor-specific descriptors
Description: When a USB device with class or vendor-specific descriptors is attached, additional memory is allocated to store these descriptors on the IPC@CHIP. When the driver for the device is uninstalled via usbHostDeinit() while the device is still attached, this memory is not released.
Fix: Fixed.


CR Number: 1709
Type: Defect
Component: USB
Category: Host mode
Synopsis: Receive buffer not freed on USB_EVENT_NAK event
Description: When a USB_EVENT_NAK event is passed to the USB user callback function (This can only happen in host mode and only on interrupt endpoints.), a receive buffer is not correctly freed internally.
Fix: Fixed


Type: Defect, Component: Webserver (6 item(s))
CR Number: 1647
Type: Defect
Component: Webserver
Category: CGI API
Synopsis: Semaphore protection
Description: A semaphore protection between CGI API functions (e.g. install and remove) and execution of CGI functions is required.
Fix: Fixed.


CR Number: 1677
Type: Defect
Component: Webserver
Category: Secure path
Synopsis: Secure path does not work with CGI functions.
Description: An access to a CGI function which is installed in a protected path (secure path configured in the CHIP.INI) the result is "HTTP 401 : Access denied", when no password was specified. When any password will be given with the request the CGI function will be executed, regardless if the password is correct or not.
Fix: Fixed.


CR Number: 1711
Type: Defect
Component: Webserver
Category: CGI BODY size
Synopsis: The web server does not answer requests that exceed the internal maximum HTTP body size.
Description: The web server should answer with an error page, if a request exceeds the maximum body size.
There should be a configuration option in CHIP.INI for the maximum body size.
Fix: Fixed and added BODY_SIZE CHIP.INI entry.


CR Number: 1721
Type: Defect
Component: Webserver
Category: Last-Modified Option
Synopsis: Missing 'Last-Modified' header-field in chunked-encoded HTTP responses.
Description: In chunked-encoded responses the header-field 'Last-Modified' was missing. Since all HTTP 1.1 responses are chunked encoded the header-field was not available with HTTP 1.1.
Fix: Now 'Last-Modified' header-field is sent also in chunked-encoded respones.


CR Number: 1722
Type: Defect
Component: Webserver
Category: Last-Modified Option
Synopsis: 'Not Modified' responses are containing a wrongly body.
Description: A '304 Not Modified' response (answer to a 'If-Modified' request) does contain the requested document although it may contain the document only if the document has changed.
Fix: Fixed.


CR Number: 1724
Type: Defect
Component: Webserver
Category: Suspend/Resume
Synopsis: Suspending the web server with BIOS_Server_On_Off() does not affect open and active connections.
Description: Only new connections are blocked, when the server is suspended. Requests over already opened connections are still served.
Fix: Fixed.


Type: Suggestion, Component: Command Shell (1 item(s))
CR Number: 1686
Type: Suggestion
Component: Command Shell
Category: TASKS command
Synopsis: TASKS command should display correct stack usage when floating point is used
Description: When a task uses floating point arithmetic, the TASKS command currently always shows a stack usage of about 100% for this task. This behaviour is caused by the fact that a separate stack is used for the floating point arithmetic, which uses the same memory, but grows from the reverse site.
The TASKS command should be extended to display the correct stack usage also for these tasks.
Fix: Implemented


Type: Suggestion, Component: Ethernet (1 item(s))
CR Number: 1703
Type: Suggestion
Component: Ethernet
Category: Ethernet mode
Synopsis: BIOS API function for setting ethernet mode
Description: Should implement a BIOS API function for overwriting temporaly the chip.ini setting ETH_MODE. This allows a more flexible setting of ethernet connection modes (Autonegotiation mode or fixed 10/100MBits.
Fix: Implemented. BIOSINT API 0xA0 function 0x3B provides the functionality.


Type: Suggestion, Component: Filesystem (2 item(s))
CR Number: 1688
Type: Suggestion
Component: Filesystem
Category: Filesystem
Synopsis: Error message when file creation or name change fails due to FAT12 / FAT16 root directory full should be more clear what the problem is.
Description: Fill up root directory and the resulting error message is not so clear.
Fix: Add error message for root directory full condition for COPY, MD. For SC1x3 systems with long file names, also provide this extra error message for REN command.

For SC1x system, also change the REN command so that it no longer advances the files time/date to the current time/date. Leave the file's time/date as it was before the REN operation. (This change had already been made for SC1x3 sytems.)


CR Number: 1726
Type: Suggestion
Component: Filesystem
Category: Long File Names
Synopsis: Generation of the short file names is way too slow for directories with lots of similar names.
Description: With 400 files in a directory on and SD card, it has been observed to require 20 seconds to wriite a file when the long name of that file is similar to the other 400 files.
Fix: Improve short file name alias generation method. Skip short file name alias generation for directories containing over 4000 files.


Type: Suggestion, Component: Webserver (1 item(s))
CR Number: 1681
Type: Suggestion
Component: Webserver
Category: CGI functions
Synopsis: Should allow to install the same CGI function for POST and GET method.
Description: Beside the "CgiHttpGet" and "CgiHttpPost" methods, there should be a "CgiHttpAll" method in CGI_Install(). If the CGI function is installed with this new method it should be called by the web server regardless the used HTTP method in the browser.
Fix: Implemented.


Total: 25 Top






Release Notes SC23 @CHIP-RTOS V1.22



Type: Defect, Component: CAN Driver (1 item(s))
CR Number: 1639
Type: Defect
Component: CAN Driver
Category: CAN_Event_Sleep() API
Synopsis: For priority queue and CAN_TXQ1_DRIVES_ALL operation modes, the Tx event bits are not handled properly.
Description: CAN_Send() must clear all three event bits for these modes.
Fix: Clear all related Tx event flags on CAN_Send() and raise them all together when the queue is empty.


Type: Defect, Component: Filesystem (1 item(s))
CR Number: 1625
Type: Defect
Component: Filesystem
Category: Format command
Synopsis: The format command has a memory leak.
Description: Each time the format command is called, some memory is not released.
Fix: Fixed.


Type: Defect, Component: Fossil API (1 item(s))
CR Number: 1634
Type: Defect
Component: Fossil API
Category: RS485 mode
Synopsis: Tx-Enable signal may switch to soon.
Description: If a slow baudrate is used (e.g 300 bit/s) and the RS485 hardware functionality is not used (always the case on SC1x systems), the TX-Enable pin may switch to inactive state before the last character is sent.
Fix: Fixed internal timeout value.


Type: Defect, Component: PPP (2 item(s))
CR Number: 1653
Type: Defect
Component: PPP
Category: Serial communication
Synopsis: Send data
Description: In very rare cases the PPP driver doesn't send all PPP data via the serial line.
Fix: Fixed


CR Number: 1657
Type: Defect
Component: PPP
Category: Modem communication
Synopsis: Send control messages to modem
Description: In rare cases the modem command strings are not completly send.
Fix: Fixed. The internal modem control function waits until all data are send via the serial line. It waits max. 3 seconds for completion. In case of a timeout the modem trace function prints the messages "Cannot queue modem msg" or "Cannot send modem msg" at stdout.


Type: Defect, Component: RTX API (1 item(s))
CR Number: 1632
Type: Defect
Component: RTX API
Category: Semaphore operation
Synopsis: No way available to poll resource semaphores
Description: Currently only counting semaphores can be polled.
Fix: Make negative timeout values passed to the semaphore access functions indicate that the function should return immediately. The negative timeout is no longer considered an invalid parameter.


Type: Defect, Component: SSH (1 item(s))
CR Number: 1631
Type: Defect
Component: SSH
Category: Local port forwarding
Synopsis: Forwarding a local port to an external address fails
Description: E.g, the forwarding of Telnet may fail:

Example:
Putty PC: 172.30.8.47
SC123 with SSH server: 172.30.8.36
SC12 with 172.30.8.38

Putty Config: L23 172.30.8.38:23 (Local port 23 forwarded to port 23 on SC12)
Fix: Fixed.


Type: Defect, Component: TCPIP stack (3 item(s))
CR Number: 1629
Type: Defect
Component: TCPIP stack
Category: IP configuration
Synopsis: IP address check
Description: Entering a IP broadcast address (e.g. 192.168.0.255 and Mask 255.255.255.0) via CHIPTOOL or command shell leads to malfunction of the TCP/IP device. The device is also no longer available in CHIPTOOL.
Fix: Fixed. In case of such a invalid configuration, the interface becomes unconfigured.


CR Number: 1630
Type: Defect
Component: TCPIP stack
Category: DHCP IP configuration
Synopsis: DHCP_TRIALS
Description: If chip.ini entry DHCP_TRIALS is set to 0 (endless DHCP discover trials), the IPC@CHIP should restart DHCP configuration in case of a failure in the rebinding state.
Fix: Fixed


CR Number: 1636
Type: Defect
Component: TCPIP stack
Category: Ethernet communication
Synopsis: Ethernet driver fault
Description: In very rare cases the internal ethernet controller of the SC1x3 and SC23 stops receiving packets without informing the upper TCP/IP layers about the overrun situation. The erroneous situation could occur at networks with very high number of broadcast packets.
Fix: Fixed.


Type: Defect, Component: Webserver (3 item(s))
CR Number: 1626
Type: Defect
Component: Webserver
Category: CGI
Synopsis: fConnectionId can display interchanged value
Description: If the priority of the SSL webserver is changed to a lower priority than the normal webserver, then the fConnectionId variable inside CGIs can display an inverted value.
Fix: Fixed.


CR Number: 1633
Type: Defect
Component: Webserver
Category: CGI
Synopsis: A CGI call could lead to corrupt memory.
Description: An http request which results in a call of a CGI function could lead to corrupt memory.
Fix: Fixed.


CR Number: 1642
Type: Defect
Component: Webserver
Category: Secure URLs
Synopsis: The username/password given in the CHIP.INI entries SEC_USERx/SEC_PASSWORDx only matches, if the user specifies the username/password in lower case.
Description: On SC1x systems the username/password is case-insensitive. On SC1x3/SC23 the username/password should also be case-insensitive.
Fix: Fixed.


Type: Suggestion, Component: USB (1 item(s))
CR Number: 1641
Type: Suggestion
Component: USB
Category: Host mode
Synopsis: Support for low-speed devices
Description: The USB stack should be able to handle low-speed devices.
Fix: Implemented


Type: Suggestion, Component: Webserver (2 item(s))
CR Number: 1624
Type: Suggestion
Component: Webserver
Category: SSI
Synopsis: Should allow to deinstall the SSI handler
Description: Currently the SSI handler can not be deinstalled and so the program, which has installed the handler, can not terminate cleanly.
Fix: Add new API function SSI_Deregister_Tag()


CR Number: 1637
Type: Suggestion
Component: Webserver
Category: CGI API
Synopsis: Add API calls CGI_SetRootDrive() and CGI_GetRootDrive().
Description: Add API calls to set and get the root drive of the web server. This is required by some applications (e.g. the CoDeSys runtime system).
Fix: Implemented.


Total: 16 Top






Release Notes SC23 @CHIP-RTOS V1.20



Type: Defect, Component: PPP (1 item(s))
CR Number: 1623
Type: Defect
Component: PPP
Category: Client and server
Synopsis: Cyclic modem online control
Description: A malfunction of the PPP server/client occurs under the follwowing conditions:
1) CHIP.INI MODEMTRACE=1 and
2) CHIP.INI MODEMCTRL=2
After establishing a telnet connection via the PPP link, the PPP server or client is blocked forever, caused by the modem trace messages of the cyclic online control check via the telnet connection.
Fix: Fixed. The configured modem control commands are not printed at execution time at stdout, even if chip.ini entry MODEMTRACE is set to 1.


Type: Defect, Component: PPP server (1 item(s))
CR Number: 1617
Type: Defect
Component: PPP server
Category: PPP_Server_Suspend
Synopsis: Timeout handling does not work when RTX_Wakup will be called.
Description: The internal timeout handling uses sleep requests. When RTX_Wakeup will be called for that task the sleep requests will be cancalled and the timeout is to short.
Fix: Fixed. Fix also done at PPP_Server_Activate


Type: Defect, Component: TCPIP stack (1 item(s))
CR Number: 1612
Type: Defect
Component: TCPIP stack
Category: IPsec
Synopsis: IKE Phase 1 Aggressive mode is not working
Description: Key negotiation fails when aggressive mode is selected.
Fix: Several bugs have been corrected in the Aggressive mode IKE area.


Type: Suggestion, Component: BIOSINT API (1 item(s))
CR Number: 1616
Type: Suggestion
Component: BIOSINT API
Category: Function BIOS_Install_Error_Handler
Synopsis: Should return the old error handler vector.
Description: When the function was called, it should return the vector of the error handler which was installed before.
Fix: Changed API and BIOS_Install_Error_Handler() function


Type: Suggestion, Component: Webserver (1 item(s))
CR Number: 1615
Type: Suggestion
Component: Webserver
Category: Main page
Synopsis: Should allow to specifiy a second main page, that is called when POST method is used.
Description: Needed as workaround for CoDeSys Target Visualization.
Fix: Added additional CHIP.INI entry MAINPAGE_POST and API functions to set/get second main page.


Total: 5 Top






Release Notes SC23 @CHIP-RTOS V1.20 Beta



Type: Defect, Component: PPP client (1 item(s))
CR Number: 1596
Type: Defect
Component: PPP client
Category: PPP_Client_Open
Synopsis: PPP_Client_Open() function does not return in rare cases.
Description: In very rare cases an endless loop could occur inside of the API function PPP_Client_Open.
Fix: Added a 10 second timeout and return with error in this case.


Type: Defect, Component: TCPIP stack (2 item(s))
CR Number: 1603
Type: Defect
Component: TCPIP stack
Category: IPsec
Synopsis: DES encryption is failing IKE
Description: This bug was introduced with V1.17 Beta.
Fix: Fixed.


CR Number: 1610
Type: Defect
Component: TCPIP stack
Category: IPsec
Synopsis: ESP+AH tunnel mode negotiation fails with Microsoft
Description: Should accept AH tunnel mode proposal from Microsoft, knowing that they will actually be sending AH in transport mode.
Fix: Fixed.


Type: Defect, Component: Telnet server (1 item(s))
CR Number: 1594
Type: Defect
Component: Telnet server
Category: Vulnerability
Synopsis: Telnet server has a security leak
Description: There's a possibility that unauthenticated users can execute system commands.
Fix: Fixed


Type: Defect, Component: USB (2 item(s))
CR Number: 1598
Type: Defect
Component: USB
Category: Host mode
Synopsis: Configuration value of configuration descriptor is ignored
Description: The USB Host stack ignores the configuration value in the configuration descriptor of a device and inserts a zero into the SetConfiguration request. This results in devices with a configuration value other than zero not activating their configuration on reception of the SetConfiguration request.
Fix: Fixed


CR Number: 1604
Type: Defect
Component: USB
Category: Device mode
Synopsis: Wrong endpoint addresses in configuration descriptor
Description: In Device mode the USB stack puts illegal values into the bEndpointAddress field of the endpoint descriptor for IN endpoints. All IN endpoint addresses are incremented by 16. For example the address of IN endpoint 1 should be 0x81, but the RTOS USB stack inserts the value 0x91.
Fix: Fixed


Type: Suggestion, Component: Fossil API (1 item(s))
CR Number: 1474
Type: Suggestion
Component: Fossil API
Category: Serial driver
Synopsis: External device driver ports
Description: User programs should be able to install additional (external) serial ports. This function can be used for instance to relocate existing programs, that by now used a serial interface, to USB communication.
Fix: Implemented.


Type: Suggestion, Component: FTP server (1 item(s))
CR Number: 1593
Type: Suggestion
Component: FTP server
Category: Performance
Synopsis: Should send TCP ack immediately again to improve FTP receive performance.
Description: Since SC1x3 RTOS V1.15 Beta we do not send the TCP ack immediately on all sockets. Instead we wait the default 200 ms delay time (see CR 1514). The delay time for user sockets could now be configured through the setsockopt() call.

Now FTP throughput suffers from this change (CR 1514). To increase FTP throughput again, we should set a zero ack delay for the FTP data sockets.
Fix: Implemented.


Type: Suggestion, Component: PPP (1 item(s))
CR Number: 1592
Type: Suggestion
Component: PPP
Category: Client and server
Synopsis: Cyclic modem control
Description: The current implemented modem control of the PPP client and server is only executed, if there are no data received during the defined time interval. It should be possible to execute the control commands always after the time interval.
Fix: Implemented.


Type: Suggestion, Component: TCPIP API (1 item(s))
CR Number: 1595
Type: Suggestion
Component: TCPIP API
Category: DNS Resolver
Synopsis: Function getHostByName() should be able to handle IP address strings
Description: The functions getHostByName() and getHostByName2() should convert IP address strings to their binary representation instead of returning an error.
Fix: Implemented.


Type: Suggestion, Component: TCPIP stack (4 item(s))
CR Number: 1600
Type: Suggestion
Component: TCPIP stack
Category: SSL
Synopsis: Key size up to 4096 bits is required
Description: Revision (V1.17 Beta) with TomMath limit to 2048 bit keys is not enough.
Fix: Allocate a larger (now 42 kbyte) scratch pad for TomMath RSA calculations.


CR Number: 1602
Type: Suggestion
Component: TCPIP stack
Category: IP forwarding
Synopsis: Should make IP forwarding an option
Description: Should add a CHIP.INI entry to configure IP forwarding option.
Fix: Added CHIP.INI entry FORWARDING in section IP.


CR Number: 1609
Type: Suggestion
Component: TCPIP stack
Category: IPsec
Synopsis: IKE Diagnostic visibility needs improvement
Description: Should extend the IKE console command.
Fix: Extend output from IKE console command to include SA negotiated


CR Number: 1611
Type: Suggestion
Component: TCPIP stack
Category: IPsec
Synopsis: User control over some primary IPsec options should be provided from CHIP.INI
Description: New options:
1) IKE Aggressive mode
2) IKE Phase2 PFS
Fix: Implemented new CHIP.INI entries.


Type: Suggestion, Component: USB (2 item(s))
CR Number: 1599
Type: Suggestion
Component: USB
Category: Host mode
Synopsis: Number of transfers per BULK endpoint and frame should be higher
Description: The USB Host stack currently performs a maximum of 3 transfers per BULK endpoint and frame. This value should be higher to increase bandwidth of BULK transfers.
Fix: Implemented
The number of transfers per BULK endpoint and frame can now be configured via the CHIP.INI configuration file. Valid values are between 2 and 12. The new default value is 6.


CR Number: 1607
Type: Suggestion
Component: USB
Category: Device mode
Synopsis: Reception should be stoppable
Description: It should be possible to stop the USB Device stack from receiving data in the OUT direction of an endpoint. The USB controller should send NAK handshakes on transaction requests of the Host.
Fix: Implemented
The function usbDeviceEnableEp() can now be used to enable/disable reception on a specific endpoint.


Type: Suggestion, Component: Webserver (1 item(s))
CR Number: 1605
Type: Suggestion
Component: Webserver
Category: SSL
Synopsis: It should be possible to start the SSL web server in suspended state.
Description: Currently with SSL_ENABLE=0 in CHIP.INI the SSL web server task is not started. With this new option it should be possible to resume the server at application level with BIOS_Server_On_Off().
Fix: Implemented, use SSL_ENABLE=2 to start server in suspended state.


Total: 17 Top






Release Notes SC23 @CHIP-RTOS V1.17 Beta



Type: Defect, Component: Filesystem (2 item(s))
CR Number: 1573
Type: Defect
Component: Filesystem
Category: BIOS_LFN_Findnext() API
Synopsis: Directory lock is not released as advertised
Description: When the BIOS_LFN_Findnext() API returns with a "No file found" indication, the directory being searched should not be locked any longer. The user is not obliged to call BIOS_LFN_Find_Done().
Fix: Correct the logic inside the File System


CR Number: 1582
Type: Defect
Component: Filesystem
Category: Findfirst/next
Synopsis: Findfirst/findnext could fail.
Description: The Findfirst/next functions does not find files whose filenames length is exactly 12 characters (8 characters name + '.' + 3 characters extension). Example: "12345678.ABC".

Note that also the BIOS API function BIOS_Fast_FindFirst/Next/Done affected by that bug.
Fix: Fixed.


Type: Defect, Component: FTP server (1 item(s))
CR Number: 1575
Type: Defect
Component: FTP server
Category: FTP server unreachable
Synopsis: FTP server blocks connections
Description: In rare cases the FTP server could block every incoming connection. In that case the FTP server responds with FTP errorcode 421 to the client forever. It is also necessary to enable the TCP Keepalive feature for the internal FTP sockets. This reduces the delay time after a FTP connection was broken.
Fix: Fixed.


Type: Defect, Component: HWAPI (1 item(s))
CR Number: 1559
Type: Defect
Component: HWAPI
Category: hal_get_reboot_reason()
Synopsis: If the CPU is reset or crashs, then on next start the return value of hal_get_reboot_reason() still holds the value from the last valid reboot (REBOOT_POWER_FAIL or REBOOT_WATCHDOG).
Description: In the case of a reset on next start the return value of hal_get_reboot_reason() should be REBOOT_UNKNOWN.
Fix: Fixed.


Type: Defect, Component: PPP (1 item(s))
CR Number: 1588
Type: Defect
Component: PPP
Category: PPP server
Synopsis: Modem online control
Description: In very rare cases the modem online control configured by the chip.ini settings MODEMCTRL and CTRLCMDx could lead to loss of the PPP connection.
Fix: Fixed


Type: Defect, Component: SSH Server (1 item(s))
CR Number: 1560
Type: Defect
Component: SSH Server
Category: Memory Management
Synopsis: Appears that client can force a memory leak by sending invalid messages
Description: For example: The peer sends an invalid message containing key data. This could lead the buf_get_rsa_key() function to dropbear_exit() after Treck heap buffers had been allocated to this SSH thread. This could happen if the claimed key segment length stated in the message was larger than the actual amount of message data that was delivered.

The system will cleanup any system heap allocations made by the SSH thread, but the Treck heap big number buffers remain allocated.

Other similar examples could likely be found.

(Ideally, we should be robust enough that outside computers cannot systematically leak away our memory.)
Fix: Switch to TomMath big number functions done under CR1558 has solved this problem. TomMath makes no allocations from the Treck heap.


Type: Defect, Component: TCPIP API (1 item(s))
CR Number: 1562
Type: Defect
Component: TCPIP API
Category: TCP recv function
Synopsis: Return value is undefined for invalid socket descriptors.
Description: When the TCP recv function will be called with an invalid socket descriptor the return value is undefined. The function should return API_ERROR (-1) when the socket descriptor is invalid.
Note: The socket descriptor is invalid when it was not opened or the closesocket function was called.

This bug was introduced with SC1x3 RTOS V1.11 Beta.
Fix: Fixed.


Type: Defect, Component: TCPIP stack (1 item(s))
CR Number: 1563
Type: Defect
Component: TCPIP stack
Category: SSL client
Synopsis: The SSL client does not work correct, when the SSL server requests client authentication.
Description: The reply from the client to the server hello message is not a valid SSL packet. Data is corrupted.
Fix: Fixed.


Type: Defect, Component: USB (1 item(s))
CR Number: 1569
Type: Defect
Component: USB
Category: Host and Device Mode
Synopsis: USB interrupts passed through to INT3 handler
Description: It may happen that USB interrupts are not correctly filtered out by the RTOS, but are passed through to an INT3 interrupt handler installed by the user.
Fix: Fixed


Type: Defect, Component: Webserver (2 item(s))
CR Number: 1580
Type: Defect
Component: Webserver
Category: CGI functions
Synopsis: Possilble reentrance in CGI functions when normal web server and SSL web server is used at the same time.
Description: If both web server tasks, the normal web server and the SSL web server, concurrently call CGI functions, it's possible that a CGI function is reentered. Also a competing access to a global CGI response buffer is possible.
Fix: Protect CGI execution with a resource semaphore.


CR Number: 1583
Type: Defect
Component: Webserver
Category: User Errorpages
Synopsis: User Errorpages and User CGI function must not share one buffer.
Description: User error pages must not use the HTMLPageBuffer which was used by a CGI function before. If they do so this could lead to corrupt memory since the CGIs HTMLPageBuffer contents could be overwritten by the user error handler.
Fix: Now the HTMLPageBuffer will be copied internal so user error handlers could share it with CGI functions.


Type: Suggestion, Component: @CHIP-RTOS (1 item(s))
CR Number: 1571
Type: Suggestion
Component: @CHIP-RTOS
Category: Fast memory heap
Synopsis: Should increase the fast heap memory area.
Description: Due to internal optimizations we can increase the fast heap memory size for users.
Fix: Increased the heap area from 64k to 96k.


Type: Suggestion, Component: Fossil API (1 item(s))
CR Number: 1585
Type: Suggestion
Component: Fossil API
Category: Callback function
Synopsis: Implement events for error handling and 9th data bit handling.
Description: The fossil callback function should be additional called on parity error, framing error, long/short break and ninth databit receiving. The event-parameter of the callback function should denote the cause of the call.
Fix: Add two new events FE_ERROR_DETECTED and FE_DATA_AVAIL9. In case of FE_ERROR_DETECTED the data buffer holds status information and the received character.


Type: Suggestion, Component: FTP server (1 item(s))
CR Number: 1574
Type: Suggestion
Component: FTP server
Category: Rename command
Synopsis: The rename command should tolerate command strings with leading slashs, followed by a drive letter.
Description: This will help to increase compatibility to FTP clients, like CuteFTP.
Fix: Implemented.


Type: Suggestion, Component: HWAPI (1 item(s))
CR Number: 1587
Type: Suggestion
Component: HWAPI
Category: Int not supported - message
Synopsis: Suppress the int not supported - message for interrupt 67h.
Description: The Int not supported - message should be suppressed for the interrupt 67h since this interrupt number is used by dynamic linking service.
Fix: Warning is suppressed now.


Type: Suggestion, Component: Int21h (1 item(s))
CR Number: 1579
Type: Suggestion
Component: Int21h
Category: Function 0x0E (set default drive)
Synopsis: Function 0x0E should return the total number of drives.
Description: Currently the return value is undefined.
Fix: Fixed.


Type: Suggestion, Component: PPP (1 item(s))
CR Number: 1472
Type: Suggestion
Component: PPP
Category: PPP client
Synopsis: Modem control
Description: The PPP client doesn't recognize, if a modem connection breaks. Should add a modem control feature similiar to PPPserver.
Fix: Implemented


Type: Suggestion, Component: TCPIP API (2 item(s))
CR Number: 1434
Type: Suggestion
Component: TCPIP API
Category: Socket options
Synopsis: TCP Timestamp Option should be useable
Description: One should be able to disable/enable the TCP Timestamp option via the API call setsockopt().
Fix: Documented TCP socket option TCP_TS.


CR Number: 1564
Type: Suggestion
Component: TCPIP API
Category: SSL status information
Synopsis: SSL status information, required for WLAN device driver
Description: The driver for the wireless module WL01 requires an API function, which returns some internal SSL status information for the EAP-TLS protocol.
Fix: Implemented TCPIP API function 0xD5, respectively SSL_Get_ConnState() CLIB-API call.


Type: Suggestion, Component: TCPIP stack (5 item(s))
CR Number: 1516
Type: Suggestion
Component: TCPIP stack
Category: Auto IP
Synopsis: Enable Auto IP by default
Description: The Auto IP feature should be enabled by default.
Fix: Implemented


CR Number: 1558
Type: Suggestion
Component: TCPIP stack
Category: Encryption
Synopsis: The Tom Math can improve the speed on the encryption
Description: The Tom Math can run nearly twice as fast, to reduce the long wait times for SSL, SSH and IPsec IKE.
Fix: Replace Treck big number functions with TomMath


CR Number: 1565
Type: Suggestion
Component: TCPIP stack
Category: TCPIP Timer task stack size
Synopsis: Should increase stack size of the TCPIP Timer task
Description: When using SSL socket connections with the loopback device, the used stack memory of the TCPIP timer task (TCPT) uses more than 85%. of the reserved 1792 bytes. Should increase the stack size.
Fix: Implemented.


CR Number: 1566
Type: Suggestion
Component: TCPIP stack
Category: FTP and Telnet server
Synopsis: Should enable keep alive probing on FTP and telnet connections.
Description: On SC1x RTOS versions this was already enabled. Should enable this also for the SC1x3 and SC23 RTOS.
Fix: Implemented.


CR Number: 1572
Type: Suggestion
Component: TCPIP stack
Category: DHCP client
Synopsis: Endless DHCP retrying
Description: It should be possible to let the DHCP client retry to get the IP configuration via DHCP endlessly.
Fix: Implemented, set CHIP.INI entry DHCP_TRIALS to zero, to achieve this.


Type: Suggestion, Component: Webserver (1 item(s))
CR Number: 1584
Type: Suggestion
Component: Webserver
Category: CGI Functions
Synopsis: Indication to detect the request type (SSL or standard)
Description: The rpCgi struct should be extended with a flag that indicates whether the request is an SSL request or a standard HTTP request.
Fix: The structure member fConnectionId will indicate whether the CGI is called over the SSL web server or not. fConnectionId will be zero if a HTTP connection is active and will be equal to one if a HTTPS connection is active.


Total: 25 Top






Release Notes SC23 @CHIP-RTOS V1.16 Beta



This @CHIP-RTOS version is the initial release for the IPC@CHIP® SC23. Therefore, the change requests listed here, summarize the changes with reference to SC1x3 @CHIP-RTOS version V1.15.

Type: Defect, Component: Filesystem (3 item(s))
CR Number: 1547
Type: Defect
Component: Filesystem
Category: Flash translation layer
Synopsis: Detected a race condition, semaphore protection is needed.
Description: Unexplained problems have been observed in the flash translation layer. For lack of any other explanation, suspecting a semaphore problem since this seems to be a weakness here. (Two file reading threads could enter the driver simultaneously, violating shared global data.)
Fix: Rework the flash translation layer, adding semaphore protection.
Improved performance.


CR Number: 1549
Type: Defect
Component: Filesystem
Category: Flash translation layer
Synopsis: Order of FTL discard in file system cluster release function should be reversed so that clusters exists until after removed from FAT. Furthermore, at power up a check should be made for lost FTL sectors that are no longer used by the file system (power loss during execution of cluster release function).
Description: Interrupt power during execution of file system cluster release function can lead to a invalid file system.
Fix: 1) Re-order actions in file system cluster release function
2) Add a lost sector check to execute at opening of flash drive (start-up).


CR Number: 1551
Type: Defect
Component: Filesystem
Category: Rename command
Synopsis: Rename should not be permitted if file or directory is in use
Description: Rename WEB directory to WEB1 on SC1x3 and observe that DIR command then indicates "WEB1 (WEB)" for this directories new name. System becomes confused.
Fix: Prevent name changed when a file system object is in use (e.g. when a directory is used as a "Current Working Directory" by some task.)


Type: Defect, Component: RTOS API (1 item(s))
CR Number: 1557
Type: Defect
Component: RTOS API
Category: Wait on Events
Synopsis: Negative timeout argument , used for polling events, should return error code -27 for timeout if events not ready.
Description: Currently a polling with negative timeout parameter returns -48 (= INVALID TIME ARG) if no event is ready.
Fix: Correct Event Wait function in RTOS


Type: Defect, Component: Webserver (1 item(s))
CR Number: 1556
Type: Defect
Component: Webserver
Category: Memory management
Synopsis: In very rare cases memory could be corrupted.
Description: On closing of a HTTP connection the webserver operates for a short time on a not allocated memory. In very rare cases this could lead to corrupted memory.
Fix: Fixed.


Type: Suggestion, Component: Command Shell (1 item(s))
CR Number: 1530
Type: Suggestion
Component: Command Shell
Category: Format command
Synopsis: The disk format operation should include a read-back and verify action.
Description: Currently the written data is not verified on the media. The format procedure should include a read back and verify. Due to the insigificant additional amount of time required to read the media following an often time consuming block write operation, this verify action has been built into the FORMAT command instead of being provided as a command line option.
Fix: Fixed.


Type: Suggestion, Component: I2C API (1 item(s))
CR Number: 1550
Type: Suggestion
Component: I2C API
Category: Broadcast
Synopsis: Should allow the general call address (0h) in I2C master mode.
Description: Currently sending/receiving to/from the general call address (broadcast address) is not supported.
Fix: Implemented.


Type: Suggestion, Component: Int21h (1 item(s))
CR Number: 1529
Type: Suggestion
Component: Int21h
Category: Get disk free space
Synopsis: DOS function 0x36 delivers not always useful information for big disk sizes.
Description: By design the standard DOS function 0x36 reports the number of clusters in a 16 bit value. Depending on the actual cluster size, bigger drives may be reported with wrong total/free size, because the number of clusters reaches the value 0xFFFF.
Should implement a new functions that reports the "Total Disk Space" and "Free Disk Space" correctly.
Fix: Add BIOS interrupt 0xA0 service 0x0A to report 32 bit cluster counts
Add BIOS_Disk_Info() and BIOS_Disk_Space() API to C-Library as wrappers for this new BIOS API.


Type: Suggestion, Component: TCPIP stack (1 item(s))
CR Number: 1462
Type: Suggestion
Component: TCPIP stack
Category: IPsec
Synopsis: Should add the NAT Traversal protocol.
Description: IPv4 IPsec packets do not travel over NAT routers. The NAT Traversal protocol solves this by encapsulating the IPsec packets in UDP pakets.
Fix: Added NAT-IKE per RFC 3947 and IPsec NAT-T per RFC 3948 functionality. Also support a "Draft 2" version of these documents so that today's Windows PC's can be interfaced to using IPsec Transport mode. (Tunnel mode does not work with these PC's.)


Type: Suggestion, Component: Webserver (2 item(s))
CR Number: 1421
Type: Suggestion
Component: Webserver
Category: Content-Encoding header
Synopsis: In addition to the MIME type, the content-encoding should be settable by the user.
Description: E.g. svgz files should be send with content-encoding = gzip.
Fix: Implemented (see CLib function CGI_Install_ContentEncoding_Table).


CR Number: 1546
Type: Suggestion
Component: Webserver
Category: Static files with arguments
Synopsis: Requests for static files with arguments return error code 404.
Description: A browser request for a static file must not contain arguments in the URL line. Otherwise the file would not be found by the webserver and http error 404 will be returned.
Fix: Arguments will be ignored on requests for static files now.


Total: 11 Top