Author

Topic: [DIY] Tube/Prisma USB Adapter from USB Blockerupter (Read 10311 times)

hero member
Activity: 650
Merit: 500
Pick and place? I need more coffee.
So far works just as well as the included controller.  I will post back here in a couple of days.
full member
Activity: 173
Merit: 100
Got it working!  Turns out my compiled version of cgminer is a dud.  The Binaries created by Ckolivas do not support the tube/prisma even though the readme indicates

this.

https://bitcointalksearch.org/topic/m.9999876

Hmm.  He posted a link to the binary that does though. Cheesy

Thanks for all your help novak.

That's good!  How well does it work with windows 7? A few people have asked about using it but I always use linux, and had terrible results with windows XP.

--
novak
hero member
Activity: 650
Merit: 500
Pick and place? I need more coffee.
Got it working!  Turns out my compiled version of cgminer is a dud.  The Binaries created by Ckolivas do not support the tube/prisma even though the readme indicates

this.

https://bitcointalksearch.org/topic/m.9999876

Hmm.  He posted a link to the binary that does though. Cheesy

Thanks for all your help novak.
full member
Activity: 173
Merit: 100
I have a 1K resistor installed on the RX side to 3V3 as a pull-up.  It worked when I used a R-pi with raspbian.  As far as the Bet-clk, It sets frequency and is listed in the

readme as a valid command.  Strange it does not work.

Very.  I don't know what would be the issue with that.  First thoughts (without being able to take a look at anything, obviously) would be:

Perhaps the resistor is loose and it worked once but not again?  Unlikely, I suppose, depending on the quality of the soldering (which I can't see), and depending on how many times you were able to repeat success.  I have seen this error on a bad UART that came with RX and TX bridged.

Perhaps there's something else up, for instance, if you have an unpowered board connected to the UART (3-wire white data cable) you get that error.  Perhaps there's something weird such as the boards are addressed out of order a bit and it works on one system but the other gets confused.

It could be software, possibly, since not accepting --bet-clk does sound weird.  I have no experience compiling cgminer on windows, but it sounds as though you did everything right.

--
novak
hero member
Activity: 650
Merit: 500
Pick and place? I need more coffee.
I have a 1K resistor installed on the RX side to 3V3 as a pull-up.  It worked when I used a R-pi with raspbian.  As far as the Bet-clk, It sets frequency and is listed in the

readme as a valid command.  Strange it does not work.
full member
Activity: 173
Merit: 100
When I run cgminer-main 4.9.0 for windows with argument --bet-clk 25 I get "unrecognized option".

Hmm?  I thought Cgminer supported the tube/prisma after 4.7.0.

Novak, What version exactly are you using?  Where did you download it from or did you compile it yourself? This is weird. Huh

I ran the standard 4.6.0 (custom ASICMiner version) and 4.7.1 on windows, and compiled 4.7.1 on linux.  I didn't bother setting bet-clk, though.

I have seen that 'unexpected value 00' error you mentioned, either when the resistor was not in place or there was some other issue with signal integrity.  Basically, it means the chip is doing ok but can't get the right data from the UART.  If it is a software problem... Then that means that it is not reading the expected data from the USB port.

--
novak
hero member
Activity: 650
Merit: 500
Pick and place? I need more coffee.
When I run cgminer-main 4.9.0 for windows with argument --bet-clk 25 I get "unrecognized option".

Hmm?  I thought Cgminer supported the tube/prisma after 4.7.0.

Novak, What version exactly are you using?  Where did you download it from or did you compile it yourself? This is weird. Huh
hero member
Activity: 650
Merit: 500
Pick and place? I need more coffee.
I am not at the location currently.  The errors referenced "usb timeout"  and something about "returned 00" or some such thing (bad memory).  Might post a screenshot

tomorrow.  I will be at that location then.

Edit: Unexpected value 00
full member
Activity: 173
Merit: 100

Hmm.  The distributed windows binary would not even "see" my units.  The one I complied myself in Mingw sees them, but produces many errors then crashes right away.

I am using the drivers installed by Zadig and an adapter I made.  This exact hardware work fine under Linux but that is not an option where these are.

I did notice that the newer versions of cgminer did a more accurate job of reporting errors on tubes/prismas.  I'm guessing that whatever is messing up your devices is the same error, just reported differently by different cgminer versions (can't detect vs libusb errors).
I'm extremely suspicious of the hardware working under linux but not windows, that seems very unlikely to be a hardware problem.  Double check that you did everything the same on both, test on a single board disconnected from all other boards, and try plugging things in and starting cgminer in different orders. 
It's hard for me to be too much help without actual access to the hardware, but I have to wonder if it's just being really picky about something that doesn't make sense.

Post the libusb errors for me, maybe?

--
novak
hero member
Activity: 650
Merit: 500
Pick and place? I need more coffee.
How did you get you boards to hash under Windows?  On my win7 machine all I get are LIBUSB errors regarding syncing.  The same setup works fine in

Linux.  Self compiled CGminer 4.9.0. with --enable-blockerupter config.  I compiled it on the same machine using Mingw.

I didn't have any trouble getting it to start on windows using the zadig drivers.  Didn't even compile my own, just use anything 4.7.0 or newer (or the custom ASICMiner 4.6.0 that they made specifically).  Now getting it to stay running is another story.  The windows driver must suck or something, because it usually takes between 4 minutes and 4 hours to crash (tested on an XP box, perhaps 7 is better).

I did see weird errors like that when I plugged in a tube board powered, but had another unpowered board still chained off of it.  Disconnecting the other board did the trick.  The tube/prisma are very picky sometimes.

--
novak

Hmm.  The distributed windows binary would not even "see" my units.  The one I complied myself in Mingw sees them, but produces many errors then crashes right away.

I am using the drivers installed by Zadig and an adapter I made.  This exact hardware work fine under Linux but that is not an option where these are.
full member
Activity: 173
Merit: 100
How did you get you boards to hash under Windows?  On my win7 machine all I get are LIBUSB errors regarding syncing.  The same setup works fine in

Linux.  Self compiled CGminer 4.9.0. with --enable-blockerupter config.  I compiled it on the same machine using Mingw.

I didn't have any trouble getting it to start on windows using the zadig drivers.  Didn't even compile my own, just use anything 4.7.0 or newer (or the custom ASICMiner 4.6.0 that they made specifically).  Now getting it to stay running is another story.  The windows driver must suck or something, because it usually takes between 4 minutes and 4 hours to crash (tested on an XP box, perhaps 7 is better).

I did see weird errors like that when I plugged in a tube board powered, but had another unpowered board still chained off of it.  Disconnecting the other board did the trick.  The tube/prisma are very picky sometimes.

--
novak
hero member
Activity: 650
Merit: 500
Pick and place? I need more coffee.
How did you get you boards to hash under Windows?  On my win7 machine all I get are LIBUSB errors regarding syncing.  The same setup works fine in

Linux.  Self compiled CGminer 4.9.0. with --enable-blockerupter config.  I compiled it on the same machine using Mingw.
legendary
Activity: 1414
Merit: 1077
There's info enough on the DIY, but he's got 'em priced pretty reasonable in the Group Buy. Looks like he just finished testing a bunch of 'em, probably ship orders out tomorrow. We've got some Prismas in hosting running off stock AM USB adapters and they're a heck of a lot better than the AM BE controllers.

That sounds like exactly what I need thanks again Grin. I'm pretty fed up with the standard setup and have considered selling these only problem is with the limited software and pools etc. they're not going for much money. I like the hashrate and both of mine have been running non stop for weeks now without missing a beat so they're reliable enough, I have changed the stock fan for 2 x Corsair high performance fans and the noise has reduced by probably 80% which is a real bonus when they're in my small office at home.

I've just posted on the group buy thread hopefully he'll ship to the UK. Yes sorry posted this on the wrong thread really I should have posted on the group buy one as I'm looking to buy one already made. I have no electronics experience or skills so making one of these would be pretty much impossible for me lol.
legendary
Activity: 3374
Merit: 1859
Curmudgeonly hardware guy
There's info enough on the DIY, but he's got 'em priced pretty reasonable in the Group Buy. Looks like he just finished testing a bunch of 'em, probably ship orders out tomorrow. We've got some Prismas in hosting running off stock AM USB adapters and they're a heck of a lot better than the AM BE controllers.
legendary
Activity: 1414
Merit: 1077
It's a USB adapter to run Tubes or Prismas off a standard host controller like a laptop, Pi or beaglebone, running cgminer on any pool, instead of AM's BlockErupter controllers with no failover options and a broken stratum implementation.

Basically he's making them because they're hard to get from ASICMiner.

Ok that's great thank you very much. They sound pretty good I'll try and order myself a couple Smiley.
legendary
Activity: 3374
Merit: 1859
Curmudgeonly hardware guy
It's a USB adapter to run Tubes or Prismas off a standard host controller like a laptop, Pi or beaglebone, running cgminer on any pool, instead of AM's BlockErupter controllers with no failover options and a broken stratum implementation.

Basically he's making them because they're hard to get from ASICMiner.
legendary
Activity: 1414
Merit: 1077
Please excuse me for sounding stupid but what are these for exactly? Embarrassed

I have 2 x asicminer tubes running off their own controllers at the moment.

EDIT: Do they just replace the standard controllers or are there benefits to these over the originals?
full member
Activity: 173
Merit: 100
So, I got hold of the seller in the US, and they did not have sufficient stock.  I looked around for another US seller offering the same part but couldn't find one.  I did however, find even cheaper pricing from an oversea seller.  So I will be offering the adapters at $4.50 each (plus shipping, which should only be $2.50 in the US), and they will be delivered between 6 and 18 business days.  I guess shipping around the holidays is messy.  At any rate, it should only take me a couple days to rework them, test them, and get them back out.  

If you would like to buy one or more, just PM me or email [email protected]

Edit:  Link to the group buy page: https://bitcointalksearch.org/topic/unofficial-usb-adapters-for-asicminer-tubeprisma-882348

--
novak
full member
Activity: 173
Merit: 100
I finally played with some USB-UART adapters and  got one of two to work while looking nice.  The other I thought would work, but the pins were incorrectly labeled, as in RXD was actually TXD.  The key is to find a CP2102 USB-UART with an LED on the RXD line.  Typically, this LED will have a pull-up resistor to 3.3V.  I replaced both the LED and resistor with 0805 SMD 470 ohm resistors, which comes out to be about 940 ohms, or fairly close to the 1K used on the tubes.  I tested it and it seems to work just fine.

I apologize for this picture, I might have to bring in my camera or find somewhere better lit.  It's impossible to read the resistors, but two of them are replaced, specifically the one right next to the letters RXD and the one right beneath that.



I plan on ordering UARTs on Monday, so if you're going to want some let me know so that I get enough.  Right now I have a couple places I could purchase them, resulting in either a $5 price tag and a ~14 day turn around, or a $7 price tag and a ~6 day turn around (to be clear, the price is the end price I would sell at, although shipping is extra and days means business days because most of the time is waiting for shipments to arrive).  Let me know if you have a preference.  If no one says much I'll probably go with the faster one as I think most people who want them want them yesterday.  If I need to order a whole lot I might go with the cheaper option and I'd probably be able to drop the price a little too.  So far I haven't had requests for even 25 total, so that's a pretty tiny batch.

As to the wiring, I just used the cables that came with the adapter and small pieces of solid-core wire to plug between the female connector on the adapter cable and the UART cable (white one that comes with tubes/prismas).

If you want to save a buck or two I don't mind telling you which adapters to buy and how to replace the resistors yourself.  I used a hot air station, but you can certainly do it with a soldering iron although I recommend a fine tip. I've swapped resistors that size using an iron before without much trouble.

--
novak
full member
Activity: 173
Merit: 100
Person6278 PM'd me a while back, he picked up a USB-UART and got it working by adding a resistor:

https://bitcointalksearch.org/topic/prismatube-cp2102-mod-working-865503

In unrelated news I've ordered a couple of UARTs as well, probably be here early next week.

--
novak
full member
Activity: 173
Merit: 100
Just to elaborate on ManeBjorn's point, here's the plan:

Instead of building these adapters from scratch, I'm looking for an existing USB-UART using the CP2102 which I can adapt (essentially the only requirement besides being a CP2102 USB-UART is having a LED tied to RXD- let me know if you have one, and post a couple pictures so I can find a clone for sale more easily).  Once I find a good cheap option, I can make a professional looking USB-UART adapter suitable for tubes and prismas by switching only a couple of surface mount parts.  This will be faster to make than buying everything from scratch, especially PCBs, and cheaper too unless I'm making at least several hundred.

In about a week or so I should be getting in some adapters which I will test for suitability (Not all of them would necessarily be just a simple SMD swap, it might require a through hole jumper/resistor hanging off, which I would like to eliminate).  Once I know what adapter to use I will have a price and know what changes are required.  For now, a crude price estimate is about $4-$7 plus shipping, depending on what quantity the batch is and how cheaply I can find good adapters.  No promises yet, everything is up in the air.  ManeBjorn has been working/discussing with me to try to improve the tubes since they first came out, especially with regard to the BE-controller debacle.

The only reason I am even considering a production run is how bad of a job ASICMiner is doing at shipping adapters / selling to existing tube owners.  If they step up their game this becomes fairly pointless. 

So let me know if you're interested!  I will update as I have more info.

--
novak
legendary
Activity: 1288
Merit: 1004
We would like to hear from you all.  He can do a run of UARTs for this.
If there is enough interest I will get him the funds and he can get them going.  I know they are hard to get and depending on the amount needed we can get the run going.
I have been working with him behind the scenes to get project going.  Novak is a talented guy that is for sure.

So everyone let us know here if you are interested and we will get it going.  I will give him what ever help he needs.

Thank you.
legendary
Activity: 1161
Merit: 1001
Don`t invest more than you can afford to lose
Keep the updates flow Smiley
legendary
Activity: 1593
Merit: 1004
Wow - you are good. 
legendary
Activity: 1288
Merit: 1004
Excellent job and good way to find a new use for the old block erupters.
Nice guide as well.
full member
Activity: 173
Merit: 100
I wanted to reverse engineer the USB adapter from ASICMiner for
Tubes/Prismas so I built one out of an old USB Blockerupter.  The
Blockerupter, like most (all?) USB-controlled bitcoin hardware makes use of
the CP2102 USB-UART adapter, just like the adapter from asicminer.  Here's
a picture of the adapter, showing which pins are which.


To use the blockerupter, you want to get rid of anything potentially using
the BE100 chip, or communicating on the UART.  Here's the blockerupter,
showing what I removed.  Some of this is optional, but I wanted to reuse
the inductor pads for wiring so make sure to get rid of big caps as well.


Once you've got a bunch of the stuff pulled, plug it into a computer and
check if it works.  The SI labs website has a handy tool for checking if
CP2102s are in working order.  Everything on the chip should be factory
defaults.


Now you need to wire the UART RXD and TXD pins to output wires.  Find the
smallest wire you can.  I used single strands from a stranded 24 AWG wire,
and it worked pretty well.  The RXD pin on the CP2102 goes to the topmost
left pin of the microcontroller, an Atmel 2313 AVR, and the TXD pin goes
to the leftmost top pin on the micro.  I jumped them from these tiny pads
to the inductor pads.  You can jump them where you think best, but don't
short to something which would interfere with the signal.  There is one
more issue.  If you look closely at the RXD pin on the ASICMiner adapter,
you'll notice that it is tied high (to 3.3V, not 5V) through a 1K
resistor.


We need to run a 1K resistor from 3.3V to RXD.  C5 and C6 are the output
capacitors from the internal regulator for the CP2102.  Jump from them to
RXD.  Here's a picture showing where all the wiring on the blockerupter
needs to go.  Remember, leftmost top pin, and topmost left pin from the
microcontroller.


It should function as a USB-UART adapter now!  Hook up GND, TXD, and RXD
as shown in the first picture and fire up your miner!  The final product
should look something like this.  I added some hot glue to keep the tiny
wires in place.


It seemed to work as well as the ASICMiner adapter, here's a screenshot
from a single prisma board hashing:


You should theoretically be able to use any CP2102 USB-UART with
a 1K pullup resistor from 3.3V to RXD in this fashion.

EDIT: Moved pictures temporarily so they will load.  I might mess with resizing them later.

--
novak

Jump to: