Echostar DishPVR 721 GPL Software Released 109
Faw writes "It was mentioned before that Echostar was releasing a Linux based PVR. It has been out for a month now, and the modifications to the kernel and other software are here. The cool thing is the site is running on the same receiver. Someone is already hacking it. Wonder how long until the receiver get slashdotted."
Damn reception (Score:1)
Honey, while you're getting me that beer, can you wiggle those rabbit ears a little? The cables gone out again.
*scratch*scratch*
Re:slashdotting the receiver (Score:1)
I'm getting a blank page on the site listed in the article.
I'm getting it just fine; keep reloading it until you get it. Or singlehandedly slashdot it.
The Gardener
Interesting things that can be done..... (Score:1)
New FCC Regulations (Score:2, Offtopic)
How will the new FCC copy-protection regulations being passed effect TiVo and other PVR devices? Are they going to be rendered completely useless, or is there going to be some loophole?
two words (Score:1)
OTOH, if they can't interface with the new formats, they will be as useless as your dad's collection of Slim Whitman 8-tracks.
Re:New FCC Regulations (Score:2)
Re:New FCC Regulations (Score:2, Interesting)
Re:grammar check anyone? (Score:1)
PVR?!? When do we get PAL/Ethernet converters? (Score:3, Interesting)
It's very simple: One box located at the satellite dish (or TV-cable where it enters the building) receives the TV-signal and provides it via ethernet in full quality, and another box at the TV receives that signal and provides the ability to remote control the receiver via a remote control and ethernet.
But I guess this violates the DMCA?
Dybdahl.
Easily done. (Score:3, Interesting)
The TV signal is first encoded using an MPEG or similar format. This encoded signal is then streamed on the network via multicast. There are plenty of these systems out there, most are rather expensive but, they do exist and it can be done with Linux. The trick is to have a powerful enough box to do the realtime MPEG encoding.
Commercial versions of this are used for desktop video conferencing, distance learning and even entertainment transmission. Nothing sells highend networking equipment better than a demo with a Top Gun DVD broadcasting to a dozen PCs and TVs around the room.
Re:Easily done. (Score:3, Insightful)
Since Echostar is a DVB [dvb.org]-compliant satellite network the different channels are encoded as MPEG2 a/v streams are put in number of multiplexes of about 30 Mbps (this gives 5-10 services per multiplex depending on quality).
Using error-reducing codes, each multiplex is coded onto an analog transponder which is about 33Mhz wide. Remember that one transponder can carry one analog tv service.
Thus, the set-top box would (in the worst case) require one tuner per endpoint in your ethernet network.
There is a host of other problems I dont want to mention here including the scrambling systems, smart cards and digital rights management.
Re:PVR?!? When do we get PAL/Ethernet converters? (Score:3, Insightful)
If you instead put up 2 ethernet devices at the satellite dish and 1 ethernet video receiver at each television, you have reduced the number of devices by almost 50%, and instead of doing expensive and complicated antenna cabling with 3dB loss for each split, you just use your existing ethernet cables. So you have reduced the problem from something that involves a specialist to something everybody can set up themselves.
If a TV transmission takes 2Mbps, and you have 100Mbps, there is plenty of bandwidth. If you compress it less to save hardware costs, there is still lots of bandwidth, especially if you don't use all your TV sets at the same time.
The only problem is that this technology makes it possible to transmit pay-per-view transmissions via 802.11 wireless to your neighbors - and that's not legal.
I see no reason to have satellite receivers, decoders, PVRs etc. at the television. To me, it's much more logical to put those into the cellar and then only have ethernet in the TV or in a single set-top box. Why not be able to view your recorded TV shows anywhere in your house instead of connecting the PVR to a single TV set?
Re:PVR?!? When do we get PAL/Ethernet converters? (Score:3, Interesting)
Aye. Though, you'd only need 10 receivers (unless you wanted to watch and record different channels at each TV site). I have two satellite LNBs (well only one dish), and 6 coax drops in the house, with two RG6/U cables to each drop. Not quite a kilometer, but the Home Depot guy did think I was insane for buying 2000 feet of RG6/U. It was enough. Barely.
Most people I know that have satellite dishes, are not able to watch satellite TV on all their television sets, simply because that would require too much cabling.
That, and the need for an extra $5/month receiver at each TV. Generally you don't watch different programs at every TV at once, so, the number of receivers can be smaller than the number of TVs. But, the current head-end solution involves analog transcoding of the received channel to in-house cable channels. This is expensive, and results in lousy quality. But, yeah, running 2xRG6/U and 2xCat5e to a bunch of drops results in a surprisingly thick cable bundle. Dropping the RG6/U would be nice.
If you instead put up 2 ethernet devices at the satellite dish and 1 ethernet video receiver at each television, you have reduced the number of devices by almost 50%, and instead of doing expensive and complicated antenna cabling with 3dB loss for each split, you just use your existing ethernet cables.
Er, you don't split satellite signals that way: the receiver controls the selection of the LNB and polarization with either a voltage and 20 kHz signal (DirectTV), or a digital signal (diSeq, I think, used by USSB and maybe Echostar, not sure). The lines are home-run. What you describe can work, but then the "extra" TVs are slaves to what the "primary" selects, and can only tune the primary LNB/polarization channel set. There are "stacked" LNB systems that take the two polarized channel banks and put them on the coax at the same time, but then you're driving the cable out to 2 GHz, and signal fades real fast -- slope compensators are almosta a must.
If a TV transmission takes 2Mbps, and you have 100Mbps, there is plenty of bandwidth.
The raw MPEG2 stream can be some 10 Mb/s, IIRC. HDTV is closer to 30 Mb/s, so you will fill a 100 Mb/s switched ethernet pretty fast. I can't see avoiding having the tuners at the headend, and just streaming the single program you want (PVRs would go at the headend too and two program PIP might be feasable).
The only problem is that this technology makes it possible to transmit pay-per-view transmissions via 802.11 wireless to your neighbors - and that's not legal.
So? Don't DO that.
I rip movies from DVDs for eventual serving to STB thin clients (over ethernet, yay!) (which, by it self probably violates the DMCA: phhhhbt), but it stays in my house behind my firewall. I don't redistribute copyright material to others.
I see no reason to have satellite receivers, decoders, PVRs etc. at the television. To me, it's much more logical to put those into the cellar and then only have ethernet in the TV or in a single set-top box. Why not be able to view your recorded TV shows anywhere in your house instead of connecting the PVR to a single TV set?
Why not indeed? Because the technology to do this can also facillitate the illegal redistribution of copyright material outside your house. So, we suffer: it is criminal, in the U.S.A., at least to offer such devices, and to describe how to make them. No "self-respecting" company is going to risk offering them. We, therefore, are left to our own morals and devices, and risk arrest for breaking stupid laws.
Re:PVR?!? When do we get PAL/Ethernet converters? (Score:2)
I probably have the provider wrong, but there is a digital LNB/polarization technology called DiSecQ, or something like that, that is very much alive today. You need special splitters and multiswitches to use it. The splitters are covered under patent and, IIRC, are horribly expensive (something like $25 a piece).
Re:PVR?!? When do we get PAL/Ethernet converters? (Score:2)
Don't do that, then.
The technology of 'drill through wall, run cable along row of houses' also allows you to transmit pay-per-view to your neighbours. I wonder if Black & Decker are violating the DMCA?
Re:PVR?!? When do we get PAL/Ethernet converters? (Score:2, Informative)
How about HD? (Score:2)
Web Interface... (Score:2)
SealBeater
Re:Web Interface... (Score:2)
"As you know, the system runs a custom Linux distro (DishLinux) on an x86 clone (the NatSemi Geode)...."
Re:Web Interface... (Score:2)
SealBeater
File Format... (Score:4, Interesting)
SealBeater
Re:File Format... (Score:1)
Re:File Format... (Score:3, Informative)
GPL violation? (Score:4, Interesting)
Well, if replacing a piece of software recompiled from the source tree causes the unit to fail, that means the binary must not correspond to the source. Thus the GPL'ed source must have had further, secret modifications that are not being released. Isn't that a violation of the GPL?
Re:GPL violation? (Score:2)
Re:GPL violation? (Score:1)
Maybe, Maybe Not (Score:1)
I can think of several ways to pull this off; the sytem has a smart card and reader. I can see having the hardware check to make sure the software corresponds to a certain signature before allowing anything to happen. There may also be a few kernel modules and things where they could do secret stuff (IIRC the smart card software and the tuner software were both modules.)
I am kind of curious to know if they went with GNU's gettext for translation in their UI. They were looking at it at one point. It'd be interesting if someone could find out. They may not have realized that gettext is GPLed (Not LGPLed.) It'd be fun to see how much of the UI code they kept from when I was working on it. It was a hideous mess back then; they essentially developed a C++ screen library on top of GDK and the programmer who was working on it when I got there was in the "Oooh! Lets inherit everything!" phase of learning C++. Everything was done with pixmaps and hotspots and given a choice I'd sooner program in MFC (and I don't do windows!)
Re:Maybe, Maybe Not (Score:1)
How the hell was I supposed to get anything out the door? Between the complete lack of version control process, Jong's sorry ass classes where everything depended on everything else and Curt's complete inability to carve a technical decision into stone, it's a miracle we even got the demo box working. If you recall, we had to go around to each developer's machine, getting copies of whatever libraries happened to work off each one. We had 4 copies of the GUI modules on the demo box and it didn't run more than half an hour before crashing, you may recall. Not to mention all the unlicensed copies of VMware we ran so that we could check our shit into VSS whenever. But I won't go in to that.
The REAL companies I've worked for (6.75 years at IBM now) have never had a problem with my productivity. My current teamlead often says stuff like "Well that project would take most of the team 3 weeks but I'm giving it to Bruce so it'll be done in 1." He's usually right too.
We all agreed, while I was there, that none of the existing technical solutions would work. Curt kept telling me to go off and find something that would, and when I came back with something he'd waffle for a while and give me the impression that we should work on both things for a while. His complete lack of management skills were hardly my fault. I also seem to remember the team being fairly impressed by the code I did put out.
Echostar was 8 months of my life that I'll never get back, and leaving IBM that first time was the biggest mistake I've ever made in the course of my career. Live and learn.
Re:Maybe, Maybe Not (Score:1)
And I'd be willing to be that if I called Echostar HR on Monday and asked them if I was fired or quit, I'd be willing to bet that they tell me I quit. I was as fed up with Curt and Dan wasting my time as they were of me. Yes, I stopped coming in every day toward the end. Echostar actually made me doubt my programming capabilities for a while, and I'd never been in another job that I've held, before or since.
The code put out by the Hannabal team at Echostar was some of the most hideous I'd ever seen. A bunch of Windows C programmers working on a Linux C++ project. Laughable. And every management anti-pattern in the book. Did they ever clean up the GUI code? Did they ever learn how to program in C++? Did they ever put in half the blue sky things they were going about while I was there? Hell, half the time I was in there I was in a meeting with them changing their mind on what they wanted to do. Did they ever get the device to perform its base functionality when the hard drive was disabled?
The code and management at Echostar is why I insist that in any given arena, open source programmers will always produce better code. People think big company financial backing is some sort of magical blessing that makes code immaculate. Nothing could be farther from the truth. Give me a team of programmers who actually care about proramming any day.
Re:Maybe, Maybe Not (Score:1)
Chief says:
"Those with foot in mouth best not speak."
Should I run ispell against your source code? I might be able to help your GPL project a little!
Re:Maybe, Maybe Not (Score:1)
Spelling flames went out of style back on USENET around 1988 or so...
No, wait, they went out of style on FIDONET before that.
No wait, they went out of style on Compuserve in 1982.
No, wait...
Re:Maybe, Maybe Not (Score:1)
Once you decide to use slashdot to sort out what is actually a private flamewar, I consider anything fair game.
Why?
It's simple: If you consider yourself of such far higher perfection than someone else on slashdot, you damn well better make sure it shows it in your post. If you don't and you have it pointed out to you, them's the breaks.
Re:Maybe, Maybe Not (Score:2)
I believe the latest release is LGPLed. In any case, there are LGPLed copies of gettext about - libc has a copy (so nothing for Linux that uses gettext need be GPLed) and KDE has a copy that was taked from libc.
(For those reading at zero, the AC is me; I just forgot to log in first.)
Re:GPL violation? (Score:4, Informative)
GPL? Um, nope... (Score:5, Informative)
This discussion was held before [slashdot.org] but here goes:
Combining two pieces of software more than just calling each other through the shell constitutes them being one program, especially in this case where the software won't even *compile* without the missing (proprietary) code. This is not allowed under the GPL - either the entire software is released under the GPL or you can't release it under the GPL at all. (see here [gnu.org])
Admittedly, it's nice of them to release the code and make it avaliable to the public, I'm sure it'll be interesting for everyone - but once again, the GPL is beaten.
Re:GPL? Um, nope... (Score:3, Insightful)
You may be able to compile it, but you won't end up with a PVR.
It looks to me, superficially, as if they are doing *exactly* what is required and nothing more. You can't fault them for that, their value add is the recording facility. If they give that away, there is little for them to build a business model on other than a Tivo'esque subscription.
Of course, as these make it into geek hands, and they are opened up and inspected, we will get a better idea as to whether they are being as compliant as they appear.
Re:GPL? Um, nope... (Score:1)
They wouldn't lose too much by releasing the recording facility, it seems the way it works is just capturing the encrypted data stream verbatim from the satellite signal.
I could understand them not wanting to open up the part that actually reads the smart card and decrypts the stream though, that could give the people that think satellite service should be free (cost) a big leg up.
Re:GPL? Um, nope... (Score:2, Interesting)
Re:GPL? Um, nope... (Score:2)
However, the GNU GPL'd code requires that other code mixed with it is released as GPL.
If the other code has a licence preventing this then that means the two licences are incompatible and they cannot distribute the binaries at all.
Breaking one license (the GNU GPL) in order not to break another is not legal. They must conform to both licences or not distribute the code at all.
Re:GPL? Um, nope... (Score:2)
However, the GNU GPL'd code requires that other code mixed with it is released as GPL.
So release it as LGPL. If, as your parent post believes, Echostar owns the GPLed code, they can do as they like. They can even release an arbitrary part of the code as GPL, while retaining the remainder internally. Of course, the GPLed stuff won't compile, but they can do that.
It occurs to me that if the internal situation at Echostar is as bad as others have implied, they might be releasing the code because doing so gives them better version control than what they already have.
Re:GPL? Um, nope... (Score:2)
So what? A contract restriction is civil law, not criminal law. The courts are not going to do anything unless someone brings an enforcement action.
It is far from clear who if anyone has standing to bring an enforcement action besides the original contributors to the code. And if people did start to bring that type of action on a regular basis the commercial users of Linux would quickly move to BSD. It does not matter whether you are right or wrong, if someone brings a lawsuit against you it will cost a lot of money.
It is somewhat noticeable that the GPL enforcement freaks are most often the first to explain why Napster was not abetting theft and music copyrights should not apply on the net. Henceforth the only copyright license that will count is the GPL...
Like the recording industry the legal technicalities may be on the side of folk who want to read the source. However just like in the case of the recording industry the best way to achieve the desired outcome is probably not to start threatening people that to paraphrase Pulp Fiction, you intend to get medi-legal on their ass.
Re:GPL? Um, nope... (Score:3, Informative)
Even the question of whether dynamic linking is covered is somewhat questionable. To quote RMS,
Even assuming that the FSF prevails in this argument, it is far from clear that programs connected by pipes, shared memory, CORBA, or SOAP would be considered "one program." In fact, the GPL is so weak in this area that it's one of the main reasons for GPL version 3.
reciever ... . (Score:2, Funny)
Somehow I thought
It's still early.. -_-
Starband (Score:5, Interesting)
You can connect the Linux box to the satellite modem, but it operates at around 64kbits up/down, with the windows client installed, it gets more like 768 down 64 up. Many people have requested the specs to write a driver for Linux, but they were told that the specs would not be given out to support the development of any sort of open source driver.
Don't get the idea that Echostar is Linux friendly. Starband proves that.
Re:Starband (Score:1)
I don't believe that Starband and Echostar R&D were related. Starband's technology comes from Gilat.
Re:Starband (Score:1)
Yeah, Microsoft. That might relate to some of the linux stuf
Re:Starband (Score:1)
Re:Starband in Ironto (blacksburg area) (Score:1)
Re:Starband (Score:1)
It's a different protocol stack (Score:2)
The protocol stack modifications allow for more data in the pipeline without an acknowledgement on a long delay link (e.g. a satellite link).
The basic problem with satellite links is that the latency increases the amount of data that must remain in the sender's buffer without acknowledgement, so the unacknowledged data times the number of active clients becomes the limiting factor. There are several approaches to dealing with this, but all of them require adulterating the protocol stack to the point that what you are running is not really TCP over IP, it's something else.
The problem is that you simply *can't* crank the TCP window size large enough to cover the latency, without reducing the number of clients that the server can support. Maybe this will change when 64 bit systems with 128G of RAM become available, but I rather expect that the extra memory will be used for supporting a larger number of simultaneous subscribers, rather than better supporting existing subscribers without using their proprietary protocol.
The reason the data rate goes down is that there is not an implementation of this stack for Linux (there is one for FreeBSD, but it's not published, to my knowledge), and there's also an implementation for Windows (not published).
Just because the call something a "driver" in the Windows world doesn'yt actually mean that it's really a "driver", and not something else.
In any case, it works at all because, in the face of the lack of a driver, the connection falls back to simple TCP/IP. *That* works, because the assumption is that the data will be mostly unidirectional, out to the remote site.
There's actually a lot of information available on the concept (but nearly none on the implementation, and I couldn't disclose anything anyway) if you dig around the various web sites.
-- Terry
Re:It's a different protocol stack (Score:1)
What do they have to lose? A lot... (Score:2)
What do they have to lose by publishing the protocol specifications?
A heck of a lot, actually. They open the market to competitors who would otherwise have an R&D barrier to entry.
By doing that, they compress the amount of time they have available to amortize their R&D costs, before someone else enters the market and puts a downward price pressure on the service, as it becomes commoditized.
As a result, the price to consumers between the time of disclosure and the time that the price pressure actually starts, must be higher, which reduced the market further, so the price must be even higher... until it finds an equalibria point for the reduced amortization period.
This is true, even if there ends up being a small additional Linux developer market on top of the consumer market (if you can see more than that in what "they would gain from linux support", then you need to make a business case to that effect).
The net result is a higher cost to consumers, and a lower overall availability of the service.
It's not always a black-and-white, positive thing to have all information disclosed, no matter what.
-- Terry
Re:What do they have to lose? A lot... (Score:1)
Connecting the dots... with a big black marker (Score:2)
People with an incomplete understanding of market economies always ignore fixed initial costs, for some reason, when trying to promote the idea of "free" software.
Please read this part again:
| By doing that, they compress the amount of
| time they have available to amortize their
| R&D costs, before someone else enters the
| market and puts a downward price pressure
| on the service, as it becomes commoditized.
Then I divide the R&D costs by the time available, and spread that cost across the total number of users.
For people who can't do "story problems", here is the math:
R
N
C
?
C / N / R = ?
Say our R&D costs were $10,000. Say the number of users was 1000. And say we had 5 years to recover our costs, because that's how long it would take someone to duplicate our work, without access to our source code. So:
$10,000 / 1000 / 5 = $2/year cost per user for R&D
Now, let's give away our source code. Now it takes our competitor a year to productize it and get their business processes in place so they can compete equally:
$10,000 / 1000 / 1 = $10/year cost per user for R&D
Now, say only 3/4 the users are willing to pay the inflated costs, and the rest say "screw you, you greedy capitalist bastards, we will do without":
$10,000 / 750 / 1 = $13.33/year cost per user for R&D
Do you "get it" now??? *Eventually*, the cost will go down... but *ONLY* after the R&D costs have been amortized out by *someone* - a customer - paying for them. The money "Joe The Programmer" was paid to write the code in the first place had to come from *somewhere*.
-- Terry
Re:Connecting the dots... with a big black marker (Score:1)
I will point out the obvious, yet again... (Score:2)
This is *NOT* a driver for a particular piece of hardware, it is a *protocol stack*, which could care less who you buy your hardware or satellite service from.
"Without the Gilat modem and whatever runs on the server side, this is useless. They stand to lose nothing by providing a driver for hardware and a service that they control."
This is wrong. Control is *precisely* what they give up, as soon as they document/publish their protocol, unless they have a patent on it (they don't, according to my search of the patent database).
As you pointed out: it works at the high data rate with Windows (where they have implemented their stack) but not with Linux (where they have not). Thus the issue is software,l not hardware dependent.
This is *exactly* what Real, Inc. does, by documenting their protcols well enough to permit implementation of a proxy server over a NAT or firewall, but *NOT* well enough for you to implement a Real Audio server (no QOS encapsulated protocol documentation, for the protocol between the client and the server, which is tunneled through the proxy connection without being interpreted by it). By *NOT* documenting their protocol, they keep control of the server side of the market.
Let me put it this way: if *I* had source code to a Real Audio player that implemented the client side of the QOS protocol, I *could easily* implement the server side. As it is, you have to spend a lot of money reverse engineering the QOS protocol (Network Appliance did exactly this, in order to implement their streaming media caching server -- cached content needs the same QOS moderation in the stream the server sends to the client).
-- Terry
Re:a couple geek questions (Score:3, Funny)
Also, I have an apartment, so permanently installing this thing wouldn't be an option for me. Is it likely I'd get a decent signal through my window? (assuming I can get a good path)
The real question would be what do you plan on buying one of these for?
Easy, there. (Score:2, Interesting)
From the hack-site linked in the original story,
"And any attempt to edit post-startup scripts or executable binaries (e.g. the lbreakout game) resulted in that executable failing to run.
I don't yet know how it works, but it appears that the 721 features a built- in mechanism to prevent changes to core files, guaranteeing their integrity. I suspect a SHA1-based message digest is stored (somewhere) for each protected file, and checked at run-time. It's possible the XFS filesystem's extended attributes contain the file checksum data."
This could be the mechanism for discouraging changes, I dunno. I also have not thought about any GPL implications, but it doesn't sound like a violation to me.
But hey, it runs XFS! Ain't that cool!
Netcraft results (Score:1)
It's required... (Score:2)
This is like making a Slashdot headline for a company that buys a license for each copy of Windows and Office it is using. Why are we so excited they just obeyed the license?
Server device (Score:1)
Here's the HOWTO (Score:2, Informative)
HOWTO: Install a Web Server on Your Dish Network PVR-721
August 2002
INTRODUCTION
Ever wanted to run a Web server on your Dish Network PVR-721? This document describes one method of doing so. If you have physical access to a PVR-721, a Linux-based PC, and a USB-to-Ethernet adapter, you can make your PVR-721 serve up HTML while you watch your favorite shows. The technique described in this document is pretty safe. It doesn't require permanent physical changes to the PVR-721, nor does it require you to break any "warranty stickers" on your PVR-721.
REQUIREMENTS
You'll need a few things before you get started.
1. Dish Network PVR-721 with system software revision 102 or earlier
2. Spare Linux desktop PC with:
a. Kernel 2.4.x
b. XFS support - Highly recommend SGI XFS Installer paired with RedHat 7.3
c. Available IDE connection (master or slave, primary or secondary)
3. Rough working knowledge of Linux administration from the command line
4. USB-to-Ethernet adapter
5. Secure Local Area Network (firewalled at minimum)
6. Separate PC with telnet client and Web browser
If you don't meet all the requirements, you'll need to get creative. Creativity is beyond the scope of this document.
SWAP THE DRIVE OVER
First you'll need to attach the PVR-721's hard drive to a Linux PC so you can copy files to it. Since you won't want to break the "warranty sticker" preventing you from removing the PVR-721's hard drive, you'll want to put the PVR-721 very close to the Linux PC. Here are step-by-step instructions:
1. Power down the Linux PC, remove its cover, and locate the IDE cable and an extra hard drive power cable
2. Power down the PVR-721 (pull power plug), remove its cover, place it near the Linux PC, and locate the hard drive
3. Warning: be very careful not to touch the power supply which is located opposite the hard drive; it is not enclosed, and might shock you
4. Remove the IDE cable and power cable from the PVR-721's hard drive
5. Attach the Linux PC's IDE cable and power cable to the PVR-721's hard drive
Now you can access the PVR-721's hard drive from the Linux PC. It sounds kinda scary, but it's not that bad.
Troubleshooting: If your system can't find the 721's drive, try isolating it as the master drive on the secondary IDE channel. That would make it
MOUNT THE XFS FILESYSTEMS
Create the mount points first.
mkdir
I added these lines to
Bear in mind that hdc5 and hdc6 are interchangeable. The PVR-721 is using one as the root device now, and the other one will be used for the next software update. So you may have to look at the
INSTALL THE WEB SERVER
Next you'll edit some configuration files on the PVR-721, enabling you to start the Web server.
Edit the
1. Replace the ifconfig line with the static IP address that you'd like the PVR-721 to use.
2. We send all output to debug log files on the data partition. Either send it to log files or send to
3. We start syslogd and klogd for fun. These are optional. The PVR-721's startup scripts start them and then kill those processes because they apparently caused some issues. We like to see the debug info.
4. The echo lines will blink the Message LED every 5 minutes, to indicate CRON is still working.
5. The PVR-721's system clock is in GMT, so scheduling events to run at certain hours of the day takes some math.
Now place the files python-bash.py, telnetd-wrapper.py, and pythonshell.py in the
pythonshell.py: This listens on port 8023. If you telnet to it, it will open up a Python interpreter shell. Quite handy.
telnetd-wrapper.py: This listens on port 23. This is the middle-man between your telnet client and a bash shell. It's really ugly. Basically it reconnects you to 8024, which has python-bash.py running on it. But the middle man strips out carriage returns. It's ugly, but it's the best we've got so far. We're looking for help here getting Twisted's Python Telnet Daemon or SSH daemon working. Their Telnetd opens a python shell, but it could be hacked to give us bash instead.
python-bash.py: This listens on port 8024, it only helps telnetd-wrapper.py. Also note that these two processes quit after you exit from the telnet session. But cron starts them again within 10 minutes.
Place the index.html from below into the
Edit the
At this point you may wish to nose around. Feel free. You may look, but don't touch. Any changes you make to startup scripts or binary executables will be detected by the PVR-721 the next time it boots. It will display a "bad hard drive" error message, and reinstall itself, wiping the slate clean (so to speak). Not only will you lose your changes, you'll lose any previously recorded programs. On the bright side, you don't have to worry about permanently damaging the PVR-721 - if you mess it up, it automagically heals itself. A nifty feature, huh?
SWAP THE DRIVE BACK
When you're through nosing around, unmount the PVR-721's boot partition and shutdown the Linux PC. Power it down, and swap the hard drive back. Step-by-step:
1. Shut down the Linux PC with "/sbin/shutdown -hf now"
2. Make sure the Linux PC is powered off
3. Unplug the Linux PC's IDE cable and hard drive cable from the PVR-721
4. Plug the PVR-721's IDE cable and hard drive cable into the PVR-721's hard drive
5. Plug in the USB-to-Ethernet adaptor and network cable.
6. Boot the PVR-721
Your PVR-721 should boot normally; you won't be able to see anything different, except that the link light on your USB-to-Ethernet adapter will illuminate.
START THE WEB SERVER
Now you'll want to start the Web server by playing the LBreakout game on the PVR-721. No, that's no joke. We've secretly replaced the LBreakout game with the cron daemon, which launches the Web server. Sneaky, huh? You'll know it's worked when the "Online" LED on the PVR-721's front panel illuminates. Here are step-by-step instructions:
1. Access the main menu of the PVR-721's user interface
2. Navigate to the "Games" menu
3. Press "Select" to start the LBreakout game
4. Notice that the game doesn't actually start; instead, the cron daemon starts up.
5. Within 10 minutes, the "Online" LED will illuminate on the front panel.
6. Now turn to a computer with a Web browser (any computer on the LAN will do)
7. Point the Web browser at the PVR-721's new home page:
a. http://ipaddress:8000/index.html
8. Verify that you can access the PVR-721's filesystem via the Web server
a. Click the "Echostar" link under the "Proc Filesystem" heading
Congratulations, you did it. You're running a Web server on your Dish Network PVR-721. What's next? It's up to you.
If you're feeling adventurous, try connecting to the telnet server on port 23. It's not a real telnet server, so it won't work exactly like you'd expect, but it provides some functionality.
A WORD OF CAUTION
The PVR-721's filesystem is protected by two security mechanisms, the boot-time "auto-reinstall" mechanism mentioned above, and a "secure loader."
At boot time, the auto-install mechanism checks the disk for validity. It examines each executable (binary or shell script) required for startup. If it finds any changes to those files, it assumes the disk is invalid and reinstalls the operating system from a standby boot partition.
At run time, the secure loader examines executables as they are loaded. If it detects any changes to the executable, it refuses to load it. It's safe to change configuration files (e.g. crontab), and to run the executables that shipped with DishLinux, but "foreign" executables aren't permitted to run. Fortunately DishLinux ships with Python 1.5 support. Python scripts aren't subject to the secure loader.
For details of our research into PVR-721 security and speculation on the implementation details of these security mechanisms, check out our paper on the subject.
Main story links through doubleclick? (Score:1)
http://www.dbstalk.com/showthread.php?s=8a08531
The link at the top of the "Read More..." page links direct at:
http://www.dbstalk.com/showthread.php?s=8a08531
Is this part of Slashcode or a goof or what? Just found it curious considering the generally negative
Re:Main story links through doubleclick? (Score:1)
Europe ? (Score:2)
When are we Europeans going to get a service like this ?? If it runs linux and is hackable I'l sign up on the spot !
721 Internet Access (Score:1)
Re:Off topic but... (Score:1)