P2P for embedded systems: BitTorrent and Emule – Part 1

Whether your device is a Network Access Storage (NAS) or a media player with network capabilities, you may consider adding P2P to allow downloads of files as you would do on your computer. Two of the most used P2P protocols are BitTorrent and eMule, but most of the client have a UI designed for Linux or Windows and may not be easily ported to an embedded system. So what we need to look for here are command line based clients or daemons that can be compiled and run in an embedded platform. After some research, here are the 2 programs we’ll use: aMule 2.2.6 a multiplatform eMule-like client Transmission 2.13 running as a daemon for BT dowloads Today, I’ll show how to use aMule 2.2.6 in Sigma Designs SMP863X target, for example in Popcorn Hour A-100. But a similar method (just a different compiler mips-linux-gnu-gcc and setting Little endian (-EL)) […]

HTTP Server for uCLinux

You may need a web server on your no-MMU embedded system in order to allow remote configuration or possibly provide external access to some files. Usually, you’ll need a lightweight webserver (e.g. not Apache) with the required features and in case of no-mmu system, source that can accommodates uClinux limitations such as no fork support. You’ll also take into account the programming language or the server: e.g. C/C++. Java, Ruby, Perl… If your system does not support Java or Perl for example, that may not be the best solution to add one of those only for the web server and it also depends on the resources (Flash/RAM) available. There are plenty of C/C++ lightweight http servers such as thttpd or lighttpd, however those are using fork in their code. One open source http server that is lightweight and uses vfork (instead of fork) is mathopd. At the time of writing, […]

Default root password for sigma designs smp86xx boards

I have seen some people google for the default root password for sigma designs boards and they ended up in this blog without any answer. So I’ll provide some kind of answer. In the serial port console, once you get to the username/password prompt, the root password is… there is none, just press “Enter”. This is the default behavior in Sigma Designs SDK, it’s quite possible the root password has been changed for the device you are trying to access. In case telnet or ssh is enabled, you may try one of the default users in /etc/password, that may not have been disabled by the development team e.g. ftp, man, nobody,default, etc… and try to login without password, by just pressing “Enter” at the password prompt. Once you are logged-in as a normal user, type “su” to become super user, press “Enter” if you are being asked for a password. […]

Media Player based on SMP8653 – Magic Box HDP500

Magic Box HDP500 manufactured by gmini (apparently a Russian company)  is a new media player featuring the 500-Mhz SMP8653 chipset from Sigma Designs. It does not use Android OS yet, and as far I know no company has yet released SMP8653 Android based products. Having said that,  it comes with most of the connectivity you would expect from a decent set-top box: USB connector (device: USB storage,host: laptop/PC connection), Audio/Video Composite ouput, Component (YPbPr)  output, HDMI and optical digital audio output and and Ethernet port. On the software side, it is a full featured 1080p media player,  with video, music and picture galleries, Internet Radio, UPnP support… It could also be used as a NAS with the USB host connection to your PC. The missing features are: no support for digital TV (e.g. DVB-T, DMB-TH), no Wifi support, no web applications/web browser, no movie download (BT/Emule),  no Real media video […]

Enabling swap in embedded systems

If your embedded system running Linux does not have enough memory, you can enable swap to get more memory. However if your platform does not have MMU (Memory Management Unit) as is the case for Sigma Designs EM8620 series, it won’t support swap, so forget it. If your platform does have MMU, as is the case for many newer platforms such as Sigma Designs SMP8630, SMP8640 and SMP8650 series, you can enable swap support. First you’ll have to make sure swap support is enabled in your kernel:

and swapon/swapoff is enabled in busybox. So for example if you have an IDE harddisk with the second partition configured as swap. (Use fdisk to create a partition and mkswap /dev/hda2 to initialize the partition), you can enable the swap as follows:

If you get out-of-memory killer kernel error, you can change the “swapiness” to avoid oom-killer to kick in.


Resources for SMP865x SMP8652 SMP8653 SMP8654 SMP8655 SMP8656

Less than a year ago, Sigma Designs released the SMP8652, a secure media processor “designed to provide the optimal price/performance configuration for thin client applications, which include IPTV set-top boxes, digital media adapters, and hybrid cable/IP thin clients.” SMP8652 provides cost savings compared to the SMP863X series, due the integration of functions such as Ethernet and USB – that allowed them to skip PCI support in their new chip – and better performance (500Mhz MIPS24K CPU). SMP8650 series processors also use the MRUA and DCCHD SDK that need to be purchased as for the previous generation of chips. [ad#Google Adsense – Wide Banner] You can also purchase more SDK from Sigma for SMP8652: Adobe Flash Lite Qt/Webkit Integration Java VM Some DRM SDK (e.g. Microsoft DRM)… As for SMP8630 series, SMP86520 series processors also have a MMU (as most of new chips nowadays) so that you won’t come across the […]