StreamBox Alix v.0.1

Last changed: 2009/05/13 01:06 

 

This revision is from 2009/05/03 23:46. You can Restore it.

Alejo Duque

StreamBox

http://farm4.static.flickr.com/3603/3496073603_c36fa300ea.jpg

An easy to deploy plug-n-play stream machine running PureData (pd) and running on cheap, silent and reliable hardware (Alix computer)

http://farm4.static.flickr.com/3589/3497595643_c99e434b81_o.png

NOTE: the oggcast~ object using a small buffer size this proved crucial to have a stable stream

Short 5min video explaining how it all works: http://vimeo.com/1650869

Tips for the streamers who got already a streambox

StreamboxFAQ

Desktop image:

http://farm4.static.flickr.com/3353/3497780999_97bfccb884_o.png

Notes on the preparation process:

http://nujus.net/~locusonus/dropbox/alejo/alix_pics_streambox/alix3c3_fondoblanco.jpg

Info related to some of the hardware in the box:

Specifications:


CPU: 500 MHz AMD Geode LX800 
DRAM: 256 MB DDR DRAM 
Storage: CompactFlash socket 
Power: DC jack or passive POE, min. 7V to max. 20V 
Three LEDs 
Expansion: 2 miniPCI slots, LPC bus 
Connectivity: 1 Ethernet channel (Via VT6105M 10/100) 
I/O: DB9 serial port, dual USB, VGA, audio headphone out / microphone in 
RTC battery 
Board size: 100 x 160 mm 
Firmware: Award BIOS


streambox:~# lspci 
00:01.0 Host bridge: Advanced Micro Devices [AMD] CS5536 [Geode companion] Host Bridge (rev 33)
00:01.1 VGA compatible controller: Advanced Micro Devices [AMD] Geode LX Video
00:01.2 Entertainment encryption device: Advanced Micro Devices [AMD] Geode LX AES Security Block
00:09.0 Ethernet controller: VIA Technologies, Inc. VT6105M [Rhine-III] (rev 96)
00:0c.0 Ethernet controller: Atheros Communications Inc. AR5413 802.11abg NIC (rev 01)
00:0f.0 ISA bridge: Advanced Micro Devices [AMD] CS5536 [Geode companion] ISA (rev 03)
00:0f.2 IDE interface: Advanced Micro Devices [AMD] CS5536 [Geode companion] IDE (rev 01)
00:0f.3 Multimedia audio controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] Audio (rev 01)
00:0f.4 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] OHC (rev 02)
00:0f.5 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC (rev 02)

Specifications for the streambox on the beagleboard will be developed here:

StreamBox Beagleboard

Current Status

IT'S A BUG!!

-the machine won't boot unless theres a screen connected: (a BIOS related issue). STATUS: FIXED

+found a cheap hardware hack bridging pins 12 and 5 on the video out connector. Now it boots without the need to attached monitor.

FLASHING THE BIOS WITH A NEW UPDATE FIXED THE PROBLEM FOR GOOD! No need for the jumper anymore.

-install awesome instead of xfce4: DONE!

'-(since we hardly needed or used the window manager, is clear we dont need xfce4 and can use something lighter like dwm or awesome.

since it wont change the current work flow it will be done perhaps for next version.-'

-Add an account for a user: DONE!

-Consider and not forget testing the delay buffer in the pd audio settings:

To be done by the user.

-hardware wise fix tight the bolts. DONE!

To be done before shipping.

-network wise: assign a fixed IP to the wireless card and set it to ad-hoc mode. mark the box with this unique IP (as its ID).

This will potentially allow remote login and administration.

DONE! (lacks testing) nm-applet was installed after rev10

-fix the auto reconnect along as the manual reconnect/disconnect.

auto-reconnect works again in the rough original way (aka reboot)

~-manual connect still is not ready-~ —DONE!

-peter mentioned adding a compressor to the patch. the zexy lib is installed but crashes the alix.

NO POSSIBLE FIX FOR PRESENT RELEASE. NEED TO MANUALLY COMPILE ZEXY

-tests for the netsend/netreceive stuff that is already present for the ad-hoc links.

DONE! (needs testing scenarios)

-we tested a battery with the alix

it was at least 7hours streaming. 7.2amp/hours was the capacity of the battery, (needs testing scenarios)

-fix nfs bug

when hit by NFS stale type errors, that most likely will come up after suffering a hard crash and rebooting without a screen attached to the VGA video output. you will have to run this command from a different computer on the CF card volume that contains the filesystem.

SOLUTION:


#fsck -y /dev/THECORRUPTEDCFVOLUME

Again This issue is likely to happen when the machine had a monitor and was hardly unplugged or reset, and then after, you try to boot without a monitor or a jumper failing on that NFS error. After rev.10 with the BIOS upgrade is possible that one plugs a monitor after the streambox has done the boot, it is highly advisable to ALWAYS turn off the device from the software option instead of simply unplugging'''

Previous Notes

Date Saturday 15, august, 2008

Fisrt step was to try to re-use the filesystem from the previuos alix board (redalix) hoping that the File System image i made in Nice could serve as a clone for this new boards, that will save a lot of time since i wont have to begin installing stuff from scratch.

IT DIDNT WORK !!

So, simple, i had to reinstall all from zero.. deboostrap debian to the CF card, install a new kernel, install X window system, have issues with the video card, install kernel sources, compile a new custom kernel....

Date August 31 2008 3am

After an intense week of strembox work, im glad o report before september begins that:

-Finally i got it to boot my own customized kernel and the X window session.

-The alix 3c3 boots now into debian linux.

-It launches a window manager called xfce4 (it took 3 days debugging a kernel that could properly control the video card, all the linux images that are in the internet are for headless systems, mostly cause the device is too new and cause people that works with them intend mobility or low power so having a monitor is not on the list of things to have or carry. this boxes are used simply as wireless routers or firewalls). I tested 2 window managers (both are included in the latest image), DWM and XFCE4, the last one is the default one.

-sound card was configured via alsconf, it gave no problems whatsoever.

so, GUI works and mid-size window manager is installed (along with a lightweight one called DWM that will not be easy for the novice, right now one can either startx for dwm or startxfc4 for the friendly one, it will go to xfce4 automatically). All this with the spirit of allowing the user to open and see the patch (hoping s/he is versed on pd)

what im missing right now:

-(the usual) a simple amplified microphone... but, this should be the job of someone with the know-how in LS, i have still a lot of work on init scripts.

-beta testing the image, for this im ready to send this week a board to peter so he can help test the pd patch and comment on how things work for this "beta version"

Date Sep 1, 2008

Wireless card is installed, drivers are in place, i made stream tests yesterday with it. The box includes now a second streaming option via Darkice, but the default is via PureData and the oggcast~ object, that got me busy til i finally got to stop a glitch produced by the buffer setting of the original patch from locus sonus 2007.

Right now the box only makes dhcp requests on the wired cable automatically is my intention to fine tune few scripts, as we talked in VA one of them could take care of resolving IP's either with one (eth0) or the other (eth1), this can be easily tweaked remotely if the streambox is on a network that allows remote access (i also tested this yesterday ssh) or one can just send a new 2gig CF card with the improved version of the OS (operative system).

I decided to send you this one now so to cover terrain regarding the pd patch. you have by far sharper eye on that.

Many other things are there to be solved, this is just a release candidate that on my side proved stable.

Also, the box can stream using the Darkice software, withouth opening a GUI. So this streambox can stream with 2 diff methods, 2 different cards..right now is just set to eth0+pd

For the case of the paraboles it could be as simple as, eth1+any player (mpd, vlc, xmms, mplayer, etc)

Date Sept. 2

I just send the first box to Peter, I hope he gets it by friday.

Date Sept.3

im assembling box #2 and updating this wiki notes, This below is an image on how i decided this time to connect the pigtail for the antenna.

Date Sept.6

Is nice to know that the board arrived to the south of france, Peter just set it up replacing the machine that was streaming to the mountpoint /marseille_cap15.ogg perhaps the most stable of the streams in the locus sonus map.

Local keyboard map

In order to allow simple edits to the patch, and since there are so many different keyboards i needed to add to this to the patch, now the user can switch from Spanish to French, German or English keymaps from within the pd patch.



[setxkbdmap fr(
|
|  [setxkbdmap en(
|  |
|  |
[shell]

add to the patch a rutine to make a DHCP request before rebooting

DONE!


#!/bin/sh
# Request85.0.167.39script alejoduque@gmail.com

#IP=` ifconfig | grep eth | awk ' /eth/ print '`
#echo $IP
ifconfig eth1 down
ifconfig eth0 down
echo be patient while we request an IP
echo a message will be printed when finished
sleep 1
dhclient
echo dhcp_request_done!

The alix image has now few bash scripts to configure the network devices accordingly to the different situations of use. DCHP, Fixed54.162.224.176or AD-HOC

Nov. 12 2008

The above things got integrated in the new alix image via the puredata patch that will be controlling some shell scripts and commands. This time i got rid of the shell object in favor or popen. Still the reconnect loop has to be fixed. FIXED!

Ad-Hoc

4 alix computers ready for the Le Fresnoy workshop, any number of laptop computers can be added to share a wireless network called 'streambox' (on channel 1). Since Now the pd stream patch includes a basic netsend-netreceive system with one click on the patch interface one can set their mode for opening and connecting to other clients on a 2 way communication with one or many involved parties... there are also few new scripts that run from pd to configure the network accordingly.

Here is a simple image to show the basic network topology:

http://nujus.net/~locusonus/dropbox/alejo/lille/topology_lille.png

and here is the video: http://vimeo.com/2236743 to demo is use.

Nov. 19 Le Fresnoy

After getting tired of carrying a computer screen around to configure the boxes for the network in Le Fresnoy, i began loggin in remotely, something tested in Villa Arson but not really used, this chance i didnt use a linux host but OS X and x11 as you can see in the image below:

http://nujus.net/~locusonus/dropbox/alejo/xfwding_from_alix.png

the command, after enabling X forwarding on the alix (/etc/ssh/ssh_config) is this one:


ssh -Y user@ip

then one simple need to open puredata and get the result you can see above.

December 01.2008

I got to boot the latest (leek&potato) puredyne kernel on the alix 3c3 hardware, at first i did a liveCD style install but since the card has no partitions it was a pain to modify the original pure:dyne configurations so i decided to just copy the kernel and its modules, modify grub accordingly and compare this kernel with the one i manually compiled to see if the rt (real time) label of the p:d project could benefit the alix processing power in terms of CPU cycles when running pd and streaming. The difference was not noticeable, actually i think it ran a bit more heavy on the box perhaps cause the other kernel was compiled by it. This clearly requires more testing, is part of an optimization phase to come.

Here, a screenshot of the alix running pure:dyne:

http://nujus.net/~locusonus/dropbox/alejo/alix_pics_streambox/puredyne_alix_color.png

Other useful commands:

The command used for making backups and cloning the CF cards


Backup: dd if=/dev/hda | gzip > /mnt/hdb1/system_drive_backup.img.gz
Restore: gzip -dc /mnt/hdb1/system_drive_backup.img.gz | dd of=/dev/hda

The way to login without the prompt and start X automatically

in /etc/inittab:


    1:2345:respawn:/sbin/mingetty --autologin USER tty1

in ~/.xinitrc will have at least one line with:


exec awesome

and, the most important, in ~/.bashrc

  1. these lines go at the bottom


if [ $(tty) == "/dev/tty1" ]; then
  startx
  /sbin/halt
fi

To consider for a future version

with similar code will be possible to default the stream to a pd -nogui style adding the following few lines of code in .bash_profile:

"This code queries "Start X Yn? " when initially logged in from the first virtual console, and waits 10 seconds for a response.

Entering Y or allowing the timeout to occur results in X being started. On exiting X, a similar timed query asking "Log out Yn? " is issued,

giving the option of logging out or being dropped into a text console"



case `tty` in 
    /dev/tty[1])
        echo -n "Start X [Yn]? "
        expect \
	    -c 'stty raw' \
	    -c 'set timeout 10' \
	    -c 'expect -nocase n {exit 1 -re . {exit 0}'
        if [ $? = 0 ] ; then
	    startx
            echo -n "Log out [Yn]? "
            expect \
	        -c 'stty raw' \
	        -c 'set timeout 10' \
	        -c 'expect -nocase n {exit 1} -re . {exit 0}'
	    if [ $? = 0 ] ; then
		logout
	    fi
        fi
	echo
    ;;
esac

Info regarding the configuration of wireless interfaces

For more info realted to the configuration of the network interfaces read via command line interface or here -> Man Interfaces

URL's (via LBB) La Boite Blanche

http://www.jetway.com.tw/jetway/system/productshow2.asp?id=436&proname=J7F21G2E

http://savonet.sourceforge.net/doc-svn/reference.html#SourceVideoProcessing

new suggestions pending, i look forward for a meeting with jean-noel montagne who develops a similar project called Fluxtation

Notes by alejo duque on the process of getting the locus sonus streambox ready. Previous info related can be found here:

StreamBox Alix

Contact: alejoduqueATgmail.com


|    ,---.,---..   .,---.    ,---.,---.,---..   .,---.
|    |   ||    |   |`---.    `---.|   ||   ||   |`---.
`---'`---'`---'`---'`---'    `---'`---'`   '`---'`---'