cameloid
Jr. Member
Offline
Activity: 40
Merit: 1
|
 |
October 17, 2015, 09:19:07 PM |
|
Whatever reason you want to use timing is wrong. You almost certainly do not want to adjust timing. Any options you are likely to really want to adjust for different devices are device specific anyway (like --au3-freq). Trust me, whatever reason you think you want to use for timing is misguided.
For instance, --icarus-timing 0.22 seems to be required for Avalon Nano 3 ( https://en.bitcoin.it/wiki/Avalon_nano ). Otherwise, cgminer shows ~500 KH/s rate instead of ~3.6 GH/s, and the device is idling most of the time according to its status LED and temperature. However, this timing is clearly inappropriate for ASICMiner Block Erupter that I'm trying to use at the same time.
|
|
|
|
-ck (OP)
Legendary
Offline
Activity: 4508
Merit: 1668
Ruu \o/
|
 |
October 17, 2015, 09:26:15 PM |
|
For instance, --icarus-timing 0.22 seems to be required for Avalon Nano 3 ( https://en.bitcoin.it/wiki/Avalon_nano ). Otherwise, cgminer shows ~500 KH/s rate instead of ~3.6 GH/s, and the device is idling most of the time according to its status LED and temperature. However, this timing is clearly inappropriate for ASICMiner Block Erupter that I'm trying to use at the same time. Does avalon nano actually work? I've never heard of anyone getting the driver working before... I apologise in that case. Then you'll need to confine them with separate cgminer instances. The easiest way would be to find which ports belong to different usb buses and then put the nano on one usb bus and confine that cgminer version with the --usb command. EG: If you find which ports belong to usb bus 1 and usb bus 2, then start one cgminer instance with all the other devices plugged into bus 1 with --usb 1:* and put the avalon nano on bus 2 ports and start cgminer with --usb 2:*
|
Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel 2% Fee Solo mining at solo.ckpool.org -ck
|
|
|
cameloid
Jr. Member
Offline
Activity: 40
Merit: 1
|
 |
October 17, 2015, 09:56:02 PM |
|
Does avalon nano actually work? Actually it works just fine with --icarus-options 115200:1:1 and --icarus-timing 0.22 settings, maybe with HW error rate on a relatively higher side (~7%). The easiest way would be to find which ports belong to different usb buses and then put the nano on one usb bus and confine that cgminer version with the --usb command. I understand that, it's just not very convenient in my configuration (Raspbnerry Pi 2 + 12-port USB hub), where all the ports in the hub belong to the same USB bus. I need separate USB hub for each device family, etc. That's why I asked my question. But if there is no way to run all devices from just one cgminer instance, then I will have to rearrange hardware somehow. Thanks for your answer.
|
|
|
|
-ck (OP)
Legendary
Offline
Activity: 4508
Merit: 1668
Ruu \o/
|
 |
October 17, 2015, 09:59:23 PM |
|
Does avalon nano actually work? Actually it works just fine with --icarus-options 115200:1:1 and --icarus-timing 0.22 settings, maybe with HW error rate on a relatively higher side (~7%). The easiest way would be to find which ports belong to different usb buses and then put the nano on one usb bus and confine that cgminer version with the --usb command. I understand that, it's just not very convenient in my configuration (Raspbnerry Pi 2 + 12-port USB hub), where all the ports in the hub belong to the same USB bus. I need separate USB hub for each device family, etc. That's why I asked my question. But if there is no way to run all devices from just one cgminer instance, then I will have to rearrange hardware somehow. Thanks for your answer. No there isn't because too many devices use the same damn usb communication chip without any added identifier for cgminer to tell them apart and blindly use the 1st fpga/asic driver from cgminer (icarus) in different ways. The icarus commands were never designed with different devices in mind but new devices+drivers continue to come out that use that driver as though it's the only device connected.
|
Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel 2% Fee Solo mining at solo.ckpool.org -ck
|
|
|
cameloid
Jr. Member
Offline
Activity: 40
Merit: 1
|
 |
October 17, 2015, 11:20:00 PM |
|
No there isn't because too many devices use the same damn usb communication chip without any added identifier for cgminer to tell them apart and blindly use the 1st fpga/asic driver from cgminer (icarus) in different ways. The icarus commands were never designed with different devices in mind but new devices+drivers continue to come out that use that driver as though it's the only device connected.
My devices have different USB chips and vendor IDs: $ cgminer --ndevs [2015-10-17 23:18:08.516] USB all: found 11 devices - listing known devices .USB dev 0: Bus 253 Device 3 ID: 1fc9:0083 Manufacturer: 'NXP' Product: 'VCOM Port' .USB dev 1: Bus 250 Device 5 ID: 10c4:ea60 Manufacturer: 'Silicon Labs' Product: 'CP2102 USB to UART Bridge Controller' [2015-10-17 23:18:08.518] 2 known USB devices But I understand that it's not always the case. Maybe it's reasonable to add some optional modifiers to icarus (or any other) settings that will allow to specify device bus ID/ID/vendor ID which these settings belong to? BTW, I just found out that RPi 2 only has just one USB bus (and all it's four USB port sit on it), so --usb 1:* approach doesn't work for me. It seems that I have to write some script now, which analyzes lsusb/cgminer --ndevs output, sorts devices by their vendor ID into groups, and then runs different cgminer instances with specific options for each group. It would be nice to have all this out-of-box, of course)
|
|
|
|
-ck (OP)
Legendary
Offline
Activity: 4508
Merit: 1668
Ruu \o/
|
 |
October 17, 2015, 11:43:30 PM |
|
BTW, I just found out that RPi 2 only has just one USB bus (and all it's four USB port sit on it), so --usb 1:* approach doesn't work for me. It seems that I have to write some script now, which analyzes lsusb/cgminer --ndevs output, sorts devices by their vendor ID into groups, and then runs different cgminer instances with specific options for each group. It would be nice to have all this out-of-box, of course)
There's a good chance that that device doesn't keep changing usb positions (unlike the U3). In which case you can just specify exactly the usb position it's at with the nano cgminer instance. --usb 1:3 etc.
|
Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel 2% Fee Solo mining at solo.ckpool.org -ck
|
|
|
cameloid
Jr. Member
Offline
Activity: 40
Merit: 1
|
 |
October 18, 2015, 02:01:31 AM Last edit: October 23, 2015, 08:12:58 PM by cameloid |
|
Here is my script. Maybe someone will find it useful to run cgminer in multiple-vendor environment. #!/bin/bash
url="stratum+tcp://eu.stratum.bitcoin.cz:3333" username="cameloid" password="x" api_base_port="4028" log_path="/home/pi/cgminer/";
device_id[1]="1fc9:0083" # Avalon Nano device_id[2]="10c4:ea60" # ASICMiner Block Erupter
options[1]="--icarus-options 115200:1:1 --icarus-timing 0.22" options[2]=""
for ((i=1; i <= ${#device_id[@]} ; i++)) do usb_options="$(cgminer --ndevs | grep ${device_id[i]} | awk '{ print $5":"$7}' | xargs | sed 's/ /,/g')" if [ -z "${usb_options}" ]; then echo "No devices with ID ${device_id[i]} found" else echo "Running worker #$i, device ID: ${device_id[i]}..." $(cgminer ${options[i]} -o $url -u $username.worker$i -p $password --api-listen --api-port $((api_base_port+i-1)) -T --usb $usb_options >> ($log_path)cgminer.worker($i).log &) fi usb_options="" done
|
|
|
|
kano
Legendary
Offline
Activity: 4676
Merit: 1858
Linux since 1997 RedHat 4
|
 |
October 18, 2015, 04:36:47 AM |
|
Stupid forum engine makes really crappy formatting, but hopefully the idea is clear.
use [ code] [ /code] but you may also then need to fix any '[' brackets in it if they match forum commands.
|
|
|
|
studysession
Newbie
Offline
Activity: 30
Merit: 0
|
 |
October 24, 2015, 09:49:19 PM |
|
Power seems to be my biggest enemy....
I am using a RaspberryPi 2 with an external powered USB hub. Even though it has 12 powered ports....It was too much to fill all the ports with the USB ASIC Miners. I was never able to get more than 4 running at a time because lack of power. Well today something happened to that hub and I need a new one.
I now know not just any powered USB hum will do.... What powered USB hub will someone recommend without breaking the bank? Even if I have to use 2 powered USB hubs I would like to get more than 4 running from a single RaspberryPi.
Thank you
|
|
|
|
irritant
Sr. Member
  
Offline
Activity: 473
Merit: 250
Sodium hypochlorite, acetone, ethanol
|
 |
October 24, 2015, 11:34:30 PM |
|
Power seems to be my biggest enemy....
I am using a RaspberryPi 2 with an external powered USB hub. Even though it has 12 powered ports....It was too much to fill all the ports with the USB ASIC Miners. I was never able to get more than 4 running at a time because lack of power. Well today something happened to that hub and I need a new one.
I now know not just any powered USB hum will do.... What powered USB hub will someone recommend without breaking the bank? Even if I have to use 2 powered USB hubs I would like to get more than 4 running from a single RaspberryPi.
Thank you
did you try those Y-cables (usb)
|
|
|
|
os2sam
Legendary
Offline
Activity: 3586
Merit: 1099
Think for yourself
|
 |
October 25, 2015, 01:38:39 AM |
|
Power seems to be my biggest enemy....
I am using a RaspberryPi 2 with an external powered USB hub. Even though it has 12 powered ports....It was too much to fill all the ports with the USB ASIC Miners. I was never able to get more than 4 running at a time because lack of power. Well today something happened to that hub and I need a new one.
I now know not just any powered USB hum will do.... What powered USB hub will someone recommend without breaking the bank? Even if I have to use 2 powered USB hubs I would like to get more than 4 running from a single RaspberryPi.
Thank you
I like the Gearmo 10 port hub the best. It runs 9 BE's and one fan just fine. You do know your not going to make anything on BE's, right?
|
A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
|
|
|
studysession
Newbie
Offline
Activity: 30
Merit: 0
|
 |
October 25, 2015, 01:56:05 AM |
|
I like the Gearmo 10 port hub the best. It runs 9 BE's and one fan just fine.
You do know your not going to make anything on BE's, right?
Thanks - and Yeah this is more for my knowledge on how it works than anything else. Right now I just want to keep it all going. Thanks
|
|
|
|
cameloid
Jr. Member
Offline
Activity: 40
Merit: 1
|
 |
October 29, 2015, 06:34:54 PM Last edit: October 29, 2015, 08:37:07 PM by cameloid |
|
I run cgminer 4.9.2 on Raspberry Pi 2 and experience constant segfaults (once in every half hour) when Antminer U3 is attached.
I use only minimum set of command line options to start cgminer, just a server URL and login/password (everything else is by default). Source code was taken from official git and compiled with gcc 4.9.2. I used CFLAGS="-O2 -Wall --march=native" compiler option and "--enable-icarus" configuration option. Linux version is 4.1.7.
Other instances of cgminer (configured for Avalon Nano ASICs) work just fine at the same time. Also, I tested same version of cgminer under MacOS X with U3, and it seems to work stable, too. So it looks like some issue with specific setup of cgminer + Antminer U3 + Raspberry Pi 2.
Is it a known problem? Is there any patch around? Anybody interested in core dumps?
|
|
|
|
-ck (OP)
Legendary
Offline
Activity: 4508
Merit: 1668
Ruu \o/
|
 |
October 29, 2015, 10:55:29 PM |
|
I run cgminer 4.9.2 on Raspberry Pi 2 and experience constant segfaults (once in every half hour) when Antminer U3 is attached.
I use only minimum set of command line options to start cgminer, just a server URL and login/password (everything else is by default). Source code was taken from official git and compiled with gcc 4.9.2. I used CFLAGS="-O2 -Wall --march=native" compiler option and "--enable-icarus" configuration option. Linux version is 4.1.7.
Other instances of cgminer (configured for Avalon Nano ASICs) work just fine at the same time. Also, I tested same version of cgminer under MacOS X with U3, and it seems to work stable, too. So it looks like some issue with specific setup of cgminer + Antminer U3 + Raspberry Pi 2.
Is it a known problem? Is there any patch around? Anybody interested in core dumps?
If it's a crash only with RPi then it's either a specific software bug that only shows up with the RPi build - or - it's an RPi hardware problem. It's very easy to get unreliability with the RPi simply with a dodgy flash card that's hard to figure out. Get a backtrace if you can by following the directions here: http://ck.kolivas.org/apps/cgminer/debug/README-debugIf it changes every time it crashes and seems to be random memory corruption it's almost certainly an RPi problem and not a software problem. Many people have run this version of cgminer on RPi without any issues so my bet is on that.
|
Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel 2% Fee Solo mining at solo.ckpool.org -ck
|
|
|
cameloid
Jr. Member
Offline
Activity: 40
Merit: 1
|
 |
October 30, 2015, 02:10:47 AM |
|
Actually, crashes do not look random, they always happen at the same place. Here is a couple of examples. 1st: GNU gdb (Raspbian 7.7.1+dfsg-5) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from cgminer...done. [New LWP 12843] [New LWP 12852] [New LWP 12847] [New LWP 12850] [New LWP 12844] [New LWP 12849] [New LWP 12848] [New LWP 12846] [New LWP 12851] [New LWP 12838] [New LWP 12839] [New LWP 12841] [New LWP 12840] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Core was generated by `cgminer -o stratum+tcp://eu.stratum.bitcoin.cz:3333 -u cameloid.worker2 -p x --'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0004e110 in usb_perform_transfer (cgpu=0xfbec88, intinfo=<optimized out>, epinfo=0, data=0x0, length=-1166715880, transferred=0x1, timeout=0, mode=0, cmd=C_REJECTED, seq=0, cancellable=24, tt=true, usbdev=<optimized out>, usbdev=<optimized out>) at usbutils.c:3097 3097 else if ((endpoint & LIBUSB_ENDPOINT_DIR_MASK) == LIBUSB_ENDPOINT_IN && *transferred) (gdb) #0 0x0004e110 in usb_perform_transfer (cgpu=0xfbec88, intinfo=<optimized out>, epinfo=0, data=0x0, length=-1166715880, transferred=0x1, timeout=0, mode=0, cmd=C_REJECTED, seq=0, cancellable=24, tt=true, usbdev=<optimized out>, usbdev=<optimized out>) at usbutils.c:3097 callback_timeout = <optimized out> err_retries = <optimized out> dev_handle = 0xf882b0 usb_epinfo = <optimized out> ut = {cgsem = {__size = "\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000", __align = 0}, transfer = 0x6fd0051c, cancellable = false, list = { next = 0x0, prev = 0x0}} endpoint = 129 '\201' interrupt = <optimized out> err = 0 errn = 110 tv_start = {tv_sec = 1446167091, tv_usec = 182376} tv_finish = {tv_sec = 1446167091, tv_usec = 217754} buf = "\000\000\000\000\205\361\340N\031\234\351\\", '\000' <repeats 499 times> #1 0x00000000 in ?? () No symbol table info available. (gdb) quit
2nd: GNU gdb (Raspbian 7.7.1+dfsg-5) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from cgminer...done. [New LWP 13102] [New LWP 13106] [New LWP 13099] [New LWP 13107] [New LWP 13101] [New LWP 13100] [New LWP 13103] [New LWP 13105] [New LWP 13111] [New LWP 13110] [New LWP 13109] [New LWP 13108] [New LWP 13098] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Core was generated by `cgminer -o stratum+tcp://eu.stratum.bitcoin.cz:3333 -u cameloid.worker2 -p x --'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0004e110 in usb_perform_transfer (cgpu=0x1622c88, intinfo=<optimized out>, epinfo=0, data=0x0, length=0, transferred=0x0, timeout=0, mode=0, cmd=C_REJECTED, seq=0, cancellable=false, tt=false, usbdev=<optimized out>, usbdev=<optimized out>) at usbutils.c:3097 3097 else if ((endpoint & LIBUSB_ENDPOINT_DIR_MASK) == LIBUSB_ENDPOINT_IN && *transferred) (gdb) #0 0x0004e110 in usb_perform_transfer (cgpu=0x1622c88, intinfo=<optimized out>, epinfo=0, data=0x0, length=0, transferred=0x0, timeout=0, mode=0, cmd=C_REJECTED, seq=0, cancellable=false, tt=false, usbdev=<optimized out>, usbdev=<optimized out>) at usbutils.c:3097 callback_timeout = <optimized out> err_retries = <optimized out> dev_handle = 0x15ec2b0 usb_epinfo = <optimized out> ut = {cgsem = {__size = "\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000", __align = 0}, transfer = 0x6fd0051c, cancellable = false, list = { next = 0x0, prev = 0x0}} endpoint = 129 '\201' interrupt = <optimized out> err = 0 errn = 110 tv_start = {tv_sec = 1446169096, tv_usec = 721899} tv_finish = {tv_sec = 1446169096, tv_usec = 774762} buf = "\000\354A\270\231\227\212~1\221\261\222\370?\002\000\b\000\000\000\b\000\000\000\004\000\000\000\004\000\000\000\006\000\000\000\064\000\000\000\064\000\001\000\064\000\001\000 \001\000\000 \001\000\000\005\000\000\000\004\000\000\000\003\000\000\000T\001\000\000T\001\001\000T\001\001\000\031\000\000\000\031\000\000\000\004\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\004@\001\000\004@\001\000\005\000\000\000\000\000\001\000\001\000\000\000\374N\001\000\374N\003\000\374N\003\000\324\003\000\000\300\n\000\000\006\000\000\000\000\000\001\000\002\000\000\000\bO\001\000\bO\003\000\bO\003\000\370\000\000\000\370\000\000\000\006\000\000\000\004\000\000\000\004\000\000\000p\001\000\000"... #1 0x00000000 in ?? () No symbol table info available. (gdb) quit
|
|
|
|
kano
Legendary
Offline
Activity: 4676
Merit: 1858
Linux since 1997 RedHat 4
|
 |
October 31, 2015, 03:02:37 AM |
|
You'd need to actually compile it -g -O0 to get some useful info out of gdb The gdb dump shows no info about why the stack was corrupted. As a wild guess try changing line 3000 to buf[1024] instead of buf[512] This, however, can also simply move the problem if something else is causing it. (and compiling the code differently can also move a problem)
|
|
|
|
mobiletalk
Member

Offline
Activity: 98
Merit: 10
|
 |
October 31, 2015, 06:04:15 PM |
|
You'd need to actually compile it -g -O0 to get some useful info out of gdb The gdb dump shows no info about why the stack was corrupted. As a wild guess try changing line 3000 to buf[1024] instead of buf[512] This, however, can also simply move the problem if something else is causing it. (and compiling the code differently can also move a problem)
Do you have skype or icq. I need help some problem with it.
|
|
|
|
kano
Legendary
Offline
Activity: 4676
Merit: 1858
Linux since 1997 RedHat 4
|
 |
October 31, 2015, 10:49:03 PM |
|
You'd need to actually compile it -g -O0 to get some useful info out of gdb The gdb dump shows no info about why the stack was corrupted. As a wild guess try changing line 3000 to buf[1024] instead of buf[512] This, however, can also simply move the problem if something else is causing it. (and compiling the code differently can also move a problem)
Do you have skype or icq. I need help some problem with it. Nope. Read the README https://github.com/ckolivas/cgminer/blob/master/READMEI also don't do any linux teaching.
|
|
|
|
p3yot33at3r
|
 |
November 01, 2015, 12:10:22 PM |
|
Well supposedly I'm getting an S7 - so it would be soon after that if it happens.
Hi kano, A little birdy told me that Yoshi was going to contact you about the S7 actually - maybe drop him a line to remind him? He does forget things sometimes....  Hi kano, Did you receive your S7 yet - or are you still waiting like the rest of us? 
|
|
|
|
kano
Legendary
Offline
Activity: 4676
Merit: 1858
Linux since 1997 RedHat 4
|
 |
November 02, 2015, 12:12:47 AM |
|
S7? What's that? 
|
|
|
|
|