Ask Hackaday: We Might Have Some FPGAs To Hack

rear

[Chris] is an IT guy for a medical clinic up in Alaska, and until very recently the systems he monitored, fixed, and beat with a wrench included over 100 Pano Logic “Zero Client” thin clients. Pano Logic just went out of business and all support for these little boxes have been cut off, leaving [Chris] with a hundred or so very interesting pieces of hardware.

The idea behind these “zero clients” is the ideal of a thin client – take all the storage, processing, RAM, and other goodies and move them to a server. Pano Logic took this one step further than other thin clients, removing the CPU, memory, and basically everything you’d find in a thin client. What was left was a Spartan-6 FPGA, a few chips to drive the USB ports, a pair of HDMI chips, and a few DDR2 modules. Basically, [Chris] has about 150 FPGA dev boards just sitting in a storage room. The only thing that is needed is a bunch of software and an extreme amount of cleverness.

After opening one of these zero clients, [Chris] found a Spartan-6 FPGA right next to what he thinks is a 6-pin programming port. Along with the FPGA are a few other chips that would make any FPGA dev board a very neat tool:

We’re going to agree with [Chris] these Pano Logic zero clients show a lot of potential. If you’re up to the challenge of creating a very, very cheap FPGA dev board out of some discarded hardware, head on over to ebay or chat up your local IT guy.

79 thoughts on “Ask Hackaday: We Might Have Some FPGAs To Hack

  1. If anyone has one of these, would they mind posting a few teardown pics of the board? I haven’t been able to find much information on the internet.

    There should be a ROM chip somewhere on the board for storing the FPGA’s configuration, unless they’re using one of the Spartans with internal flash, which is highly unlikely.

    If the ROM chips are indeed programmed in-circuit over JTAG or something, then this might be a source for really cheap “eval boards” of sorts.

      1. Fail…………
        If you knew anything about bitcoin and spartan 6, you would know that whilst there are enough CELLS, there are not enough routing resources. you can just about manage a JTAG or Serial interface.

        and since the payback on bitcoin is now down since the shipping of the Avalons, the payback time is going to be excessive on one of these, maybe even never……

  2. The company is out of business because except for limited, dedicated applications like Point Of Sale and other one trick pony uses, thin clients flat out suck.

    It takes a far beefier server to feed office apps to thin clients than it does to work as remote storage and application serving to desktop computers.

    With thin clients all the grunt work is done by the server. Get 100 people all working on MS Word and Excel and things slow to a crawl if the server can’t chew bits fast enough to keep up.

    With an application server and desktops loading the programs from the server, it’s a much nicer experience because the programs are executed on the desktops, not the server. Data throughput over the network and to/from storage is a far easier task than running 100+ instances of Word.

    With thin clients, if the server goes down *nobody* can do any work. “The server’s down, so is the backup mirror server. Everybody just go home and we’ll text message you if we get things fixed. What’re you waiting for? GIT! Leave or we’ll make you use pencils and paper to do your work today.”

    With the server and desktop arrangement, the desktops are still fully functional computers if the server takes a dirt nap.

    Despite periodic announcements of the “death of the desktop”, it ain’t dead and won’t be any time soon.

    Desktop sales are down some now due to the economy and because they’ve become so frigging powerful that application program coders are having a hard time coming up with ways to use all the CPU power and storage available on mid to high end desktops.

    1. Galane ,

      No disrespect but have you ever had to manage 100’s or 1000’s of computers in an enterprise?

      Thin clients have their place, they have no moving parts, don’t tend to need os updates all the time, can be put in locations where physical access is limited or potently damaged or stolen, IE a medical clinic exam room or a public kiosk. both are ideal locations for such devices. You can argue that they don’t preform well and that would be wrong. I have both Pano’s and Wyse P25’s with PCoIP.

      Pano is likely out of business because they refused to adapt their protocols and make their software robust. They used unsigned drivers, needed older video drivers and were in essence limited to a single user(took 4.5 minutes to change users on windows 7). The video driver was slow, they randomly have issues on the software side after minor changes such as a windowos or vmware update etc. The 5th generation server software didn’t support the keyboard corectly etc.. lots of just little things adding up to utter failure.

      Wyse has been in the thin client business for a while and frankly the PCoIP stuff kicks snot. Vmware view running a full 1080P hd video stream totally software rendered and you could not tell it wasn’t a desktop. Aero works, applications fire off like greased lightning etc.

      Both “guests” are using the exact same hardware a Dell 710 with 128gigs of ram and serving up around 75~100 guests, backed by SSD cache and a decent storage subsystem. If your VDI isn’t working, someone didn’t design the storage right. Its all about IO. In the next few months vmware and a few other company are releasing full virtual GPU support offloading that 1080p render from above onto the GPU.buying 1 high end graphics card will not benefit all vdi users on that server without investing hundreds per “desktop” to get the same ability when only a handful will need that ability at one time.

      On the topic of a failed server, sure but any decent enterprise using this would never put all the eggs in one basket. Both products support redundant load balancing brokers that then map sessions onto an available box. with vmware DRS you get a fully redundant distributed cluster, when a $1 invested in infrastructure say a ssd or ram or hdd anything, that $1 is then shared by all, so I don’t have to spend $100k replacing desktops each cycle, I can change servers, while everything is running live and working, or just add a new server, and migrate/balance the load. YOU can’t do that with a desktop. even with roaming profiles and the like your stuck at some point physically pulling the old box out and putting new in. with vdi the user doesn’t have to be bothered and I don’t have to have staff try to work in a narrow maintenance window. Typical office desktops see less then %5 usage (average) yes peeks are higher, don’t generally need multiple cpu’s and ram is not much at all, this leaves the storage system as the single point defining “performance” and my vdi system has multiple SSD’s and more then 60 disks that everyone can tap on demand, if I need to speed up your office desktop I am limited to putting in a new drive and installing or migrating the os. Very costly in a number of ways.

      Before you go extolling the desktop only model consider managing 200+ machines and having a department of only 2 staff and then take those computers, spread them out across 20+ buildings in 3 towns each separated by 75 miles and tell me that the vdi model doesn’t work better. Central support, easy to monitor, no need to travel etc.If you do it right you can even save on licensing costs.

      I will agree that sometimes the “desktop” makes more sense but more for workstation like users then office workers.

      using vmware 100 copies of office all running at the same time takes practically the same resources as single copy (over simplified here but its much lower). The reason for this is that if a block of ram is the same between say 2 or 3 guests it will create a table and use pointers to the redundant block. so you will need 1 full copy plus the table in ram. This is substantially smaller then the 100 individual copies. Now if a block changes then it gets copied and the change made to the copy, slowly growing only the churning ram and not the full application. This applies to the entire system so when I deploy 100 identical vdi’s my ram usage is only a fraction of individual machines. What matters is then the differences between the machines. The result is it lets you over subscribe your hardware a good amount for similar/identical workloads. since office vdi tends to be about keeping similar work machines for a department or group of machines each group would benefit. different groups and work patterns will yield a different memory map but if your using windows and office chances are that 90% of that is duplicate data.

      On storage, I have tested ZFS storage on one of the dell 710’s using only 5 HDD’s and 2 SSD’s. 100 vid clients all running and installed on that box each with a 75 gig windows image with office, multiple bowers, other apps etc.. after fully installed and running that deployment still only took 180 gigs of storage (zfs dedup), 80 gigs of ram (vmware dedup) and puts less then 25% load on a 2x 4core cpu system. Total investment for 100 users is less then half for a desktop solution even if performance is only 90% of a desktop. The costs more then offset buying the occasional desktop needed for that 1 or 2% needing maximum performance.

      Its all about picking the right tool for the job, and having 100’s of hot power hungry computers in your office might not be so good in an old building not engineered to have 100’s of 100~300 watt heaters scattered about.

      Point in fact the one 710 above is drawing 342 watts average, with each pano/wyse box taking an additional 5~10, I won’t factor the display since its a wash between both desktop and vdi. I measred around 15kw for the desktop solution per hour on and the vdi is about 1.5kw an order of magnitude in savings. Both in power spent running and additionally often overlooked, cooling.

      I have to ask for clarification on this line from your post “With the server and desktop arrangement, the desktops are still fully functional computers if the server takes a dirt nap”
      If the server wasn’t doing anything then way was it on in the first place, and if it died and it was doing something people needed then you still have an impact on the workers needing that resources otherwise your point has no relevance since the machine had no relevance. I am just trying to understand this, since I may have over looked the advantage you appear to be trying to make a point about.

      I won’t count the desktop out yet but thin is in, and for very good reasons.

      1. Yep, they certainly have their place. I’ve used 60+ Wyse terminals to display streaming video from a OS X/QuickTime Streaming Server in a gross anatomy lab at a medical university. They were small and could be bolted to ceiling mounted articulating arms, along with touch screen LCDs. It would have been far more difficult and expensive (in the early 2000s) to have 60+ desktops with over a terrabyte of storage each. Plus the weight of a desktop would have prevented it from being attached to the arms, and they couldnt be on the floor due to all the blood and tissue which would accumulate and have to be cleaned up every day.

    2. “With thin clients, if the server goes down *nobody* can do any work.” Only if the place is ran by idiots.

      We have backup servers that will auto failover. Storage is seperate from application servers. If you let low education people like MCSE’s or other microsoft certified newbies in charge of your system, yes you get company wide failures. Hire real thin client admins with real sysadmins and you get better TCO and better uptime than desktop pc’s can ever deliver.

      3 competent guys can manage a 15000 desktop setup across 3 cities with thin clients.

    1. Basically 100 FPGA’s mining bit coins headless would be an amazing use for these whilst you think of other uses. The price of bit coins was recently around $14 a coin, well worth the effort to fund other projects with the spares.

      1. its a shame though… by the time you got it all set up people would be mining on AISC’s and you would start to struggle to make enough to pay for the power that they use…

    1. Thanks very much for the photos! Could you say what the model number of the chip behind LAN port is as well as the one behind the audio port? I’m assuming that they’re the ethernet and audio controllers respectively.

      I’m curious what this 6TA2I/D9FSD chip is. I see that the ISC chip is the clock generator.

      I don’t see the flash chip directly on the board there. Usually it’s close to the FPGA, which makes me think that it might be next to the VGA port, but I can’t see the model number on the part.

      If those pins on the header connect to the flash ROM and the FPGA, then they’re almost certainly the JTAG programming header.

      Thanks again!

      1. I think the 6TA2I/D9FSD chip is a micron chip if you go to the micron website (www.micron.com) the M in their logo is the same as on the chip. micron makes memory chips, so its probably either a flash chip or a DRAM chip. I haven’t been able to find anything on that part number yet though.

    2. I just got my board today. The flash chip is located in upper right of Redleader36’s 1st photo. It is an 8 megabit chip, labeled 25P80. The JTAG is behind the FPGA. The pins are (from left to right): VCC3.3, TDI, TMS, TDO, TCK and GND. Xilinx Impact had no problem recognizing it. I’m not sure what the other header is for yet.

  3. Does anyone have any idea on how we are going to trace the connections between the ICs and the FPGA, as this seems to be a multilayered PCB ? (Genuinely interested in pointers, bit of a noob when it comes to this ^^)

    1. Under the G2’s mainboard, there is a BGA chip marked “25P28V6G”: it seems to be a a 128Mbit SPI flash memory chip from Micron. Datasheet: http://pdf1.alldatasheet.net/datasheet-pdf/view/132610/STMICROELECTRONICS/M25P128-VME6G.html

  4. Has anyone made any progress with reverse engineering these? I have been thinking about getting involved and wonder if it is worth the effort.

    Main challenges I see are reverse engineering the board schematic to the degree that you can create a .ucf file, and writing code to drive the peripherals.

    Anyone any views on how that can be done, and how much effort would be involved?

    Is this being discussed anywhere else? Ideally a wiki would be set up to collate the effort.

  5. JTAG – anyone got a jtag connection working reliably with a G2? I’ve got a Chinese clone Xilinx USB jtag box, and using Taylors connection scheme (which I have checked and believe to be correct) it did work (using iMpact) – but now doesn’t :-( So if someone can tell me jtag definately works with G2’s that would help the debugging!!

  6. Rather a belated response (to my own post!) – but I have made a fair bit of progress with investigating the G2 – it works fine with JTAG, firmware is not encrypted, it is programmable etc.
    However, I have turned my attention to the G1 now – main reason is that it is supported by the Xilinx Webpack. While it is a very less capable device (XC3S1600E) if it could be completely reverse engineered it would make a very useful FPGA building block – reasonable selection of peripherals, reasonably convenient form factor, and very very very cheap. Someone else working on the problem is the Cranky Sysadmin – http://blog.2gn.com/category/pano-logic/ So if you want to help, or have any information to add, please head on over there.

      1. Point taken! :-) I’ll see if I can find some time to publish what I have. But, as I’ve said – the Webpack issue limits the number of people that could work on the G2 – G1 doesn’t have that issue, and I am hoping that the techniques developed can be applied to the G2 once the G1 is done and dusted.
        Why don’t you get a G1 and join in?

    1. There is no “hacking” to it… as far as I know. The FPGAs aren’t locked or anything… you just need to wire up to the jtag and probe the pins to find what you want.

    1. If anyone wants one or two or three. Make me an offer at 1 cent at the link below and just pay me shipping and I’ll accept. I have 50 or so of these, mostly G2 but some G1s if you want. I just don’t want them to go to waste but can’t use them myself.
      http://rover.ebay.com/rover/1/711-53200-19255-0/1?icep_ff3=2&pub=5575378759&campid=5338273189&customid=&icep_item=142825143526&ipn=psmain&icep_vectorid=229466&kwid=902099&mtid=824&kw=lg&toolid=11111

          1. I wish! The doc must be out there, but I have never seen it. I did try emailing the Pano staff I found on LinkedIn a long while ago, asking, but had no replies ????

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.