IpOS
From Ubicom Developer
ipOS is the Operating System developed by Ubicom.
Latest SDK release is 7.10
Ubicom IP5000/IP7000 Software Development Kit
Release notes for SDK 7.10 23-January-2009
New features:
--------------------------------------------------------------------------------
Support for ip7000 silicon
Multiple profile support on the bridge
EV-MAC: (Everywhere Video MAC)
EV-MAC enhances quality of video delivery in the home by improving the reliability of the video stream. The reliability of video streams is improved through a combination of enhancements to the MAC layer algorithms, such as rate adaptation, packet aggregation, and wireless bandwidth allocation. These enhancements are made possible by automatically detecting bandwidth requirements of video streams and guaranteeing wireless bandwidth availability, even in the presence of background traffic.
Increased the number of simultaneous Bit Torrent connections by accelerating connection recycling under heavy router loads.
SMB/CIFS server capability integrated with the gateway_ip3k reference project such that we are able to serve files over the LAN-side network. The SMB server will serve these files from media attached via a USB connection. This was done by porting and optimizing Visuality SMB server to work on Ubicom CPU
Demo quality UPnP digital media server capability integrated with the gateway_ip3k reference project such that we are able to serve media files over the LAN-side network. The UPnP media server will serve these files from media attached via a USB connection. A subset of the features supported:
- Can be enabled/disabled from the web UI.
- Share folders can be added or all content can be shared with 1 click (currently max 10 folders, this is configurable)
- Can serve multiple clients concurrently (as much as the network bandwidth and CPU power allows)
- Design to conform to DLNA Guidelines v1.5, but we continue to see failures in the DLNA test suite
- DMS version is 1.0 (this is the only version that exists)
- Supports 2-Box Pull System model and 3-Box System model. (details are in the DD)
- Browse capability
- Search capability (only a subset is supported in order to make WMP11 work. The only supported search field is ‘upnp:class’ and that also limited)
- HTTP transport: Streaming transfer mode & Interactive transfer mode
- Multiple video, audio and picture format and containers are supported; full list can be made available though Ubicom application engineers
- Client supported: WMP11, PS3, Ubicom DPF + several others.
Router enhancements:
--------------------------------------------------------------------------------
NAT:
ALG’s re-worked to make a clear separation between:
- CLASSIFYING a connection (as being handled by this ALG);
- Allowing a new connection for ‘unsolicited ingressing’ packets - the ALG may have knowledge that would allow packets that do not currently have a NAT connection to have one created for them; and
- Translating - normal job of an ALG to translate the payload of a stream
ALG classifiers and ‘unsolicited ingress’ handlers are no longer called by NAT or registered with NAT (they are more separate from NAT itself now). Only ALG connection handlers are registered with a NAT connection for fast path processing.
ALG classifiers and unsolicited ingress handlers are now invoked by the code in the order and manner as appropriate for the project
A UDP connection (that is not under ALG control) that is still active may now be prematurely destroyed provided that it is the least active connection and the project has determined that it is necessary because of resource issues.
A project soft-level of connection # restrictions is now possible. NAT asks the application for approval before a connection may be made - the app can use the previously listed feature to lower resource levels
A connection no longer has a TTL, rather there exists timer groups (each group having a specific TTL). Connections are placed in a timer group. This allows for precise timeout handling and fast determination of connections that may be reaped.
Various algorithmic and logic enhancements to improve performance
WISH:
A project soft-level of connection # restrictions is now possible.
Schedules:
Scheduling bugs related to start and end times crossing midnight has been fixed. Previously this bug would have allowed an ingressing rule (for the gateway firewall rules) to continue to function when it should have been switched off.
Gateway project (NAT related):
Now calls API’s of the ALG’s directly.
Classifiers of an API are always invoked for all new connections - thereby ensuring that irrespective of how or where a connection was made an ALG always gets a chance to process the payload if it is appropriate for that ALG
Project no longer creates static (NAT_BIND_STATIC) connections. Instead a new ‘virtual_server_instance’ structure has been created in gw_nat.c and the project code now handles virtual server entries outside of NAT - this is a move away from static nat connections (although some ALG’s still use them we are phasing them out).
Port forwarding and triggering now support ingress filters and schedules.
Gateway project (Routing related):
Work on multicast packets has been undertaken to better decide whether a multicast packet is allowed to ingress from the internet in gw_interfaces.c
IGMP router (lan side) always listens for igmp lan activity - showing memberships on the UI. However this membership information is only reported to the internet when an internet connection is available.
Gateway project (Security related):
Some invalid addresses have been checked and cause those packets to be discarded from the internet in gw_interfaces.c
Gw_upnp_igd.c was modified to ensure that a rogue upnp client on the lan cannot create a virtual server that allows packets to be bounced to the internet.
Notes on building SDK 7.10
--------------------------------------------------------------------------------
SMB is supported using server software licensed from Visuality. SDK 7.10 will ship without the SMB sources. Customers who want to build with this feature need to obtain separate license from Visuality before we can provide them with the modified source code. For details contact Ubicom's applciations engineer
To build with SMB or DMS a user should select these options under the applciation node of the ConfigTool to be included
Debug options supported with prebuilt ipModule libraries
Global Debug OFF ON ON
Global Assert n/a OFF ON
ipModule Debug n/a OFF ON
Library used by makefile libModuleName.a libModuleName.gd.a libModuleName.gd.pd.a
--------------------------------------------------------------------------------
Projects suppored in this release
--------------------------------------------------------------------------------
Only the gateway (gateway_ip3K) and the Wbridge projects are included in this SDK release
New Packages:
--------------------------------------------------------------------------------
ipAutoMount - Automatically detects removable storage devices, such as USB drives, and attaches them to the file system.
ipAVIParser - Parser for Motion JPEG content from media files in AVI format.
ipCDSServer - Implements a UPnP Content Directory Server, serving resources to UPnP clients.
ipDHCPServerSimple - A wrapper for DHCP services that provides a simpler API with enhanced features, such as reservations and naming of hosts.
ipDMS - A Digital Media Server (conforming to DLNA Guidelines version 1.5) for exposing and distributing media throughout the home
ipMediaEnumerator - Returns a list of files found in a filesystem, in a playlist, over RSS, or over UPnP.
ipMEJPEGDecoder - A media engine network stack element for decoding images from JPEG streams.
ipMEJPEGEncoder - A media engine network stack element for encoding images as JPEG streams.
ipMEScaler - A media engine network stack element for resizing streamed images.
ipMetaDataParser - Extracts metadata from a variety of media file formats: AVI, WMV, M-JPEG, MPEG, WMA, WAV, MP3, PNG, JPEG.
ipSettings - An ipSAX filter that parses configuration settings files, such as Gateway Settings (GWS) files.
ipUPnPClient - Universal Plug and Play control point, which monitors the local network for UPnP content directories.
ipURLReader - Provides a generic interface for reading a stream of netbufs from any of a variety of sources, currently HTTP and file system.
ipUSBHostEthernet - Works with ipUSBHOST to implement a USB to Ethernet converter driver for the AXIS AX88772 chipset, providing plug and unplug functions, initialization and configuration of the chip set, and data transmit to and receive from the Ethernet line.
ipWirelessProfile - Provides an abstraction layer for remembering wireless connection configurations.
ipWirelessProfileManager - Works with ipWirelessProfile to provide common logic for remembering wireless connection configurations, including support for multiple profiles.
ipWPSEnrollee - Implements the Wi-Fi Alliance's Wi-Fi Protected Setup protocol for "enrollees", that is, devices seeking to join a wireless LAN network. It supports both PIN and PBC configuration methods.
The following Packages are provided in binary format only:
--------------------------------------------------------------------------------
In addition to the list of binary packages released in past SDK releases
The file rate_control.c in ipUMAC is shiped as binary library
Tool changes:
--------------------------------------------------------------------------------
The following changes/enhancements were done to ConfigTool:
- Added changes to support MARS and ARES coexisting in the same SDK (NumThreads issue).
- Enabled overridable "# threads" and "HRT table size" controls.
Certifications
--------------------------------------------------------------------------------
WiFi and WPS Certification passing on Gateway, AP configurations using Atheros wirless cards
Known issues
--------------------------------------------------------------------------------
Copying to a storage media attahced to the router runs very slow in cases where throusands of files are stored in a single directory. We continue to look for solutions for this case
wbridge’s Transparent Bridge mode (WDS) does not work in this release
Release notes for SDK 7.6.2 16-July-2008
--------------------------------------------------------------------------------
This release adds the gateway support for 124 wireless clients.
Release notes for SDK 7.6.1 20-June-2008
--------------------------------------------------------------------------------
This release follows the 7.6 SDK release and fixes some of the faliures that were detected in 7.6 release. The device project is not included in this release due to known faliures that were not fixed in time for this release and will be included in the next release. The list of fixes are given below:
[Priority Request]DIR-615: chariot fails when running P2P tests with 200 pairs
[Priority Request]Gateway Restoring 7.4.2 configuration file on 7.6 gateway
[Priority Request]ipSIP_ALG: SIP Packet Not Recognized
[Priority Request]High Traffic Causes QOS to Delay Control Packets
[Priority Request]Gateway: FTP traffic blocked by SPI
[Priority Request]DFS Test Mode
[Priority Request]Gateway: (WHQL) IGDByteCounters TotalBytesSent_counter_updated Wired Router test fails
[Priority Request]Gateway: QoS enhancement for rate estimation
ipUDP: Need to review all UDP protocols to ensure they do the right thing when not passed the correct specific destination address
Wbridge AP list empty sometimes
Wbridge Network setting fail
Gateway PPTP/L2TP autoQoS without Fragmentation does not work well
Gateway rate estimation needs to be improved to handle small rate settings with a big "bits per interval" value on Cisco7200
Gateway DIR 655 and Dual Radio - FTP is not working with SPI enable and cascade routers.
Gateway UI: Time- Need to change Daylight Saving Date starts from march first week instead of Apr first week.
Gateway WAN Ping is not working with Inbound filter rule.
Gateway Virtual Server: Editting an entry and then cancelling does not cause a popup 'Are you sure you want to abandon changes?'
Gateway Port Forwarding: Updating schedule/filter prompts an error window "Nothing has changed. Do you want to continue?"
Gateway UI: Possible of adding identical schedule.
Gateway Access control ->Filter log Web Access only is not working.
Gateway Website filter is not working.
Gateway Access control->Block all access "disable logging" is not working.
Gateway Firmware Upgrade Notification is not working regularly.
GatewayQoS: Connection Type with "Cable Or Other Broadband Network" does not give MOS > 4
Gateway advanced Wireless-> Lock Wireless Security Settings button is not working.
Gateway WIsh rules- > Enable \disable button setting saves automatically
Gateway SSI cannot be used to configure WEP with an ASCII key..the key needs to be passed in as Hex
Gateway UI (Ubicom): Routing page help needs to be updated
Gateway Wireless isolation is not for each SSID (Ralink radio)
Gateway (Ralink): Logs are not showing latest information.
MPPPoE: Two sessions in "always on" reconnect mode don't work properly
WEP key must be hiddeen at first load but plain text while typing
Ralink_Gateway: WEP security mode is taking long time to connect.
GW UI: radio button should be selected if only one option on wireless network setup wizard
Ralink_AP: shows wrong wireless clients on status-> wireless page.
wBridge is not associating with AP when AP has WEP Open Authentication and Client has WEP Share Authentication
GW UI: 5G band wireless channel does not show all available ones
Dual radio: stp packets not seen on LAN port
Ping failed for Ralink WDS connection on WEP.
Gateway: wbridge and AP cannot use ASCII values for password
Gateway UI: WEP displays weird characters for WEP key from WCN
UPNP Broadcast to WAN Port
ipUMAC: Intel 4965 power save is broken
ipRIP - must not advertise the link local auto-ip subnet
WLAN MAC not displayed Correctly in Status Page
Wbridge UI wizard: Manual connect is going to pbc
Access Point: Guest option should be removed from wireless network settings.
Ubicom_11na Atheros GW - low performance with certain clients
Gateway GUI: WPS lock is not working.
Gateway GUI: WISH rules: unable to set a protocol for 'other'
Gateway GUI: WISH rules: IP start range can be greater than IP end range.
Gateway Crash at start while the LAN port is connected to corporate network
Gateway WPA association is not working.
Gateway GUI: Upgrading 7.4.6 to 7.6 using WEP key index 2-4 is not possible.
Gateway GUI: Schedule edit clear button has ambiguous results
Gateway StreamEngine: When connection-type is auto-detect, it does not display connection type.
Gateway StreamEngine: Setting Manual Uplink Speed forces the gateway to reboot.
Gateway StreamEngine: Rate Estimation sometimes is too high.
Gateway DHCP Unstable for Wireless
Gateway WISH: Any protocol does not cover 'other' protocol.
Gateway Advanced Wireless- wireless clients drop
Gateway WDS being enabled without entering MAC address
Gateway Web page Help
Gateway MTU settings in Basic->Manual Internet Connection Setup does not work
Gateway 11N: UI or UI HELP for beacon period value restriction
Gateway AP crashed when mssid is set up and client is trying to associate
Client not able to associate to AP when 4 ssids are set up
ipUMAC: scan_activity not marked on receive of aggregates.
UI testing: No error prompts when WAN RIP V2 password and Confirm Password fields do not match
Gateway DR scanning invalid channels
Gateway DR WPA2 Auto
Gateway DR accepts 64-char PSK
Gateway DR crashes when client is added to MAC address filter
Gateway Wireless Authentication: WLAN PC cannot be associated to gateway
Wbridge UI: WEP Key Index should be added
Gateway Wireless Device Wizard – Multiple devices’ pushbuttons pressed to be configure simultaneously FAILED
Gateway WEP key is unstable by key_index, particular 4.
Gateway For the GOOD security level, the clients can not connect to the router using WZC tool
--------------------------------------------------------------------------------
Release notes for SDK 7.6 15-April-2008
--------------------------------------------------------------------------------
===================================================================
New set of technologies are being introduced in the 7.6 SDK release. Guest SSID, POSIX, New file system and MPPPoE are the main feature addition. The USB stack has been re-written to provide greater flexibility in supporting different classes of USB devices and to resolve outstanding performance and correctness issues. Brief description of the new features and other key details follow:
New Features introduced in 7.6:
--------------------------------------------------------------------------------
Multiple SSIDs: Up to 4 Virtual Access Points can be created each with a unique SSID and security settings. The router sample project uses this capability to implement Guest SSIDs that are isolated from the private SSIDs and each other. Up to 3 unique Guest SSIDs are supported. Guest SSID creation, deletion and status are managed through the router UI pages
POSIX Version 0.6: A new Package ipPOSIX introduced in 7.6 SDK implements a subset of Issue 6 of the POSIX Specification. ipPOSIX serves as the translation layer between "user space" and the kernel. It manages the processes, threads, the syscalls and memory protection. Above ipPOSIX, we have incorporated Newlib from RedHat as our standard library support
MPPPoE: Provides the user the ability to initiate multiple WAN PPPoE sessions. The WAN services supported on the single PPPoE session in past releases (NAT, DNS, Firewalls, etc.) are provided on these sessions. Up to 4 simultaneous PPPoE sessions can be created. Management of these sessions, creation, deletion, status is provided through the UI pages. This capability is provided for evaluation purposes only in 7.6 SDK.
File system: A new infrastructure (ipFS) has been added to the SDK. This infrastructure enables project code (and other packages) to access any number of underlying file systems in a common generic form. Specifically, ipFS supports the concept of mount and umounting one or more file systems and providing the interfaces for accessing those file systems. In SDK 7.6, we have implemented ipFATFS (a FAT file system implementation), ipFile (implements a flash file system), and ipRAMFS (that implements an in memory file system). Note: In SDK 7.6, ipFATFS does not support the older FAT12 based volumes.
Ralink Wireless: Support for Ralink 11n cards has been added
i18N per viewer When the product enables multiple languages, the web user interface is displayed in the language preferred by the viewer, as expressed via the language preference option in the web browser.
WDS: Added support for Wireless distribution System for Atheros and Ralink 11n wireless devices
WAN Widget: A yahoo Widget is added to the SKD to display near real-time WAN traffic usage in the form of bar graphs (uplink and downlink), displays WAN traffic statistics with a user settable threshold and alert (to watch for monthly transfer for instance), and monitor the WAN connection status.
Tools: In addition to these features, the tool chain (except for GCC) has been upgraded to GNU 4.x. Cygwin tools have been upgraded to version 1.5.24. The Ubicom SDK installer is modified to allow the user to install Ubicom cygwin build or skip it. Latest Cygwin and the latest GNU tool chain has been QA tested on Windows XP only, however some of our engineers have been using the updated tools successfully on Vista but QA on Vista of the updated tools is planned for a later release. A new IDE (Eclipse) has been included in 7.6 SDK for evaluation purposes.
Known issues/Limitations
--------------------------------------------------------------------------------
The configuration database for wireless projects was extended to support Multiple SSIDs. Configuration settings from projects built using earlier SDK versions cannot be used to restore settings on an SDK7.6 project
Eclipse can be used with any released SDK. However to use the debugger from within Eclipse, the latest tool chain will have to be installed. Latest tool chain is released as part of SDK 7.6 and later releases
In 7.6 MPPPoE implementation, a single instance of UPnP service is available for association with any of the active WAN sessions. Selection of which session to associate UPnP to is done through the UI. Only a single UPnP session is available at any one time no matter how many PPPoE sessions are active.
Connect on demand is not supported in MPPPoE in this release. This means sessions will not be started and stopped driven by WAN activity. Sessions will be created and stopped manually
A bug exists in MPPPoE that prevents secondary WAN connections to be established unless the internet session is up in always ON mode. This not a limitation on manual modes where each session can be started and stopped through the UI
New Projects
--------------------------------------------------------------------------------
Device project: This project provides an "end-point" implementation and servers as the starting point for customers to develop any end-point solution (Media Player, Audio Player, or other such solutions).
New Packages:
--------------------------------------------------------------------------------
The following packages have been added in the 7.6 SDK:
ipAAL5: Implements ATM Adaptation Layer Type 5 and enables the following DSL protocol stacks:Bridge Mode, PPPoE & PPPoA
ipAVRISP: Provides support for in-circuit programming of Atmel AVR microprocessors.
ipBDev: Provides an abstract interface for talking to a block device.
ipBufferCache: implements a thread safe data storage cache in the file system
ipCDSClient: This package implements a UPnP ContentDirectory client. It enables users of the package to easily query UPnP media servers for resources.
ipDER: Provides functions that endcode and decode data according the ITU X.690 standard for Distinguished Encoding Rules (DER) of ASN.1.
ipDNS: The DNS facility provides name resolution for IP networks.
ipDNSRelay: The DNS Relay code provides a facility to relay DNS requests (on behalf of DNS clients) to a collection of servers.
ipDrivePartition: Provides an ipVFSDev conformant file system for reading and writing Master Boot Record and Extended Boot Record partition
ipDSLThomson: The ipDSLThomson package implements ADSL support for Thomson ADSL chip set. ipDSLThomson package is designed to work with USB mini driver.
ipEXIF: A streaming parser for Exchangable Image File Format EXIF
ipFATFS: ipFATFS provides an ipVFSDev conformant file system for reading and writing File Allocation Table (FAT) based media. ipFATFS support FAT16 and FAT32 based file systems. No support for FAT12 is provided in this release of the SDK
ipFATFSMake: Implements functionality to create FAT file systems such as those that can be used by the FAT file system.
ipFlickr: This package implements the Yahoo! Flickr API.
ipFrameBuffer: This package implements basic functionaliy to manipulate frame buffers.
ipFS: Implements the generalized filesystem usage functionality for VFSDev-based filesystems.
ipGData: Implements an API which help applications access Google's Data API.
ipICYFilter: Filters the ICY metadata out of a stream of data. ICY is the format used by Shoutcast Internet radio streams.
ipID3: This package can decode ID3v2 and ID3v1 tags present in a stream. Text info embedded in audio streams, titles etc.
ipID3Filter: This package filters ID3 tags from a MP3 stream.
ipIGMPHost: IGMP Host is a client of the IGMP protocol. It is used by application software to inform routers on immediately connected networks of multicast group memberships.
ipIGMPRouter: IGMP Router is a client of the IGMP protocol. It is used by application software to discover which hosts on a network link are members of multicast groups. This IGMP router specification has been written to comply with RFC 2236 (Version 2 of IGMP).
ipJPEGLib: Provides capability to decode JPEC files
ipL2Switch: This is an N-port layer 2 switch that provides 802.1d compliance, with a filter table and table aging.
ipLEDMgr: ipLEDMgr provides a simple API to manage an LED in an application independent way.
ipMediaEngine: Provides a media framework for developing audio and video applications.
ipMEFIFO: FIFO module for MediaEngine.
ipPOSIX: Implements a subset of Issue 6 of the POSIX Specification including P-Threads and signals.
ipPWM: ipPWM implements a Pulse Width Modulator (PWM). The PWM is used to generate a square wave with a desired frequency and duty cycle on a specified pin.
ipRAMFS: Provides an ipVFSDev conformant file system for reading and writing RAM-based files.
ipRandom:
ipRSS: Parses RSS Streams.
ipRWLock: ipRWLock provides a reader/writer lock that can be used in a run-to-completion operating system (such as ipOS).
ipSecurityModule: OCP Security module is an on chip peripheral of Ubicom32 network processors, which accelerates security algorithms by using special hardware. This security module is designed to accelerate MD5, SHA1, AES and DES algorithms.
ipSOAPClient: This module provides a SOAP client.
ipSTP:
ipTFTPClient: Implements RFC1350 client-side operations, providing reliable lock-step file transfers over UDP.
ipTFTPServer: Implements RFC1350 server-side operations, providing reliable lock-step file transfers over UDP.
ipUSBHost: ipUSBHost implements the USB protocol requirements of a USB Host. In particular, the module handles device enumeration and device classification, and also exposes an API to create endpoints and perform transfers on them.
ipUSBHostMS: The USB Mass Storage Driver for a USB Host. The module talks to USB Mass Storage devices using the SCSI Bulk-only Transport mechanism.
ipUTF: This package implements utilities that help work with Unicode Transformation Format (UTF) encoded strings. This package implements three common encountered encodings: UTF-8, UTF-16, and UTF-32.
ipVDC: ipVDC is an implementation of a Video Display Controller.
ipVFSDev: ipVFSDev defines an abstraction layer for filesystems within the SDK. Rather than being a specific filesystem implementation itself, the ipVFSDev definition is a base class to which VFSDev-compliant filesystems are written, and thus defines a virtual filesystem.
Removed Packages:
--------------------------------------------------------------------------------
The following packages have been removed from the SDK:
ipAsyncFile
ipAsyncFileUSB
ipBigPond
ipBridge2
ipDrive
ipFat
ipFSM
ipPmvm
ipPortForwardALG
ipPortTriggerALG
The following Packages are provided in binary format only:
--------------------------------------------------------------------------------
ipLMACAR5212
ipLMACRALINK
ipNATQoS
ipQoSQueue
ipRateEstimator
ipWISH
Other changes:
--------------------------------------------------------------------------------
Install script allowing customer to skip installation of the Ubicom copy of Cygwin environment
Tool changes:
--------------------------------------------------------------------------------
Many bug fixes have been added to the ConfigTool to enhance its robustness and speed.
Updated the version of Cygwin included in the SDK to version 1.5.24 and provided the user the option to skip Cygwin installation during SDK install
The tool Chain (except for the complier) have been updated to GNU 4.x in SDK 7.6. The updated toolchain have been tested on Windows XP
A new IDE (Eclipse) have been added to the SDK for evaluation purposes. Eclipse can be used to create, build and debug projects. Debug from within Eclipse requires the latest GNU tool chain to be installed
Certifications
--------------------------------------------------------------------------------
WiFi and WPS Certification passing on Gateway, AP configurations using Atheros and Ralink wirless cards
WiFi and WPS Certification passing on Bridge configuration using Atheros and Ralink wireless cards
WHQL certification passing on Dual Radio Gateway configuration using Atheros radio cards
Bugs fixed
--------------------------------------------------------------------------------
Fixed the problems that required us to turn OFF WISH auto classification to pass WHQL certification on Vista
Fixed the upgrade failures that used to occur when SDRAM memory gets severely fragmented.
Known bugs planned to be fixed in 7.6.1
--------------------------------------------------------------------------------
(the numbers preceding each bug are the defect numbers in Ubicom bug tracker)
14716 wbridge: AP list empty sometimes, a reboot is need to restore the list
14778 POSIX: failures in the accept() test
15315 ipFATFS: Read operations do not retrieve the file names in the proper case. The read returns file names in upper case only
15901 ipFATFS\case_sensitivity_file unit test fail
15902 ipFATFS\case_sensitivity_folder test fail
15405 GW: MSFT VTP test with Xbox cannot run from PC, failed discovery
15864 FTP traffic blocked by SPI. Egress ACKs aren't being let through when the WAN IP address is longer than the LAN IP address.
15876 gateway make error when using binary modules. It happened when gloabl_assert is off, global debug is on
Global_setting<DEBUG= 1, DEBUG_DYNAMIC = 0> and pkg_debug is on for some binary modules. When global debug and assert is on and pkg_debug is on, compile was OK.
15923 wbridge B76-- EAP re-associatio fail. We found when the AP switches channel, when using this security mode, Wbridgeis unable to re-associate unless reset.
15940 Crash in the ipRAMFS\read_zero_byte unit test
16069 usb file system: infinite loop in usb in plug/unplug test
16110 [Gateway] QoS: Connection Type with "Cable Or Other Broadband Network" with StreamEngine enabled, does not give MOS > 4
16165 Device project: Status page does not show values correctly when active interface is 'Auto-select'
16181 Device project: Unable to ping the router through the device's wireless.
16193 DWA130 Ralink WPA-TKIP Interop. DWA 130 WPA Tkip on 2.4ghz has poor performance on different channels.
16206 WEP key must be hiddeen at first load but plain text while typing
16273 Device project: PIN function does not work.
16274 Device project: Button "Connect via Soft PBC" enabled at end of wizard.
16275 Device project: Pressing "Connect via Soft PBC" eventually causes a timeout popup error even though it succeeds.
16293 ping failed for Ralink WDS connection on WEP.
16297 BAR handling is wrong. When receiving a BAR, per standard, the sequence control number contained in the BAR should be the lower edge of the reception window. Bug causes SSN+1 to be used instead.
16303 IGMP packets should not be forwarded from private to guest by L2Switch or wireless layer
====================================================================
Ubicom IP5000 Software Development Kit
--------------------------------------------------------------------------------
Release notes for SDK 7.4.5 23-August-2007
--------------------------------------------------------------------------------
================================================================================
SDK 7.4.5 Highlights
Enables a new class of - throughput demanding - media applications by providing support
for dual concurrent 11n wireless radios covering any combination of the two bands 2.4GHz
and 5GHz.
This SDK have been tested successfully with the following certification tests:
-WHQL Vista Premium
-Wi-Fi 11n
-Wi-Fi WPS
This SDK has passed Vista Premium WHQL certification in our own labs and has been submitted
to Microsoft for Premium Logo Certification
--------------------------------------------------------------------------------
Release notes for SDK 7.4.2 07-September-2007
--------------------------------------------------------------------------------
================================================================================
SDK 7.4.2 Highlights
New certification
Wi-Fi 11n for 2.4/5.0 GHz bands (Bridge mode)
Bug fixes
--------------------------------------------------------------------------------
Release notes for SDK 7.4.1 16-July-2007
--------------------------------------------------------------------------------
================================================================================
SDK 7.4.1 Highlights
This release fills out the capability introduced in SDK 7.4. Ubicom has tested
our reference gateway project against a number of standards and determined that
it is certifiable. There are a number of enhancements for manufacturability,
and new capability of a paired AP & Bridge set with instant secure connectivity.
Here is a list of new capabilities:
Radio on board
Radio calibration and testing is required when the radio circuit is
laid on the main board with the ip5k. This is now supported for both
Atheros and Ralink radios.
AP & Bridge enhancements
Using a special build method and boot loader, a product is enabled that
functions as either an Access Point or as a Bridge. The application uses
an autodetection method to determine if it should be an AP or Bridge.
AP & Bridge matched pair
A sample production line test (PLT) allows the programming of a matched
pair of AP and Bridge, so that when first powered up, they recognize
each other without user input.
Multi-cast support
Safari 3.0 browser support
New certifications
Wi-Fi Protected Setup (WPS)
Wi-Fi 11n for 2.4 GHz band (AP mode)
Previous certifications:
UPnP UIC
Skype
XBox Certification
WHQL Vista Basic
CDRouter
================================================================================
Defects fixed in SDK 7.4.1:
wireless: 11n intel interop
wireless: Devicescape EAP-TLS and EAP-SIM WiFi tests FAIL
Object magic checks must be enabled when we enable all assertions
globally as well as when individual packages have debug enabled
Ubicom11na: Wbridge hang with active TCP traffic with netpage depletion.
wbridge: EAP-PEAP cannot connect when IAS is radius server
wbridge: WPS fails when large number of AP's can be seen
Ubicom 11na AP/wbridge: WPS in WEP mode doesn't work properly
Hang while doing WPA-Enterprise Authentication
gateway widget - BE traffic is still active and large when the wish rule
is set to BK
wbridge UI and ipTLS: Check if cert belongs to a CA at UI, not at TLS.
gateway: Association fails between the wbridge and gateway when the
default PIN is used
ipUSB20HCD: optimize code through bypassing DSR
gateway: shared folder cannot be accessed when the netbios scope is a
valid domain name
gateway: log messages shows bridge mac as 0 on the gateway
gateway: PPPoE pass-through option is broken and on the wrong page
gateway in bridge mode: rate estimation is ~30% higher
Memory Leak in LOG code
gateway: Airport 11n doesn't associate with WEP security
starter program fails to bring the LEDs on and off
Enabling global assertions should enable all assertions including magic
checks
ipTLS: Certificate parse error when run against SSLv3 OpenSSL client.
Gateway: HTTPS access does not work
UI: Make compatible with Safari
ipHAL: arch_interrupt_check throws compile warning when called with a
variable.
Heavy use of multicast on the LAN side can cause the WAN to drop
Implement a facility to execute FW binary files directly without over-
writng Flash contents
Implement ART for calibrating Radio On Board designs
Add feature to download and run code from SDRAM
ip3k_compress.lds uses hard coded value for DNV address
ipTLS: SSLv3 server gives padding error when AES or 3DES cipher is used.
Ralink on-board calibration software
DFS cause wireless throughput drop
Safari: spurious "Unsaved Data" message.
Safari: JS error "Undefined value in ubicom.js line 820"
gateway: UPNP not available with Sony Playstation 3
Transmit power adjustment has no effect
gateway: http_connection assertion failure with TCP connection in
stress test 2
gateway: WPS testcase 4.1.2 failed
Safari : choose restore file does not have text location
TCP is broken when used on the Internet (probably down to packet loss)
Email Log failed to send emails
H323(Netmeeting) ALG is not calling from WAN PC to LAN PC.
gateway: IPSEC tunnel over NAT fails
gateway: Supported methods in the WPS IE on the Probe Response is not
correct
TCP zero-window probes occur too slowly and do not exponentially back-off
gateway assert with wifisc corner case: M1 to M8 not able to finish
before time out
gateway: user cannot use ichat AV to establish video & voice connections
Ubicom AP UI: Manual time configuration option -Set the Date and Time is
showing only 3 digits for year.
11n Draft2.0 Conformance
XBOX 360 does not associate in 5 GHz band
Sony PS3 IP address issue: PS3 loses IP address after 1 minute
ipDiffieHellman: public key is not fixed size as 192 bytes
Device needs to respond to large pings, eg 10 kbytes.
gateway project should log when a DHCP lease is handed out
WMM 11n: Test 4.2.20: Incorrect value of AIFSN and CWmax in Association
response and probe response packets
gateway: Can't access internet if SPI is off
wbridge: operation in channel 6 is affected by CPU frequency
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Release notes for SDK 7.4 16-April-2007
--------------------------------------------------------------------------------
================================================================================
SDK 7.4 Highlights
This release is the culmination of 6 months' effort following SDK 7.2.
We are proud of it's many new capabilities. Less obvious, but equally
important, this release has many subtle changes to increase performance
and reliablility.
Radio Devices
Atheros 11n and 11na radios are supported
Ralink 11n radios are supported
Statistics
Many packages are enhanced to provide a consistent API for reading
statistics. For example, ethernet statistics (ipEthernet, ipWDev) and
QoS (ipWISH, ipQosQueue) now provide statistics through a function call,
rather than requiring an application developer to read private header
files to find information.
The project gateway_ip3k is updated to use the new statistics
functionality. The file cgi_xmlstats.c is a good example of how to use
the statistics APIs.
A PC application, called a widget, has been provided. Refer to
gateway_ip3k\tools\widgets for an example. This widget is based around
the Yahoo widget framework. Widgets can be used with a desktop
environment to show router statistics in real time.
Managed VoIP router
A new reference board is provided. This board combines our previous
4-port wired LAN + PCI router with an alternative WAN through a DSL
device. It also equipped with circuitry for enabling two telephone
connections for VoIP operations. Contact Ubicom Marketing for details
about this board (refer to the "IAD Evaluation board").
In support of this platform, many new packages are supplied. Basic
VoIP functions are supported in ipVoice, ipSLICDev, and ipProSLIC.
These packages provide CODEC, Jitter Buffer, and SLIC support.
Our platform now also supports Remote Management, through the imple-
mentation of the TR-069 protocol (DSL Forum). In the gateway_ip3k
project, we've supported a cross-section of TR-098 parameters as an
example of how to use this package. We have also implemented TR-111,
which is used to help managed projects on the LAN side communicate with
a remote configuration server.
DSL support and VoIP connection (SIP, RTP) are not provided in this
release.
Tuned networking performance
The networking performance of ipOS on the IP5000 has been significantly
improved. The driver support for the Atheros and Ralink radios takes
advantage of the IP5000's improvements over the IP3000 to provide
excellent throughput and stability.
Wireless bridge project
SDK 7.4 is the first of the IP5000 series software releases to feature
our wireless bridge sample project, wbridge. This project is a fully
functional bridge, including enterprise-class authentication algorithms
like PEAP and EAP-TTLS. This project also incorporates our automated
QoS package, ipWISH, and the new, one-button configuration protocol,
WiFi Protected Setup (see ipWiFiSC).
The wireless bridge is an excellent starting place for creating appli-
cations that will be wireless endpoints on a network.
Better development platform
SDK 7.4 also adds several sample projects, starter, and telnet for
example. These projects are fully commented, and designed to be
useful for newcomers to our platform. The gateway_ip3k and wbridge
projects are great if you want everything, but these other projects
are helpful for the programmer looking to start with something simple.
Additionally, we've significantly improved our catalog of help text,
and even recorded some internal training discussions onto DVD for
the benefit of our users.
Upgraded tools
The master makefile and configtool have been updated to allow debug
messages to be enabled and disabled per-package. Most importantly,
the debug level can be set per-package, so that one package can be set
to "trace", while another package is only set to "warn". The debug
levels can be set during a debug session as well. The special note
below has some information about how to use this new capability.
dumpheap is a tool that reads a coredump file and analyzes memory
usage, looking for memory leaks. The tool is found in
tools/bin/win32. The SDK documentation contains instructions for using
this tool.
The profiler tool, ip3kprof is significantly enhanced to assist in the
analysis of application performance on the IP5000 family. Refer to the
SDK documentation for usage notes.
Many package upgrades and new packages
The package directory is bursting with new features. Existing pagkages
have been updated to provide better flexibility. Some highlights:
ipNetbuf
Now supports variable-length netbuffers, allowing up to
64 Kbytes to be stored in one netbuf
ipHeap
Supports cache-line alignment for higher performance
ipLock
New package replacing ipSpinlock
ipRateEstimator
Supports more ISPs, more accurately (for example SBC DSL)
ipEthernet
Adds support for Pause Frames
ipPPPoE
Supports multiple sessions and PPPoE passthrough
ipPPP
Supports sending LCP echo requests to time out dead connections
ipLibJS
A library of commonly used javascript functions for the UI
ipL25NAT
Peformance upgrades to a fast-path bridge library
ipBridge2
Performance upgrades.
ipStack
Performance upgrades
ipNAT
Performance upgrades
ipEthIPARP
Performance upgrades
ipDHCPServer
A new and flexible implementation of a DHCPServer
ipMIMEWriter
A handy library for creating email messages
ipSMTPClient
A handy library for creating email messages
ipSPDIFOut
A device driver that can be used for audio output, and as a
sample for other drivers
ipTLS
Added client operation, and 3DES to the cipher suite.
Added AES to the cipher suite.
ipX509
Added certificate chain validation
ipSHA1
Takes advantage of IP5000 hardware accelerations
ipMD5
Takes advantage of IP5000 hardware accelerations
ipDES
Takes advantage of IP5000 hardware accelerations
ipAES
Takes advantage of IP5000 hardware accelerations
ipTR069
Implements the basic protocol for Remote Management
ipLog
System updates to support internationalization
ipVoice
New package wraps a G711 and G729 codec, plus a jitter buffer
and other VoIP functions
ipSLICDev
An abstract object used for SLIC device drivers used in VoIP
functions.
ipProSLIC
A driver for a SLIC used in the Ubicom IAD reference board
ip8021XSupplicant
Fully functionals support for enterprise-grade authentication
SPECIAL NOTE: Issue Not Resolved in Release
-------------------------------------------------------------------------------
Magic Number Checking -- Impacts packages released as binaries.
Magic Number checking is not enabled when "Global Debug -> Enable All
Assertions" is selected in ConfigTool. The greatest effect that this
has is on the use of packages released as binaries. Binary packages are
released with a debug, and a production image. All binary packages, and
the packages in their dependency tree, must be switched as a group
between production and debug.
The reason for this is twofold: First, if the subordinate packages have
"magic checking" enabled, then the size of their data structures is
different, with and without debug enabled. This is a problem for our
packages where the data structure is public. Second, where the sub-
ordinate packages have inlined functions that are non-inlined for
debugging. This also causes problems. If you are writing a new pack-
age, or upgrading an existing package to sdk 7.4, do not copy the
sdk 7.4 packages. Instead, use the following structure to wrap Magic
Number checking so that it is turned on when "Enable All Assertions"
is selected.
If the data structure is in a public header, then surround the
definition of the magic by:
struct mypkg_instance {
u32_t stuff;
char * morestuff;
#if defined(DEBUG) && (defined(<pkg_name>_DEBUG) || defined(DEBUG_ASSERT_ALL))
u32_t magic;
#endif
};
If the data structure is in a private header, this can be shortened:
struct mypkg_instance {
u32_t stuff;
char * morestuff;
#if defined(PKG_DEBUG) || defined(DEBUG_ASSERT_ALL))
u32_t magic;
#endif
};
All magic checking in private source files can be surrounded by:
mypkg_alloc_instance {
inst->stuff = 22;
#if defined(PKG_DEBUG) || defined(DEBUG_ASSERT_ALL))
inst->magic = MYPKG_MAGIC;
#endif
return inst;
}
The following packages are either released as binaries, or are in the
dependency tree of the binary packages: ipEthDev, ipHAL, ipHeap,
ipIPHeader, ipLibC, ipLMACDev, ipLock, ipLMACAR5212, ipLMACRALINK,
ipMACAddr, ipMembuf, ipMQueue, ipNAT, ipNATQoS, ipNetbuf, ipNetpage,
ipOneshot, ipOS, ipPCI, ipQoSQueue, ipRateEstimator, ipStack, ipStorage,
ipTCPHeader, ipThread, ipTimer, ipUDPHeader, ipWDev, ipWISH
================================================================================
Defects fixed in SDK 7.4:
ipBase64: base64 encoding should be unified in one library
Admin password security leakage
Add stealth handling of IDENT requests
ipPPPoE: client should restart PPPoE Discovery when PPP LCP Echo fails
Gateway Project data structure does not use unions
DynDns: It would be nice if we can give hyperlinks to the supported
websites
RGW UI edit combo list is kind of wierd
Gateway assumes that SMTP server is on WAN-side
RGW: Frequency of Firmware email notification
IPSec Virtual Server
ipFWNotify: Enhance proposal with i18n language element
RGW Email+Log: If the device mail log when log full, receiver can't
indentify it from the mail subject
configtool: disabling the profiler disables gdb and breaks build
struct tm is not ISO C-compliant
RGW UI: The wrong message was displayed after "Email Now" button was
clicked when the sending email failed
TCP Out of order Packet Handling enhancement
Ubicom AP: Save Log file needs to be renamed
Ubicom GW: Manual Override doesn't work if NTP is enabled
ipDHCPServer: probe address before assigning
RGW should be able to provide the packet docding capability from the
debug output in the future
ipTCP should allocate a random port is a socket listen is passed a
socket number of 0
netbuf_fwd_strtol() is buggy
Log time interval of repeated log entries
ipStack: Establish the PPTP link under PPTP Manual Reconnect mode
ipL2TP: Establish the link under Manual Reconnect mode
wbridge: AP and WBridge do not associate
Wbridge: Setting the TX rate to 24 Mbps or 48 Mbps causes the Wbridge
to become ureachable
wireless: bridging wlan-wlan seems to be broken when in different subnets
gateway: Default channel for 802.11a (42) won't work with DWL-AG530
PCI card
ipTR069: spec requires control over who can upgrade firmware
Unicast packet count stats are wrong for all datalink types
wireless: "b only" client associates in g only mode
WSC: Registering to the EAP Registrar failed when using factory
defaults config
ipHTTP: violates TCP model for close
Add mouse-over effect to Ubicom subnav
Ubicom UI: support WCN
Ubicom UI: FF saves form when you didn't ask it to!
ipCrypto: ip5k crypto block should be turned off when not used
with too many lan - wan streams, chariot fails
ipX509: The whole certificate chain should be verified, not just the
user certificate.
configtool: re-draw the project tree after packages are added through
dependencies
ipDynDNS: fails with www.regfish.com
ipLog: allow strings to be translated according to browser preference.
ipi18n: Translator errors in C and JS messages cause runtime exceptions.
gateway_ip3k: "Previous message repeated X times" log message is
incorrectly reported
gateway_ip3k: Virtual server does NOT work properly with inbound filter
Ubicom UI: Timezone doesn't work correctly
ipLock: assert in the event that spinlock ops are called from an HRT
The USB 2.0 driver must not call timer_blocking_sleep() from the DSR
QoS No Reboot
wireless: 11g Ubicom bridge couldn't connect to AP in WPA(TKIP) mode
ipFactoryDefaultButton: remove from the SDK
gateway_ip3k: virtual server entry does not take precedence over DMZ
gateway_ip3k UI: Status page loop if QoS Rate estimation is stuck
ip8021XSupplicant: _auth_success() should not free a param passed to it
Widget: Add statistics for UMAC with priorities
Widget: Add statistics for Streamengine with priorities
Widget: Add CGI functions to send statistics to Widget
11n clients lose connection, though the connection status continues
to show connected
MSN Messenger needs to be removed from Application Rules
MMS functionality Does not work
When we disable UPnP virtual servers (web UI option) then we should
re-enable the MSN Messenger ALG
gateway_ip3k: DHCP address renew makes the browser to refresh multiple
times
UbicomUI:cannot re-enable DHCP Server
Ubicom UI: remote HTTPS gives blank page after reboot
Ubicom UI: remote https not always able to get the login page
Port forwarding fails to forward call of duty game.
Ubicom UI: 802.11 mode option displays 802.11ng, and no 802.11n
L2P Virtual Server on the LAN doesnt work
wireless: 802.11n Client Loses Connectivity with the Router at regular
intervals
router has low throughput for small packet
wireless: 11n downlink performance is low
Ubicom UI: don't have the Mixed 11n+ 11g mode on the Ubicom UI
gateway UI: WebFilter UI looks wrong in Ubicom UI
During the rate estimation period the Inbound filter doesnt seem to be
active
Ubicom UI: ASSERTION WHEN DELETING ROUTE ENTRY
Ubicom UI: The wifi protected setup page prompts you about unsaved
changes even if you make no changes to the page and click on
another tab/link
Wrong error message displayed when adding virtual server entries.
Ubicom UI: Disabling access control entries adds a invalid entry into
the list
Router fails to give a DHCP Response when doing rate estimation
ipMSNMessengerALG: remote assist does not work from LAN to WAN
USB 2.0 PLT test fails when device is powered on with UFD plugged in.
Stress Test 3 Crashed with Centrino Association
Crash umac_transmit[608] crash(updation of aggr_end pointer) in
Stress Test 4 Setup
TCP Crash in ST2 Stress Test Setup
ipGDB: Debug Assert from GDB thread does not seem to print.
DCAPT Errors Crash Assertion failed
Invalid oo_packet_list (crash in umac_receive)
Wireless Only Stress Test Setup crashed during 802.11n association
Save/Dont save Settings not prompted when in virtual server page
802.11n association with router fails under stress and sometimes crashes
Intel WMM test case failed
Issue found with 11g WMM
wireless:no connect with Sony PSP in WEP Shared and WPA-Personal-Auto mode
Ubicom UI: Access Control page: Added 9th entry and router crashed
wireless: corp_streamer EAP mode fails after a few days of using
gateway_ip3k: UDP chariot streams die after a brief period
================================================================================
Defects open after SDK 7.4 released:
The version of cygwin make in this release sometimes halts while building
internationalization (i18n) files. Make-ing again finishes the
build.
wbridge: adhoc mode with WEP security does not work
NRT-515: Ubicom 11n not responding during the wds test
wbridge: Netgear AP shows multiple times on status AP list
AP: WDS: wireless station cannot ping the second AP
Ubicom AP UI: WISH page save settings does not give "Nothing has changed"
and WISH rule takes special characters
Ubicom AP UI: inactivity timeout does not give warning when number is out
of range
WMM Enable button (not disabled) with 11n
wbridge: wizard step 2 should disable auto if WPS state is configured
wbridge Ubicom UI: user accnt, after insufficient permissions page,
drop down and radio button fields should be reset back to original
wbridge Ubicom UI: user accnt, clear statistics and clear log buttons
should be disabled
ubicom UI: port ranges are not greyed out in add WISH rule block when
WISH is disabled
wbridge UI and ipTLS: Check if cert belongs to a CA at UI, not at TLS.
Bridge land attack should trigger an application-level upcall
Modify heap code to ensure that we cause randomized cache-way alignment
and thus get the best D-cache performance
The LMAC netbuf pool should be enlarged and avoid using heap allocs
TCP remote window handling not implemented fully
TCP does not support the Nagle algorithm
Wireless project - 1X-MD5 supplicant is missing from the UMAC Bridge.
ipSchedule: add error checking to sched_set_by_weekdays()
UMAC BRI can't join the IBSS created by TI based USR STA
RGW UI: Web Filter page needs to be put in the Access control page
gateway_ip3k: dos or dictionary attack on our login page
gateway_ip3k: URL blocking kills yahoo email - bad html is generated by
gateway
Changing password should ask for current password.
After changing the LAN IP address, Web page should be redirected to the
new LAN address
SMTP client should only send auth info if server does AUTH
when the WAN port is down then redirect web access to the router status
page
RGW should allow LAN PC connects to the web admin pages via the
WAN IP/Port
Bridge UI: Info page should display Ethernet Client's MAC address instead
of WLAN MAC address when Cloning mode is "Ethernet Client"
ipLock: Problem with spinlock inlining in multithreaded spinlock
code generation.
wireless: 11n WEP should be disabled in 11n only mode
ipLibJS: Examing usage and implementation of is_number()
ipEthernet: Chariot dies when running UDP between LAN and WAN - The
current NAT implementation does not handle IP fragment reassembly.
ipStack: DHCP unicasting "all in" route causes WAN ingress to be
forwarded to LAN when WAN subnet is same as LAN subnet
(datagrams not pushed up local stack)
gateway_ip3k: enable client side queries of gateway state
ipNAT: SPI fails to block RST packets
ipDHCPClient: should test the ip address before accepting offer
ipXPath: // does not work properly
Gateway/AP should handle LAN IP renumbering without needing a reboot
Configtool: complains Can't find compatible HRT Pattern
Ubicom UI: DHCP validator/watcher function not working properly if user
doesn't reboot after changing LAN IP
out-of-order packets (OOP) is not implemented in ipTCP
Missing make dependency on app.ldi
When LAND attack to switch is detected, Gratuitous ARP should be used to
reclaim the mac
-------------------------------------------------------------------------------
Release notes for SDK 7.2.1 16-October-2006
-------------------------------------------------------------------------------
This release of the Ubicom SDK is significant because it provides updates
to the gateway_ip3k project that have been qualified by Microsoft as "Works with
Vista". This release also includes support for the very latest implementation
of WiFi Alliance's WiFi Protected Setup protocols.
In addition, there are several bug fixes, and the HTTPS handling code has been
updated to be more defensive against malicious attacks. There are some tool
upgrades as well.
If you are upgrading from an IP3k development system, please use the tools
with this distribution. They will work for building both IP3k and IP5k projects.
SDK 7.2.1 is a release of the software development kit for the Ubicom IP5000.
This release contains a number of advancements beyond the SDK 7.2 release:
o Tuning of 802.11n device drivers for higher performance and stability
o Tuned performance in QoS to match Microsoft WHQL tests
o Wireless Intelligent Stream Handling (WISH)
o WiFi Protected Setup (AP role only)
o Microsoft Link Layer Topology Discovery (LLTD) support
In addition, some package/build/tool issues were fixed:
o Fix a build issue where configuration files larger than 1 flash
sector are loaded incorrectly
o Fix an error in debugger interface where the call stack is
incorrectly calculated
o Introduce a new tool heap_dump, which can be used to trace memory
allocations in a coredump file
o ipTLS was partially rewritten to address memory leaks in the event
of malicious or otherwise failing connection attempts
Migrating from SDK 7.2 to SDK 7.2.1
There is only one API change, which is in ipTCP and ipTCPS:
Previously on receipt of a FIN from a remote host ipTCP and ipTCPS
would signal a close callback to the application layer, the TCP
layer would move the connection into a CLOSE-WAIT state and then the
connection would no longer accept data from the local application.
This behaviour didn't meet the requirements of RFC793 where the
local application should (optionally) be able to continue sending
data to the remote host until it too was ready to send a FIN.
The software now does not cause the receipt of a remote FIN to
automatically trigger the close behaviour locally. Instead the
application code must now explicitly close or reset the connection.
This allows the local application to also perform connection
assassinations where a RST is sent instead of a FIN.
The change does require that any TCP close callback function must
now either explicitly trigger close behaviour or may, optionally,
defer sending such a close until later. ipHTTP now supports this
optional deferred close in order to allow it to continue sending
data in response to a request that was immediately terminated with
a FIN.
As part of ongoing cleanup work within the SDK the close callback
was also modified to take an enum parameter for the closure reason
- this requires that all such callbacks be slightly modified and
provides a good reminder to add a call to tcp_connection_close()
for any situations where the original SDK behaviour is still required.
In addition to these the TCP error returns were changed from s8_t
to tcp_error_t enums as part of ongoing SDK cleanup work.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Release notes for SDK 7.2 September 15-2006
-------------------------------------------------------------------------------
This sdk release builds on the first software release for the Ubicom IP5000
processor. There are some new featuers, and it includes a number of defect
fixes and performance improvements.
New in this release are:
o Ability to use a single switch chip for both LAN and WAN
o PPPoE passthrough mode
o TLS and SSL server functionality
o TLS client functionality
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Release notes for SDK 7.0 July 15-2006
-------------------------------------------------------------------------------
Ubicom SDK 7.0 is the first SDK release supporting the IP5000 line
of microprocessors. The goal of this release is to provide ease-
of-development features, both from software innovation, and new
hardware functions. In addition, this release continues to expand
on the strengths of ipOS, delivering low-latency network traffic with
a high quality, small executable footprint. This release supports the
802.11n (draft) radio from Atheros.
This release focusses on the Home Router reference platform, this
is the only sample project included. Other sample projects will
be provided in future releases.
-------------------------------------------------------------------------------
Release features
o Server Side Includes (SSI)
o Reflection
o Draft 11n radio support
o IP5000 hardware features (new to ip5000)
o Wireless Intelligent Stream Handling (WISH)
o WiFi Simple Config
o Link Layer Topology Discovery (LLTD)
o Home Network Administration Protocol (HNAP)
o String Internationalization (i18n)
o Advanced XML handling
o Simplified HTTP serving
o Secure Sockets (TLS 1.0)
-------------------------------------------------------------------------------
Server side includes (SSI) and Reflection
Server Side Includes (SSI) is a different technique for developing user
interfaces. Using SSI and Reflection, the UI writer can directly access
any system parameters for display or modification. SSI allows the user
interface to be developed using off-the-shelf web page tools. This
enhancement is part of Ubicom’s work to provide a solid platform for
development.
Note: The UIGEN method of development is deprecated for this release, in
favor of SSI.
Reflection is a system whereby run-time information about parameter names
and type information is available to the executable. This feature is used
by SSI for greatly simplified parameter access, and is used for other
functions, such as UPnP and TR-069 handling.
Draft 11n Radio Support
This release supports the latest draft 11n radio from Atheros. The IP5000
platform allows full exploitation of the available bandwidth, and reduces
the processor load, enabling advanced functionality. This feature is
released as a binary library only, except where the appropriate licenses
have been executed with Atheros.
-------------------------------------------------------------
New IP5000 hardware features
o PCI is included as a hardware block, and so takes less processor time
o There is an integrated cryptographic accelerator
o All memory is accessible through C pointers (no mem_* API needed)
o USB 2.0 is available
Wireless Intelligent Stream Handling (WISH)
WISH is the next step for the Ubicom Stream Engine technology. This
innovation applies automated classification for QoS between the wireless
local network and the wired connections. This software release includes
the first level of WISH implementation. At this level, streaming media
files that are served using HTTP are recognized and prioritized. This
feature is released as a binary library only.
-------------------------------------------------------------
Wi-Fi Simple Configuration
Simple Configuration is protocol specified by the WiFi Alliance, and
is designed to be an easy and secure method for adding clients to a
wireless network. This release supports the AP portion of the protocol.
A device enabled with this code can act in the "AP" role.
Link Layer Topology Discovery
This is a protocol from Microsoft that allows a client to discover all
of the elements of a local network, even through levels of home routers.
The protocol also can be used to configure some quality-of-service elements.
Installing this source code requires executing a license agreement with
Microsoft.
Home Netowrk Administration Protocol (HNAP)
This protocol, created by Pure Networks, provides a method for configuring
network equipment from a LAN-based PC.
-------------------------------------------------------------
String Internationalization (i18n)
The i18n functionality is updated in this release. The new system supports
the SSI and provides faster performance. In some usages, the language
presented can be changed on-the-fly, and based on the preferred language
of the attached web browser.
Advanced XML Handling
This release completes a sequence of enhancements that enable simple
handling of SOAP and other XML-based protocols. Both reading and writing
XML are well supported. The new packages ipSOAPWriter and ipSOAPParser
are introduced. The packages ipSOAPServer and ipSOAPClient are deprecated
in this release.
Simplified HTTP
Both HTTP serving and browsing are improved and simplified, with the
introduction of ipHTTP, ipWebServer and ipWebBrowser. Using these packages,
it is very easy to serve pages, or read external pages. ipHTTPClient
and ipWeb are deprecated in this release.
Secure Sockets Layer (TLS 1.0)
TLS authentication and stream encryption is supported. Certificates for
both client and server are supported. SSL 3.0 is supported for server-side
transactions only.

