The Advanced Modem Router Gateway (AMRG) is an open software gateway platform that has been designed based on the Internet of Things Architecture (IoT-A). Further to the standard modem/router functionality, it provides the means to the end user to replace dedicated desktop computers for the execution of tasks related to management of devices, remote control and monitoring in a variety of diverse environments, through the expandability of its physical interfaces and M2M communication. The user is free to select and build its own solution(s) or choose the one that best meets the requirements out of a list of pre-configured bundles.
The AMRG features an ADSL2/2+ interface, five Ethernet 10/100BT ports, IEEE 802.11a/b/g WiFi and one USB 2.0 host port. It also provides a serial (RS-232) debug console allowing for bootloader and OS access. Additionally, boot-select is configured and can be toggled between UART and Flash boot making it possible to reprogram the board from scratch even with broken firmware on it. The Operating System running on the AMRG is based on the OpenWRT Linux distribution and comes with full instructions for setting up a complete toolchain and programming environment that allows for both user space and kernel module development. The development environment allows for selection from a wide range of open source software including applications, services, drivers and networking protocols.
The AMRG software can be updated and configured on demand over the network using its own package manager, the OPKG, a powerful tool supporting dependency resolution, configurable connection to remote repositories and web-based GUI included in the administration console. A fine grained administration console allows for setting networking options and firewall rules. It provides real time statistics on the usage of resources and access to any kind of configuration, start-up scripts and service management. Configuration can be backed-up and restored on demand. The overall Flash image containing kernel and filesystem can be updated through the administrator console offering a more convenient way to reprogram the platform without the need to go through the more expert mode via the bootloader console. A PhoneME Java VM has been ported to the Linux OS of the AMRG supporting version 1.4 Java code that can be used to deploy Java services.