J4bberwock
|
|
September 15, 2014, 11:24:09 AM Last edit: September 15, 2014, 11:37:26 AM by J4bberwock |
|
I am still trying to catch up on this thread, so bear with me if this has been overcome. I managed to build a windows cgminer of the latest 4.6 release by simply uncommenting out the #ifdef LINUX bit from just one file, i.e driver-bitmain.c. I fired it up and it seems to run, but obviously have not plugged it into an S1 blade as yet. I also need to change / add the USB chip for my USB to TTL dongle. J4bberwock (or anyone), if you'd like the binary, I can provide it, though the build is simple (via MinGW). heres a screenshot: I guess it won't work, but if you can send me a link to download it, I'll try this afternoon
|
|
|
|
pekatete
|
|
September 15, 2014, 11:38:32 AM Last edit: September 15, 2014, 12:21:11 PM by pekatete |
|
I am still trying to catch up on this thread, so bear with me if this has been overcome. I managed to build a windows cgminer of the latest 4.6 release by simply uncommenting out the #ifdef LINUX bit from just one file, i.e driver-bitmain.c. I fired it up and it seems to run, but obviously have not plugged it into an S1 blade as yet. I also need to change / add the USB chip for my USB to TTL dongle. J4bberwock (or anyone), if you'd like the binary, I can provide it, though the build is simple (via MinGW). heres a screenshot:
I guess it won't work, but if you can send me a link to download it, I'll try this afternoon I am sure it was a long weekend. Having caught up with the thread, you seem to have made a lot of progress yet not hit that promised land just yet, and I understand the frustration there. I really think you are there and throwing the kitchen sink at it will yield results (I'll start with the utencils if you do not mind!), so here goes. 1. For your build, what are your USB chip settings (should I use the ones in the thread)? 2. I also read Taugeran's post about changing the number of ASICs, do you want me to change that as well, or should I make 2 binaries with either setting? 3. Finally, should I include all the dlls it requires to run in the zip or do you have these already? EDIT: Scratch no. 2 - this applied to the U2 driver, I am compiling with ---enable-ants1
|
|
|
|
J4bberwock
|
|
September 15, 2014, 12:59:07 PM |
|
You should use the Vendor and product id for the cp2102, same as for the U1 and for the block erupter.
Changing the number of asics didn't help with bfgminer, I'm not sure it's needed in cgminer since you are compiling for S1
I already have all the DLLs from other cgminer builds.
I'm now considering trying to find what's happening in this pic microchip if there is something else than a simple uart > usb bridge to communicate with the chips. I'm confident it can be done with a simple CP2102 and a few tricks in the software (cgminer/bfgminer), but since bitmaintech didn't make it open, we need to try and guess.
|
|
|
|
pekatete
|
|
September 15, 2014, 01:46:14 PM |
|
I dug out my ageing S1 from the garden and decided to give it a go seeing I have the rest of this afternoon to my leisure. I'll look back through the thread to get the setting you had and will have to get mine as well then compile. Will drop a line when I am done. I know I read this in the thread but can't remember where, you managed to work out the tx/rx lines on the ribbon cable, do you mind jogging my memory?
|
|
|
|
J4bberwock
|
|
September 15, 2014, 02:15:37 PM |
|
RX is pin #3 TX is pin #5. Pin 1 is the closest to the 4 pins fan header
|
|
|
|
J4bberwock
|
|
September 15, 2014, 04:23:47 PM |
|
I believe I've found something. It appears that the S1 chips are supporting single chain and multiple chain mode. And it's set to multiple chain on my boards by floating pin 44.
Is this the reason why my cgminer was seeing a few different units?
Grounding it (bridge with pin 45) would set it as single chain. Maybe it will help and avoid any change in the software. I'll check later if grounding is as easy as it seems.
EDIT: Maybe not for everyone, but it can be physically done on the board.
|
|
|
|
pekatete
|
|
September 15, 2014, 07:10:22 PM Last edit: September 15, 2014, 07:24:05 PM by pekatete |
|
I believe I've found something. It appears that the S1 chips are supporting single chain and multiple chain mode. And it's set to multiple chain on my boards by floating pin 44.
Is this the reason why my cgminer was seeing a few different units?
From my initial run earlier today with cgminer, the "different units" that you refer to were actually (on a windows system) the installed USB devices on the system (hubs et al). I looked through them (via control panel -> system devices ) and identified the one that I had my Prolific dongle attached to, and looking through the cgminer debug log, it was easy to pick out the settings (to plug into the software). Basically you just have to prepend with 0x (thats a zero and a lower case x) then the respective number aka idVendor & idProduct. EDIT: So, at least for a windows system, those other units that appear in the cgminer debug log are a dead end! Grounding it (bridge with pin 45) would set it as single chain. Maybe it will help and avoid any change in the software. I'll check later if grounding is as easy as it seems.
EDIT: Maybe not for everyone, but it can be physically done on the board.
This is good news. The more options that can be got the better. That link I suggested earlier has not been forthcoming because I did not get any positive outcome from running the binary myself, and having based the binary on hardcoding the USB device, I thought it would only be of use if you had the exact USB-TTL dongle that I have (which may be a remote possiblity). I thought I had the afternoon off! Its all gone and I can not think of any progress I have made .... well well, time flies when your'e having fun hacking!
|
|
|
|
|
J4bberwock
|
|
September 16, 2014, 05:29:34 AM |
|
Hi, unless I'm mistaken, this part is simply a usb hub that allow them to plug more than 1 board to the AR9331. The part that is acting as a USB>UART converter should be the pic32.
|
|
|
|
J4bberwock
|
|
September 17, 2014, 08:57:48 AM Last edit: September 17, 2014, 09:19:24 AM by J4bberwock |
|
Just received a few parts that will go in the "hub" board. Still waiting for a few ones from ST micro. No update on the software side for now but investigating the icarus (ANT USB) driver in cgminer since at the moment, it's the one giving the best results.
|
|
|
|
J4bberwock
|
|
September 17, 2014, 02:59:24 PM |
|
For some reason, it seems that it's only working on 1/4 of the chips, but they are all equally hot 60-70°C depending on frequency settings. changing fpga count didn't help in cgminer. I have a nice and stable 20-24Gh.
|
|
|
|
J4bberwock
|
|
September 18, 2014, 06:13:03 AM Last edit: September 18, 2014, 10:07:02 AM by J4bberwock |
|
Configuration Options Summary: libcurl(GBT+getwork).: Enabled: -lcurl curses.TUI...........: FOUND: -lncurses Bitmain.SingleChain..: Enabled Bitmain.MultiChain...: Enabled Compiling single chain is as expected for U1/U2 multiple chain hopefully will recognize the S1 after I changed the Vid/Pid Edit: Still no luck, for some reasons, only icarus ANU works for hashing, but it's single chain mode. Icarus multichain mode would solve this. Do we have any coder here that can do it? Worst case, I'll do the soldermod on the chips to put them in single chain mode and use icarus ANU driver. According to Bitmain, single chain is limited to 120Gh, but each S1 blade is 100Gh max, and even 70Gh undervolted, so it shouldn't be an issue.
|
|
|
|
CHAOSiTEC
Legendary
Offline
Activity: 1358
Merit: 1002
|
|
September 21, 2014, 07:39:37 AM |
|
Configuration Options Summary: libcurl(GBT+getwork).: Enabled: -lcurl curses.TUI...........: FOUND: -lncurses Bitmain.SingleChain..: Enabled Bitmain.MultiChain...: Enabled Compiling single chain is as expected for U1/U2 multiple chain hopefully will recognize the S1 after I changed the Vid/Pid Edit: Still no luck, for some reasons, only icarus ANU works for hashing, but it's single chain mode. Icarus multichain mode would solve this. Do we have any coder here that can do it? Worst case, I'll do the soldermod on the chips to put them in single chain mode and use icarus ANU driver. According to Bitmain, single chain is limited to 120Gh, but each S1 blade is 100Gh max, and even 70Gh undervolted, so it shouldn't be an issue. if you guys get this working i will definatly buy a couple of J4bberwocks controller boards to power my soon to be upgraded S1s...
|
node-vps.com - Tron / Masternode hosting services
|
|
|
sla73
Newbie
Offline
Activity: 27
Merit: 0
|
|
September 21, 2014, 09:25:16 AM |
|
So my 3 x upgrades are on the way.. Very keen for this work out.. keep up the good work J4bba!
If these boards go to production I am in..
Cheers
|
|
|
|
J4bberwock
|
|
September 21, 2014, 12:14:32 PM Last edit: September 21, 2014, 12:26:47 PM by J4bberwock |
|
Still looking for some help on the software side. I'll have a few spare prototypes of control boards next week if needed. What might work is adding to icarus U1/U2 driver the multichain mode from here: https://github.com/bitmaintech/cgminerSecond way it could be solved is understanding why the CP2102 isn't detected when using the bitmaintech driver even if I changed the vendor and product id. Are there other places with such id check or other things checked? Edit: Looking at bitmaintech github, antminer U3 is on it's way
|
|
|
|
Taugeran
|
|
September 21, 2014, 12:26:55 PM |
|
I figured since this race is mighty well and over, I'd post my lil pet up for the world to see and maybe gain inspiration. same size as a nanofury and to make 3: each is about $13
|
Bitfury HW & Habañero : 1.625Th/s tips/Donations: 1NoS89H3Mr6U5CmP4VwWzU2318JEMxHL1 Come join Coinbase
|
|
|
CHAOSiTEC
Legendary
Offline
Activity: 1358
Merit: 1002
|
|
September 21, 2014, 12:32:03 PM |
|
Still looking for some help on the software side. I'll have a few spare prototypes of control boards next week if needed. What might work is adding to icarus U1/U2 driver the multichain mode from here: https://github.com/bitmaintech/cgminerSecond way it could be solved is understanding why the CP2102 isn't detected when using the bitmaintech driver even if I changed the vendor and product id. Are there other places with such id check or other things checked? Edit: Looking at bitmaintech github, antminer U3 is on it's way pm me with a price in btc (including posting to sweden) and ill take 1 or 2 off your hands :-p then ill take a look at the software (im no wiz mind you)...
|
node-vps.com - Tron / Masternode hosting services
|
|
|
J4bberwock
|
|
September 21, 2014, 12:57:30 PM |
|
I figured since this race is mighty well and over, I'd post my lil pet up for the world to see and maybe gain inspiration. same size as a nanofury and to make 3: each is about $13 Nice, using the original pic is easier If they opensourced the firmware, you would be able to handle 4 boards, since the PIC32MX250F128D is supposed to have 4 Tx/Rx lines, even if they used only 2. Unless they are using the pic to actually create the multiple chains, software hack can be done almost easily for someone who knows what he is looking for.
|
|
|
|
pekatete
|
|
September 21, 2014, 01:22:21 PM |
|
Still looking for some help on the software side. I'll have a few spare prototypes of control boards next week if needed. What might work is adding to icarus U1/U2 driver the multichain mode from here: https://github.com/bitmaintech/cgminerSecond way it could be solved is understanding why the CP2102 isn't detected when using the bitmaintech driver even if I changed the vendor and product id. Are there other places with such id check or other things checked? Edit: Looking at bitmaintech github, antminer U3 is on it's way 1. Would be interested in the prototypes - would you pls PM me with (BTC ?!) cost to UK? 2. I looked over the icarus driver and it is too generic, catering for many devices so may be a bit harder to hack for me (and someone not accustomed to this driver). 3. What bitmaintech driver are you refering to as not detecting the CP2102 ? Is that from the same repository above (aka driver-bitmain.c) ? Most drivers in that repository ONLY support linux. I actually un-commented out all non S1 code plus OS conditionality in bothe the bitmain driver AND USB utils to compile for Windows .... and USB utils DOES detect the USB chip I have after changing the vendor and product id. If you are still using the USB-TTL dongle, note that the id you are populating could be the Antecedent (as windows calls it) rather than the Dependent, which is the one you need. Antecedent -> \\MY-PC\root\cimv2:Win32_USBController.DeviceID="PCI\\VEN_ 8086&DEV_ 2934&SUBSYS_9033104D&REV_03\\3&11583659&0&E8" Dependent -> \\MY-PC\root\cimv2:Win32_PnPEntity.DeviceID="USB\\VID_ 067B&PID_ 2303\\5&6B69FA&0&1" I used the latter bolded values and the chips on the S1 were detected (though I got the formaer bolded values from Windows CP ... also detected by USB utils in the cgminer log!).
|
|
|
|
J4bberwock
|
|
September 21, 2014, 01:44:35 PM |
|
Still looking for some help on the software side. I'll have a few spare prototypes of control boards next week if needed. What might work is adding to icarus U1/U2 driver the multichain mode from here: https://github.com/bitmaintech/cgminerSecond way it could be solved is understanding why the CP2102 isn't detected when using the bitmaintech driver even if I changed the vendor and product id. Are there other places with such id check or other things checked? Edit: Looking at bitmaintech github, antminer U3 is on it's way 1. Would be interested in the prototypes - would you pls PM me with (BTC ?!) cost to UK? 2. I looked over the icarus driver and it is too generic, catering for many devices so may be a bit harder to hack for me (and someone not accustomed to this driver). 3. What bitmaintech driver are you refering to as not detecting the CP2102 ? Is that from the same repository above (aka driver-bitmain.c) ? Most drivers in that repository ONLY support linux. I actually un-commented out all non S1 code plus OS conditionality in bothe the bitmain driver AND USB utils to compile for Windows .... and USB utils DOES detect the USB chip I have after changing the vendor and product id. If you are still using the USB-TTL dongle, note that the id you are populating could be the Antecedent (as windows calls it) rather than the Dependent, which is the one you need. Antecedent -> \\MY-PC\root\cimv2:Win32_USBController.DeviceID="PCI\\VEN_ 8086&DEV_ 2934&SUBSYS_9033104D&REV_03\\3&11583659&0&E8" Dependent -> \\MY-PC\root\cimv2:Win32_PnPEntity.DeviceID="USB\\VID_ 067B&PID_ 2303\\5&6B69FA&0&1" I used the latter bolded values and the chips on the S1 were detected (though I got the formaer bolded values from Windows CP ... also detected by USB utils in the cgminer log!). 1. No problem, I'll send 1 free prototype to you and CHAOSiTEC when they are ready. Cheap shipping to Europe should be something like 5€, maybe less if I can send it as a letter. 3. yes, bitmain driver from https://github.com/bitmaintech/cgminer, but even the main branch of cgminer doesn't work except with icarus, detected as ANU. I compiled them on the raspberry, so no windows trouble there. The CP2102 is detected as a known device by cgminer, but it's not active for hashing. It needs something else, and I don't know what. Forcing it might be a temporary option, but I don't know how. They have just updated bitmaintech branch 1 hour ago for S4 and U3 support. I'll try to compile this new one, just in case it works because of the changes they did. The files they changed will point where we need to work to have the cp2102 hacked S1 hashing correctly. As for the Vid/Pid, I've used the same values that are used for ant U1/U2 since it's the same CP2102 chip, so I shouldn't be wrong. I changed them in both files too, bitmain and usbutils.
|
|
|
|
|