LiveATC Discussion Forums
Air Traffic Monitoring => Feed Setup Pictures => Topic started by: Biff on October 22, 2010, 06:34:47 PM
-
The KSFB feed is now running off of one of these:
(http://www.globalscaletechnologies.com/skins/skin_1/images/sheeva_side_back.jpg)
That's a Sheevaplug - a little $99 linux server. It's the size of a wall wart and only pulls about 5 watts of electricity. With only my feed running on it it's averaging about 18% CPU usage.
You can read more about it here (http://gizmodo.com/5159399/sheevaplug-a-99-linux-pc-crammed-inside-a-wall-plug).
-
Very cool!
Two questions:
1. What linux distro are you using with it?
2. What USB (i assume) sound card are you using?
-Steve
-
I put debian on it, 2.6 kernel.
For audio I'm using one of these (http://www.digital-camera-near.com/Generic/7-1-Channel-USB-External-Sound-Card-Audio-Adapter-B0027EMHM6.htm):
(http://ecx.images-amazon.com/images/I/31bFE-9JKxL.jpg)
I tried one of the type pictured below also, but the sound quality was absolutely atrocious.
(http://ecx.images-amazon.com/images/I/31r4mFFdGqL._SL500_AA280_.jpg)
So yes, there really is a difference between a $3 cheap audio adapter, and a $1 cheap audio adapter. :)
-
I had to do a double-take on the price of the USB audio adapter.
$2.82!!!
That's less than a gallon of milk these days!
-
I've been wondering about using a SheevaPlug for a LiveATC site! Seems like a great idea. Are there any reasonably priced small USB scanners out there? I've seen the Icom PCR series, and the WinRadio as well. They're all very expensive. I might be able to get a feed somewhere if there was a small (SheevaPlug) solution that could be entirely remotely controlled, to add/drop frequencies etc.
Can you share any more information?
-
Sorry, I can't help you with info about any USB scanners. My feed is running on a Sony Wavehawk hand-held that's plugged into that USB audio adapter. I do have a Bearcat scanner that can be controlled via USB->serial adapter, but I've never tried it under linux. That sounds like a good project though.
Gotta say I'm loving this plug. :)
-
Now this is cool!
Can you tell me how you managed to install a full linux distro on it? How do you control it? Do you have any graphic output by remote client like VNC or teamviewer?
If you can, please show us some screenshots of the actual software. I was thinking of getting one of these but I thought you could only use them as cloud servers.
Imagine all the watts you will save...typical PC uses from 250 to 500 watts of power...Mine is a thin client and uses 90. Imagine this with only 5!
-
Yea, I'm loving it.
It comes with debain already installed, but you can fairly easily install new distros. Check out http://plugcomputer.org for tons of info and support. In fact, in order to get USB audio to work you do need a different kernel than the one mine shipped with. But it literally takes less than 60 seconds to install a new kernel (pre-built).
I don't have a graphic UI installed on it, but I don't see why you couldn't. You have minimal RAM and storage space to work with, so that may limit you. I simply SSH into it and manage it via command line. Not very sexy screenshots I'm afraid. :)
-
I see.
How did you install and configure the OddCast then? With terminal commands?
-
Yes, but we use darkice instead of oddcast on linux.
# apt-get install darkice
Then edit the config and fire it up. :) There's also a matter of creating the init script, but that's a piece of cake too since Dave's already done all the work on that.
-
Running like a champ. :)
# uptime
22:28:56 up 26 days, 5:18, 1 user, load average: 0.94, 0.97, 0.91
-
Whats the word for getting orlando approach on 121.1 on live atc?
-
Whats the word for getting orlando approach on 121.1 on live atc?
Right now we don't have a provider close enough to MCO - if someone in range of MCO sees this and might be willing to help, please contact me.
Dave
-
Yea, I'm loving it.
It comes with debain already installed, but you can fairly easily install new distros. Check out http://plugcomputer.org for tons of info and support. In fact, in order to get USB audio to work you do need a different kernel than the one mine shipped with. But it literally takes less than 60 seconds to install a new kernel (pre-built).
What kernel did you download to rebuild it?
-
I put 2.6.35.7 (http://sheeva.with-linux.com/sheeva/2.6.35.7/) on it, which was the latest at the time.
The most important thing is finding a compatible USB audio adapter.
-
I was so inspired by this i just picked up 3 to run my feeds. what a great little set up can't wait for them to arrive in the mail... also got the same sound card you are using so that i know it will work with no messing around.
-
Awesome!
Mine's only been rebooted once in the last 5 or 6 months - and that's because I had to physically move the box. Runs like a champ.
-
thats great. I am probably going to have to send you some PMs to help me through the first set up since you probably went through some trying times i would like to avoid. haha :-D
-
Welp, totally jinxed my server. It's dead for the moment. :x
I think it's a flash memory problem. I don't know if it's salvageable or not. Might have to go to plan B, and get the feed up on another machine while I mess with it.
-
Had to re-flash the plug then remember how to get everything re-installed.
It's back up. Fingers crossed it stays that way. Worried I might have some bad flash memory.
-
my 3 came in and im just waiting for the sound cards to get here they are in the mail... and 2 more radios also in the mail. hopefully for the end of the week so i can start playing around with them.
I was wondering if you might be able to send me some sort of step by step instructions so things run smooth the first time. if not i have a bit of linux knowledge and can figure things out just thought i might be able to learn from your experience.
-
Any chance the instuctions could be posted here on how you made yours work?
Thanks...
-
Has anyone played with the Dream Plug yet? I just got mine last week, haven't had much of a chance to do anything with it yet. The one thing I *did* notice was that the soundcard was not addressed as /dev/dsp, or maybe the /dev/dsp device is not created by default.
Otherwise it looks like a nice box for only 5 watts :)
http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx
-
In darkice.cfg try addressing it as 'default'
device = default
If that doesn't work let's talk offline.
I have a few different plugs - only one currently solid is the SheevaPlug. The GuruPlugs have issues getting the right kernels on them (mainly because i haven't had time to hack on them).
The DreamPlug should be more straightforward and the fact that it has built-in audio is nice. Since it is a mic input some attention will need to be paid to attenuating or strictly controlling the audio input level.
-
Wow, that DreamPlug looks nice. :)
My Sheeva's now been up 22 days since having to rebuild the thing. Don't know if the flash memory got corrupted or what. It's been running the feed for 6 months total now.
-
My Sheeva ran the Lake Parker feed all week for Sun 'n Fun, including surviving Level 5 thunderstorms and a few power cycles.
:-)
-
Finally had time to get the Dreamplug working. I ended up just using "hw:0,0" for the device in the config. Still getting things adjusted; I'm guessing I'll need to attenuate the audio a bit.
The one thing I noticed (which really shouldn't surprise me) is that it runs pretty high CPU. It makes the command line a little laggy, but hey, not bad for what it is :)
-Steve
-
For future reference for anyone using Darkice with the Dreamplug: use "plughw:0,0" for the audio device, *not* "hw:0,0".
"hw:0,0" was spiking the CPU and slowing down/distorting the audio. I'm not sure what the deal is between the two device names, I'll have to look that up later.
So now, 1 Darkice process running at a sample rate of 11Kb/s, the CPU is hovering around 21%.
Also, the audio was no problem, no attenuation required.
I also prevented httpd, dnsmasq, cups and bluetooth from starting, I'm now only using 50MB of ram (down from over 200MB by default).
-Steve
-
I have a whole instruction of how to set up a sheeva plug from my tech guy, but he is a tech guy and i need to edit out some swearing i have done it twice and following these steps work for me i will get it on here in a couple mins of editing...
-
As for setup from a new sheva plug if memory serves you need to do the following:
1)
After boot you need to first fix DHCP
edit
/etc/dhcp3/dhclient.conf
and comment out (IE add a # to supersede domain-name-servers 127.0.0.1;) so you should see # supersede domain-name-servers 127.0.0.1;
restart
2) you now need to fix some screwed up permissions for your var files
Edit
/etc/rc.local
and add the following lines:
chmod 1777 /tmp /var/tmp
mkdir -p /var/cache/apt/archives/partial
/usr/sbin/ntpdate-debian
save and exit
you now need to run the script you just saved by entering:
./rc.local
after it runs enter
dpkg-reconfigure tzdata
to setup time so apt-get will work correctly
reboot for fun
3)
you now need to fix apt-get as they screwed up the distro IP
edit
/etc/hosts
change the IP the have for ports.ubuntu.com to 91.189.92.175 ie it should read
127.0.0.1 localhost
91.189.92.175 ports.ubuntu.com
reboot
4)
now you need to update apt-get and install some other stuff
run:
apt-get update
then run:
apt-get install man
then run:
apt-get install wget
then run:
apt-get install darkice
5)
now you need to update the os to something that actually understands the USB audio devices
this MUST be done via the USB cable and NOT via IP SSH, so install the relivant drivers and log into the device via serial terminal
5a)
first you need to fix another screwup
edit
/etc/sysctl.d/10-process-security.conf
find the line that says:
vm.mmap_min_addr #####
and set the #### to 32768
save exit reboot
5b)
go to the root directory and enter
wget http://sheeva.with-linux.com/sheeva/README-PLUG-UPDATE.sh
this will download the update script
now enter:
chmod 777 README-PLUG-UPDATE.sh
now enter:
./README-PLUG-UPDATE.sh
its going to spit out:
Use ./README-PLUG-UPDATE.sh VERSION --nandkernel to write kernel to NAND
Or ./README-PLUG-UPDATE.sh VERSION --rootkernel to write kernel to /boot
you want to go to http://sheeva.with-linux.com/sheeva/ and find the most up to date version (at the time it is 2.6.38.7)
also you want to use the NAND kernal so if 2.6.38.7 is still the most up todate you want to enter:
./README-PLUG-UPDATE.sh 2.6.38.7 --nandkernel
DON'T reboot yet, read next step fully
5c)
Read steps before proceeding past this point, if you screw this up you could brick the plug
reboot,
because you are NOT on SSH but using TTY and the serial usb cable you will be presented with the bios boot screen, during the boot process there is an option to interrupt boot, interrupt it but hitting the "any" key DOH!!!!!
enter:
setenv mainlineLinux yes
then enter:
setenv arcNumber 2097
then enter:
printenv bootargs
you now want to write down the locations of the NAND partitions and make sure they jive with the next step
enter:
setenv bootargs rootfstype=jffs2 console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=192.168.1.9:192.168.1.4:192.168.1.4:255.255.255.0:DB88FXX81:eth0:none
PAY ATTENTION to the nand blocks, if the numbers are different from the above text and what you got from the bootargs, USE THE ADDRESSES YOU GOT FROM "printenv bootargs" paying attention to proper syntax, also remember this is TTY so you can backspace but you cant use the mouse or arrow keys to move the cursor, you need to enter it right the first time, NO TYPOS a single missed space or number change has the potential to brick the plug.
if you are successful after you hit enter nothing should happen it should just jump to the next line
5d)
enter:
saveenv
enter:
reset
if all is well it should boot into the OS with the new kernle if it doesn't have a drink and find something else to do.
6)
next config darkice
go to /etc
enter:
nano darkice.cfg
enter the data from the config file you were given
Done, now make the deamon and cron job
7)
so what you want to do is take the below file and put it in /etc/init.d you can do this by going to /etc/init.d and then entering
nano rc.darkice then paste the attached script(ask dave for this script or i have it just PM me), save/exit
then you need to change the permissions on the file so the system can open it so go chmod 0750 /etc/init.d/rc.darkice
you now need to update the startup scripts to use the darkice startup file do this by entering (while in /etc/init.d)
update-rc.d rc.darkice defaults 99
reboot the machine, and it "should" now auto start darkice
Now to adding a cronjob that "should" auto restart darkice if it goes down
enter crontab -e the first time its run the comp should ask what editor you want to use I suggest nano.
after nano has opend you will be presented with a text file with some instructions, at the bottom of these paste:
*/5 * * * * root /etc/init.d/rc.darkice restartifdown 2>&1 > /dev/null
save and exit....
should be good to go......
-
another suggestion.
Change the hostname to something relevant i had two plugs on the same network and i edited the wrong one... also they were interfering with each other have the same hostname on my network.
-
Hello!
concerning your setup guide: did you really set up your plug like that, and it worked? Because the version of darkice that you get with apt-get doesn't support MP3 which is crucial for the feed to work.
Greetz
-
ill look it over again today when i get in the office but yes i am pretty sure all three of my feeds were set up just like i wrote i have a new cron that i got setup yesterday from buff that fixed some other issues. but other than that i think that one is pretty accurate... are you setting up your own plug?
-
checked it out no issue with the setup that was exactly what we did and i will be starting a new one today when fedex gets here... so if it doesnt work for you send me a msg and i will look into what might be the issue you are having.
-
Hello! My setup does work and will go online in some days, but I wasn't able to get it to work with the darkice I got from apt-get. I had to compile my own version of darkice, which was a bit complicated because I don't have a lot of linux experience.
@Dave
Is it possible some feeds don't work with MP3 but some other codec? Or do you have an idea why it works for him?
Greetz Ueli
-
They must have a version with MP3 support. Feeds that are not MP3 will not work. And I verified that all their feeds are MP3.
-
I just saw that your setup is running on Ubuntu, which has a different apt-get distro. So probably the compiled binarys in the Ubuntu distro are with MP3 support, and the ones in Debian (which I am running) aren't. Thats proba^bly the difference, which makes the installation with Ubuntu a lot easier :)
Greetz Ueli
-
I am currently setting up a SheevaPlug for a feed. One update to the setup instructions if you have recently purchased a new plug.
You need to edit /etc/apt/sources.list
Change the one line to:
"deb http://old-releases.ubuntu.com/ubuntu jaunty main restricted universe multiverse"
The version of debian that is shipped with the new plugs needs jaunty for apt-get, but jaunty has been retired and no longer available in the normal update directory. Therefore the above line points to the old jaunty files. Also note that it appears any newer debian release (which is not using jaunty) does not support the plug, so don't try to update the os.
Obviously any corrections to this or updates is appreciated.
Tony
-
My plug died again last week. It had been running non-stop without even a reboot for almost 150 days. Something got corrupted and I had no choice but to re-flash and re-build it from scratch. Luckily, that wasn't too difficult. It had a similar issue 10 months ago when I had to rebuild it at that time, too. I have the first model of Sheevaplug. I hope the newer ones are more stable than mine.
For future reference (mainly my own) here's the procedure. I should have taken notes, instead I'm recalling this from memory. This is not a how-to for setting up a new plug. It will work for that, but it's more than you need. Don't just follow these steps blindly. Understand what each is doing and consider if it's correct for your version of plug and situation. I'm assuming you have some linux knowledge since I'm not detailing every keystroke you need to make.
Use the SheevaPlug Installer (http://www.plugcomputer.org/plugwiki/index.php/SheevaPlug_Installer) to un-brick the thing. I could not get the windows version (I'm on Win7 64bit) to work at all. The linux version worked fine from my ubuntu box. Follow the instructions, it's pretty straightforward. You'll need a USB thumb drive and a USB cable to connect the plug to your computer.
Use a terminal program to connect to the plug via the USB cable. Reboot the plug by punching the reset button or pulling the power on it. You should get a login prompt after it boots. The root password is "nosoup4u".
Edit /etc/apt/sources.list Change it to 1 line only:
deb http://old-releases.ubuntu.com/ubuntu jaunty main restricted universe multiverse
Update apt-get and install wget so you can download stuff. Then download the kernel updater script.
apt-get update
apt-get install wget
cd /tmp
wget http://sheeva.with-linux.com/sheeva/README-PLUG-UPDATE.sh
bash ./README-PLUG-UPDATE.sh 2.6.35.7 --nandkernel
I use kernel 2.6.35.7 because I know it works. You might try others.
Still in your terminal session, reboot the plug. Interrupt the boot process before that countdown stops. Enter the commands from the top of the plug-update script above. For my plug, I entered them verbatim. For your plug, you may need to change the arcNumber and/or bootargs.
setenv arcNumber 2097
setenv bootargs rootfstype=jffs2 console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=192.168.1.9:192.168.1.4:192.168.1.4:255.255.255.0:DB88FXX81:eth0:none
saveenv
boot
The plug will reboot. Log in as root again. Now would be a good time to change the root password. If you want your plug to have a static ip, edit /etc/network/interfaces and restart networking. Make sure your network cable and USB audio adapter are plugged in. SSH to the plug via ip to make sure that's working. You can disconnect the USB cable now.
Install darkice and usb audio utils. Run alsamixer to set input levels (volume). If alsamixer doesn't see your USB audio adapter, then you have a problem.
apt-get install darkice alsa
alsamixer
Create /etc/darkice.cfg Make sure to set device = plughw:0,0
Create /etc/init.d/darkice (or rc.darkice if you prefer, I'll attach or provide a link to mine later)
Set the init script to run at boot:
update-rc.d darkice defaults 99
You can test that darkice is working by running it from the command line. You should be able to listen to your feed at LiveATC.net.
Create a cron job to restart darkice when it goes down (and it will)
*/5 * * * * /etc/init.d/darkice restartifdown 2>&1 > /dev/null
Now wait 5 minutes for darkice to start, or manually start it via the init script.
It should take less than an hour, probably less than 30 minutes, to un-brick your plug and have it streaming again.
-
My SheevaPlug has been running great for the last 25+ days, however, I am now getting the following darkice error and I lose audio streaming, close to the same time every day now:
01-Feb-2012 18:47:17 MultiThreadedConnector :: sinkThread reconnecting 0
Once I restart darkice it comes right back up. Has anyone run into this?
Tony
-
My SheevaPlug has been running great for the last 25+ days, however, I am now getting the following darkice error and I lose audio streaming, close to the same time every day now:
01-Feb-2012 18:47:17 MultiThreadedConnector :: sinkThread reconnecting 0
Once I restart darkice it comes right back up. Has anyone run into this?
Tony
Make sure you have a script that checks whether darkice is running. Run that script from cron once a minute.
Then...kill darkice once a day at some odd hour.
-
My SheevaPlug has been running great for the last 25+ days, however, I am now getting the following darkice error and I lose audio streaming, close to the same time every day now:
01-Feb-2012 18:47:17 MultiThreadedConnector :: sinkThread reconnecting 0
Once I restart darkice it comes right back up. Has anyone run into this?
Tony
Make sure you have a script that checks whether darkice is running. Run that script from cron once a minute.
Then...kill darkice once a day at some odd hour.
Cron is now running correctly :-) However, the problem is that darkice doesn't actually stop when there is an issue, (with the above error) therefore the restartifdown isn't doing anything as it doesn't think it needs to restart. Trying to research what that error is and a fix...
-
Tony,
I modified that restartifdown script to look at CPU usage to determine if darkice is actually running or not. On my plug, CPU usage will drop from its normal 18-19% down to 10 or less when it loses connection like that.
-
Attached is my /etc/init.d/darkice script (remove the .txt if you download it). Notice the restartifdown section checks CPU usage as well as the usual things.
Be sure to set the min_cpu variable near the top of the script to whatever is appropriate for your plug.
-
Tony,
I modified that restartifdown script to look at CPU usage to determine if darkice is actually running or not. On my plug, CPU usage will drop from its normal 18-19% down to 10 or less when it loses connection like that.
Yes, my darkice process will drop from 10-11% to 1% when it is having its little issue, but the process is still running and 'darkice status' still shows as up which is why it won't restart. I will take a look at your script - thanks.