This article gives a step-by-step description on how to get the m3ddity-player working on the TP-Link TL-WR1043ND device, using the stable version of OpenWRT 10.03 (backfire).
First you need to checkout the OpenWRT 10.03 (backfire) branch:
svn co svn://svn.openwrt.org/openwrt/branches/backfire
cd backfire
Then the feed for the m3ddity-player must be added:
cp feeds.conf.default feeds.conf
echo "src-svn jcoderz http://www.jcoderz.org/svn/m3dditiez/branches/openwrt-10.3/packages" >> feeds.conf
./scripts/feeds update ./scripts/feeds install -a
Now run menuconfig and select the necessary modules:
make menuconfig
The following list shows only menuconfig entries where settings have been changed. Settings not shown here are left untouched.
Target System (Atheros AR71xx/AR7240/AR913x)
Target Profile (TP-Link TL-WR1043ND v1)
Global build settings --->
[*] Remove ipkg/opkg status/data files in final images
[ ] Enable ipv6 support in packages
[*] Build the OpenWRT based toolchain
[*] Image configuration --->
(192.168.0.5)LAN DNS server
(192.168.0.5)LAN Gateway
(255.255.255.0) LAN Network Mask
(192.168.0.111) LAN IP Address
Base system
<*> block-mount
< > dnsmasq
< > firewall
Kernel Modules
Filesystems
<*> kmod-fs-ext3 (for USB drive)
<*> kmod-nls-utf8
Other modules
<*> kmod-ledtrig-netdev
Sound Support
<*> kmod-sound-core
USB Support
<*> kmod-usb-core
<*> kmod-usb-audio
<*> kmod-usb-ohci
<*> kmod-usb-storage (for USB drive)
Network
< > ppp
< > iptables
Time Synchronization<*>ntpdate
Multimedia
<*> gst-mod-alsa
<*> gst-mod-mad
<*> gst-mod-souphttpsrc
<*> gstreamer
<*> m3ddity-player (only with [jCoderZ.org](http://www.jcoderz.org/m3dditiez/wiki/openwrt-packages) modules)
Utilities
<*> alsa-utils (for alsamixer/alsactl)
After the configuration step is completed, the image can be compiled with the following command:
make
The next steps assume that the router is already running a stable version of OpenWRT (flashed initially via the original vendor UI). If that is the case you can now connect to the router by running:
telnet 192.168.0.111 # The IP configured during menuconfig
Now copy the new image to a location on the router with enough space, for example a USB stick (/dev/sda1):
mkdir /mnt/usb
mount -t ext2 /dev/sda1 /mnt/usb
cd /mnt/usb
scp USERNAME@HOST:HOME/backfire/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin .
Now drop the caches:
echo 3 > /proc/sys/vm/drop_caches
Then reflash the image with the following command:
mtd -r write openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin firmware
The router will reboot and you can connect again after reboot:
telnet 192.168.0.111
Replace the USB stick with the USB audio device and run the m3ddity-player with the following command:
m3player
Now you should hear a sound as the m3player starts playing one of its presets from the config file /etc/m3player/m3player.ini.