Embedded Software using Intel x86, Cavium OCTEON, Intel Rangeley, Freescale, Atmel, PIC, Microchip -- Project Updates
Paxym Software Services for Embedded Systems using CPUs OCTEON XLR Rangeley Intel Freescale Avoton Atmel PIC Microchip
Embedded SW Project Updates
Mar'15 Linux Pocket Router on Raspberry-Pi-2 device
Paxym Inc.'s team completed configuration and packaging of minimal Linux distro to enable a Raspberry-Pi-2 (BCM8236) based appliance to function as a full-fledged Router. Along with further customization and addition of Customer's Proprietary SW packages.
Jan'15 Linux Fast-Path for IPv4 Packet Switching
Paxym Inc.'s team is engaged in developing a Fast Path Packet switching solution for customer. The Fast Path Switching is performed early at the Device Driver level and is trigger sensitive to System's Networking Parameters configuration.
Dec'14 AR9344 Ethernet Driver's Packet Performance Improvements
if_arge Device Driver for FreeBSD was rewritten to improve system's packet switching rates. As measured using IP Fast Forwarding and iPerf, the final system's packet forwarding rate was 3x stock FreeBSD code, as well as 1.8x Linux (OpenWRT) Forwarding rates.
Amazon's variant of FreeRTOS ported to Marvell EZ-Connect MW300 / MW302 with AWS-IoT-Core verification
FreeRTOS variant by Amazon is utilized on a number of devices based on low end Micro-controllers and CPUs. Paxym's team was involved in port of this FreeRTOS (ver 10.0.1) on Marvell MW300 / MW302 for Customer. Amazon's IOT SDK with AWS Greengrass, AWS IoT-Core and was fully verified on device and Cloud side. Simulated Device nodes, to verify a system with 5000 nodes. Customer also required self-provisioning, periodic firmware upgrade checks, continious configuration changes polling, and Security libraries etc.
Jun'14 Saving &Securing Private Provisioning data for the Device inside Kernel image
Live Kernel stamping of the Kernel image, on the Target HW itself. Purpose was to factory ship common OS image, followed by securing of Provisioning data to enable certain features and class-of-service on a per customer basis, directly within the OS image file itself. This is as opposed to saving it in other places in Flash or in nv-ram. Works with FreeBSD and OpenWRT (linux).
Jun'14 Dual-Image support on TP-Link WDR4300 router (AR9344 Mips-74k)
For DD-WRT, OpenWRT and FreeBSD based ports on WDR4300, the 8MiB flash is too small to accommodate two images. One for current operation, and the other for upgrade or fallback purposes. Using Ext-Root (USB based RFS), Paxym created a PostStrap loader which determines the Next-Boot image and re-uses loaded U-Boot to replay the boot procedure with the correct target (Next-Boot) image.
This saves the customer a truck roll, and allows for remote software version management.
May'14 OpenWRT bundle with OpenMesh (BatMan-adv) support along with web integration
OpenWRT bundle for customer, including Mesh implementations (open-source Open-Mesh), while addressing a number of stability and functionality challenges to make it a Product Field-Ready Access Router.
Along with auto-configuration pull-down (REST apis) this allows the customer to deploy a field device with almost no in-field provisioning/configuration needs. Deploy and forget.
Apr'14 FreeBSD port to TP-Link WDR4300 router based on AR9344 Mips-74k
Paxym Inc. ported FreeBSD-10 to TP-Link manufactured WDR4300 Wifi router. This is based on Mips-74k Big-Endian CPU from Atheros AR9344 along with AR8327 Gigabit switch chip. Various Network drivers were ported along with USB, Network tools and Switch and VLAN Management code. The system also supports Hardware NAT on both the internal switch and AR8327 switch.
This project replaced the factory DD-WRT OEM image with the FreeBSD OS targetted for embedded space.
Feb'14 MPLS functionality in FreeBSD Mips
Paxym Inc. completed the following MPLS solution for a customer: Complete MPLS functionality ported into Mips based FreeBSD CPE device.
MPLS LSR Input and Output packet paths, MPLS family registration, manual routing for LSR, In/Out Labels (swap,pop,push), Mark interface as MPLS (ifconfig), LDPD port, if_mpe changes for MPE interface working, etc.
Mar'14 Raspberry Pi based Environment Monitoring
Paxym Inc.'s team delivered SW for a Raspberry-Pi appliance able to monitor various environmental parameters and system health checks, along with dynamically updated web status page. Customer's specified Peripherals were added and their corresponding Device Drivers were developed for the Customer.
Oct'13 CAPWAP stability and robustness fixes
Debugging of a number of issues in CAPWAP code in use by customer. Reproduction, Isolation and identification of root-cause for a number of code issues in CAPWAP implementation. Fully hardened OpenWRT bundle, for which an automated test-bed was created via TCL/expect scripting. This system will identify any new bugs and any regression getting reintroduced into the system. Patch creation for all source code changes and code walk-through and formal reviews.
Aug'13 Web server on Buffalo DHP600
AR7161 Mips24k based platform with key chips from Qualcomm Atheros. Complete web server port with PHP, RRD tools and Zend-Framework.
This project replaced the existing DD-WRT based OEM image with private FreeBSD image similar to zRouter. Resolved challenges with PHP builds for big-endian CPU.
May'13 Raspberry Pi based CAN-bus peripheral
Paxym Inc.'s team completed bringup, testing and full SW stack for CAN functionality on a Raspberry-Pi based device for Customer. Further BlueTooth connectivity was provided for easy data dump back to Host.
Apr'12 HotSpot 2.0 802.11u Open-Wrt implementation (Netgear WNDR3700)
Allow roaming of mobile devices via 802.11g wifi. Actually based on older 802.11 (2007) spec. Included Access-Network-Queries, General-Service-Advertisement components.
Jan'13 VoIP Security gateway
Further work on Buffalo WZR-HP-AG300H FreeBSD using Atheros AR7161 Mips cpu, AR8316 switch with VLAN, AR9220/AR9223 wlan radio.
Enabled VLANs with FreeBSD on AR8316. Complete isolation of 4 subnets using 4 port AR8316 switch vlan functionality.
Uboot reverse engineering to work-around bootcmd bootm bug by patching object code. Now allows arbitrary bootcmd configuration and setup from shell.
Fixups in USB driver, GPIO, SPI Flash etc.
Oct'12 Medical device firmware
Work involved MQX bringup, tweaks on FreeScale PPC. Using Code-Warrior IDE. Automated Test case development.
Aug'12 FreeBSD Mips appliance
FreeBSD port to Buffalo AG300H, MIPs platform. U-boot changes, porting of nuttcp, mpd5, libpdel, libexpat2 (bsdxml), nanobsd, USB based RFS, enabling LAN/WAN connectivity etc.
Jun'12 802.21 Seamless Wifi Handover Open-WRT PoC (TP-Link TL-WR1041)
POC on Open-WRT (as well as DD-WRT) for seamless handovers based on 802.21.
Feb'12 Health sensor pod SW
Work involved OpenRTOS port/bringup on i.mx28. Hard priority based tasks to collect vital signs for off-hospital care.
Dec'11 CAPWAP (cap-wap)
Work on CAPWAP implementation, whereby additionally involved CAPWAP tunneling acceleration on OCTEON multicore network processor, as well as TLS offload using Cavium's SSL stack for OCTEON cpus.
Aug'11 DD-WRT rebuild for TP-Link
Customer's need for traffic accounting was catered-to by adding a proprietary flow counting method along with userland applicaton in RFS. This required a rebuild of DD-WRT with kernel upgrade.
Embedded BUS, Peripherals (BL4.0, BLE, NFC, etc.)
Completed NFC App designed to Enable support for ID-20 NFC reader on an Android Terminal based on Olimex A20 boards.
Worked with Android NFC Service's higher level generic API.
Worked with the NFC lower / driver level. Current Stock Support is only for Broadcom and NXP NFC chips. We extended this to implement additional Driver for other semiconductors PN532 etc, with Olimex dev boards.
Utilized various NFC card formats, and Tag formats. Mifare Classic and Mifare Desfire.
Integrated Card readers by interfacing using RS-232, Wiegand and SPI bus.
Currently working on Android App for ID06 standard (ID06 is mandated by Swedish government to be used for Attendance Management at all Critical Constructions sites in Sweden.
Android versions worked with: multiple, and more recently 4.2.2 and 4.4