IPC@CHIP® RTOS-Linux – API Documentation

Header image

Main page


Release Notes – SC1x8 @CHIP-RTOS-LNX V01.06 [01.02.2017]

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


Shell
Ticket: #392
Component: Shell
Type: defect
Summary: The shell commands that use wildcards are not case insensitive
Description: The shell commands that support wildcards, namely DIR and DEL, are not case insensitive like they should be.
Solution: Fixed.



Ticket: #393
Component: Shell
Type: defect
Summary: DEL command does not work correctly when drive letter is given
Description: The DEL command does not work correctly if a drive letter is given, e.g. DEL B:\testfile.txt
Solution: Fixed.



Ticket: #402
Component: Shell
Type: defect
Summary: Drive cannot be formatted when it was not mounted successfully.
Description: Currently, a drive cannot be formatted when it was not mounted successfully. This happens when the drive has a valid partition table, but no valid file system inside the partition.
Solution: Fixed.



Ticket: #405
Component: Shell
Type: defect
Summary: CHKDSK reports CP437: Invalid argument
Description: The CHKDSK commands reports the problem: CP437: Invalid argument.
This is due to a missing code page file and should be corrected.
Solution: Fixed.



Ticket: #410
Component: Shell
Type: defect
Summary: IPCFG and IPV6CFG commands ignore multihome addresses if there is a gap in the configuration
Description: If there is a gap in the multihome configuration of an interface (for example, only the indexes 1, 2 and 4 are configured) the IPCFG command ignores the indexes after the gap (in the example index 4 is ignored).
Solution: Fixed.



Ticket: #413
Component: Shell
Type: defect
Summary: No error message for some invalid commands
Description: The shell does not always output a error message for invalid commands.
Solution: Fixed.



Ticket: #417
Component: Shell
Type: defect
Summary: Watchdog reboot when a line with a semicolon is entered
Description: The RTOS-LNX system reboots when a line with a semicolon is entered at the RTOS console.
Solution: Fixed.



Ticket: #430
Component: Shell
Type: defect
Summary: TYPE command does not work if path with backslash is used
Description: The TYPE command does not work if a path with a backslash is used.
Solution: Fixed.



Ticket: #395
Component: Shell
Type: enhancement
Summary: COPY command should print dots during copy operation
Description: To visualize the copy operation the shell COPY command should print dots '.' during the operation.
Solution: Implemented.




Web server
Ticket: #438
Component: Web server
Type: defect
Summary: Detect gzip content encoding doesn't work in all cases
Description: The detection of the gzip content encoding does not work in all cases. Sometimes files that are gzip compressed are sent without the gzip content encoding header.
Solution: Fixed.



Ticket: #447
Component: Web server
Type: defect
Summary: Out of memory condition when big files are uploaded
Description: The web server first receives the complete file into a tmpFs, before calling the CGI function which handles the upload. This leads to out of memory conditions if the uploaded file is big enough.
Solution: Updated to lighttpd 1.4.44, which supports an option to control this behavior.




Clib
Ticket: #389
Component: Clib
Type: defect
Summary: Linker error when using netfSetTtl()
Description: The internal function name for netfSetTtl() is wrong and needs to be corrected to match the name in the CLIB header file.
Solution: Fixed.



Ticket: #397
Component: Clib
Type: defect
Summary: PPP_Client_Get_DNSIP() still delivers DNS IPs after the PPP client is closed.
Description: The PPP_Client_Get_DNSIP() still delivers the DNS IPs after the PPP client is closed and the connection is terminated. This should not be the case.
Solution: Fixed.



Ticket: #398
Component: Clib
Type: defect
Summary: PPP_Client_SetOptions() fails when strings are used
Description: The function PPP_Client_SetOptions() fails when strings are passed to the function, e.g. when the option PPP_CHAP_USERNAME is used.
Solution: Fixed.



Ticket: #408
Component: Clib
Type: defect
Summary: Firewall breaks port forwarding
Description: When the netfilter's firewall is enabled all installed port forwarding rules (static NAT rules) are blocked.
Solution: Fixed.



Ticket: #415
Component: Clib
Type: defect
Summary: ServerState() function does not report the correct state if server was disabled in CHIP.INI
Description: The API function ServerState() does not report the correct server state when the server was disabled from start via the CHIP.INI.
Solution: Fixed.



Ticket: #425
Component: Clib
Type: defect
Summary: canInit() API function baudrate parameter has wrong unit
Description: In the canInit() clib function, the baudrate parameter should be given in kbps, for compatibility reasons to the RTOS-PPC API that it is based on. In the current implementation the baudrate is interpreted as bps.
Solution: Fixed.



Ticket: #426
Component: Clib
Type: defect
Summary: Incomplete option setting in the canInit() API function
Description: The CAN initialization options, that may be passed by the user as a bitmap in the canInit() API function, are not set properly, namely, they cannot be reset after being set once. Additionally, in order for the loopback option to work properly, the CAN_RAW_RECV_OWN_MSGS socket option has to be set, otherwise the sent messages that are looped back by the hardware interface are discarded on the socket level.
Solution: Fixed.



Ticket: #433
Component: Clib
Type: defect
Summary: Stop/Start of system server should wait for completion
Description: When a system server e.g. the Webserver is stopped or restarted with ServerControl(), the executing task should wait until shell's @HSS task has completed the operation. This restart also occurs when e.g. the Webserver configuration is changed, so other function like CGI_Delete() are also affected.
Solution: Fixed.



Ticket: #434
Component: Clib
Type: defect
Summary: Uninstall inside CGI_Install_Func_OnUpload() does not work
Description: A NULL pointer can be passed to CGI_Install_Func_OnUpload() to uninstall an entry. This did not work.
Solution: Fixed.



Ticket: #440
Component: Clib
Type: defect
Summary: The send() and recv() API functions do not recognize an orderly shutdown with SSL
Description: When the send() and recv() API functions are called during an SSL session, if the peer has closed the connection, the Shutdown event is not recognized and an invalid error code is set.
Solution: Fixed.



Ticket: #441
Component: Clib
Type: defect
Summary: recv() API function ignores the MSG_DONTWAIT flag when using SSL
Description: When the recv() API function is called with the MSG_DONTWAIT flag, and within an SSL session, the flag is ignored, thus if the socket has not previously been set as non blocking, it behaves as blocking.
Solution: Fixed.



Ticket: #442
Component: Clib
Type: defect
Summary: Incorrect use of O_NONBLOCK flag in the SSL and TCP API
Description: The API functions SSL_ClientStart(), SSL_HandshakeComplete(), and send(), set the O_NONBLOCK flag for a socket, while clearing any other flags that might have been set previously.
Solution: Fixed.



Ticket: #443
Component: Clib
Type: defect
Summary: SocketBlockingMode() API function does not behave properly
Description: The SocketBlockingMode() API function always sets the O_NONBLOCK flag, thus ignores the user's argument.
Solution: Fixed.



Ticket: #444
Component: Clib
Type: defect
Summary: Return values of recv() and send() API functions on orderly TCP shutdown are inconsistent with RTOS-x86
Description: The recv() and send() API functions should return 0, with error code 0, when the connected peer has performed an orderly shutdown. Currently these functions return -1 with error code 258 (ESHUTDOWN) when the peer has closed the connection. This behavior is inconistent with the older RTOS-x86.
Solution: Fixed.



Ticket: #446
Component: Clib
Type: defect
Summary: Missing DNS configuration after ethRestart()/ethRestartExt()
Description: If ethRestart()/ethRestartExt() is called and DHCP is active, the DNS configuration is missing after a new IP has been leased.
Solution: Fixed.



Ticket: #448
Component: Clib
Type: defect
Summary: netfGetTrafficCounters() only works for AF_PACKET interfaces
Description: The netfGetTrafficCounters() API function only works for AF_PACKET interfaces and therefore doesn't deliver any counters for the PPP interface.
Solution: Solved.



Ticket: #449
Component: Clib
Type: defect
Summary: Resource leak when fossil interface is used with USB serial / USB modem ports
Description: The fossil_deinit() function does not release the internal file handle to the port if the port is of type USB serial / USB modem.
Solution: Fixed.



Ticket: #450
Component: Clib
Type: defect
Summary: Resource leaks in RemoveDefaultGateway/SetDefaultGateway()
Description: The RemoveDefaultGateway()/SetDefaultGateway() API function creates an internal handle for access to the routing table, but does not close it afterwards.
Solution: Fixed.



Ticket: #454
Component: Clib
Type: defect
Summary: Values supplied by netfGetTrafficCounters() are reset on interface restart
Description: When restarting an interface, the values of transmitted and received bytes are reset back to zero. Change the behavior of the function so that this does not happen.
Solution: Fixed.



Ticket: #456
Component: Clib
Type: defect
Summary: Dev_UnConfig_Iface is broken
Description: Dev_UnConfig_Iface does not deconfigure interfaces when called.
Solution: Solved.



Ticket: #457
Component: Clib
Type: defect
Summary: When deconfiguring an interface that is not multihome, do not disable it
Description: Deconfiguring an interface that is not multihome should leave the interface in the "up" state.
Solution: Solved.



Ticket: #390
Component: Clib
Type: enhancement
Summary: netfAddFirewallRule() should accept that portMin/portMax or ipMin/ipMax have the same value
Description: The function netfAddFirewallRule() should accept that the parameters portMin/portMax or ipMin/ipMax have the same value when specifying a single IP or single port.
Solution: Implemented.



Ticket: #428
Component: Clib
Type: enhancement
Summary: Add TCP/IP API multicast functions
Description: Should add the multicast TCP/IP API functions know from the legacy RTOS variants.
Solution: Implemented AddMulticastIPv4() and DelMulticastIPv4() functions.



Ticket: #455
Component: Clib
Type: enhancement
Summary: Create function to reset the values that are supplied by netfGetTrafficCounters()
Description: Create a function that resets the transmitted and received byte counters.
Solution: Implemented netfResetTrafficCounters() API.



Ticket: #463
Component: Clib
Type: enhancement
Summary: Some pack/unpack macros are missing
Description: Some types are not covered by the current set of pack/unpack macros. Add them for completeness.
Solution: Implemented.




Debugger
Ticket: #394
Component: Debugger
Type: defect
Summary: When debugging the output is delayed on the @CHIP-RTOS shell
Description: When starting an application using the debugger the output (e.g. printf) is shown on the @CHIP-RTOS shell delayed. The STDOUT is block buffered in this case, but should be unbuffered.
Solution: Fixed.




File system
Ticket: #400
Component: File system
Type: defect
Summary: Drive B:/D: should not appear if medium could not be mounted
Description: Currently, if a SD card or USB stick could not be mounted successfully by the system, the corresponding drive letter is still created. This should not be the case.
Solution: Fixed.



Ticket: #416
Component: File system
Type: defect
Summary: Drive B:/D: not correctly unmounted when some task has its working directory set to this drive
Description: The SD card / USB memory drives are not correctly unmounted when they are unplugged and some task has still its working directory set to this drive.
Solution: Fixed.



Ticket: #424
Component: File system
Type: defect
Summary: Leftover hidden files on drive A: when file is deleted that is still in use
Description: The CIOPFS FUSE filesystem that we use to make the drive A: case-insensitive creates hidden files named .fuse_hidden* when a file that is still in use is deleted, e.g. when you delete a BEX file that is currently executed. If the BEX file terminates or the filesystem is unmounted these hidden files are deleted, but in case of a power-cycle these hidden files remain and occupy space on the drive.
Solution: Pass the "hard_remove" option to the FUSE filesystem, which prevents that these hidden files are created.



Ticket: #431
Component: File system
Type: defect
Summary: getcwd() does not deliver working directory right after program start
Description: The function getcwd() does not deliver the working directory right after program start or after an additional task is created. It returns a NULL pointer. First after changing the directory, the function did report the current directory.
Solution: Fixed initialization of DOS file system emulation.




TCP/IP
Ticket: #409
Component: TCP/IP
Type: enhancement
Summary: Add IP Forwarding CHIP.INI entry
Description: Should add CHIP.INI parameter that allows enabling of IP forwarding like known from legacy @CHIP-RTOS variants.
Solution: Added [IP] FORWARDING CHIP.INI entry.



Ticket: #429
Component: TCP/IP
Type: enhancement
Summary: PPP client should send LCP echo requests to check if modem has hung up
Description: The PPP client should send LCP echo requests to check if modem has hung up, for the case no hardware signals like DCD are available.
Solution: Set interval to 10 seconds and fail counter to 3, so after 30 seconds a broken connection should be recognized.




HW-API
Ticket: #414
Component: HW-API
Type: defect
Summary: Problem when switching between SPI modes
Description: When multiple SPI devices are used and the spiReserveBus() function is used to switch between different SPI modes, this seems not to work reliable. It turns out that the spiReserveBus() function switches the mode, but this becomes not effective until then next transfer starts. At this time the chipselect of this device is already active when the clock signal changes their state. Therefore, the first transfer with this device may fail.

Need to issue some dummy clocks (without any chipselect) in spiReserveBus(), so signal levels are already applied when user transfer starts.
Solution: Fixed.




UDPCfg server
Ticket: #452
Component: UDPCfg server
Type: enhancement
Summary: Deconfigure multihome interfaces when the IP address 0.0.0.0 is configured
Description: When the IP configuration with an IP address 0.0.0.0 is sent to the UDP Cfg Srv, it should deconfigure the interface if it is a multihome interface.
Solution: Implemented.








Top of page | Main page

Copyright © Beck IPC GmbH