Just been idly thinking a bit more.
Getting device addresses: 1. Host sends address 0 (broadcast address), command 'Hello', it's address as the payload. 2. Each device waits a random time between 0-0.5 seconds, checks the bus, and if clear, sends a hello back to the host. - Host logs the address of each device that responds. 3. After 1 second of inactivity on the bus, host sends a 'shut up' command back to each device that responded. - This command stops a device from responding to 'hello' until it's reset. 4. Host repeats 1-3 until the hello command gets no response. - This is to cater for any collisions that occurred earlier.
Obtaining a unique address for each device is a bit tricky. You can get devices with unique embedded serial numbers, such as Dallas' 1-wire ICs. Adds a bit more complexity and cost to the device though. And 32-bits may be too short, 1-wire addresses are 64bits IIRC.
After this it's a matter of defining the commands and data payloads. Communications could be multi-master, each device, when returning a result would check the bus, then send then result if clear. No ack back would mean a collision - wait a random time, then resend. Give up after 3 attempts.
|
|
|
| Dev address 32bit | length 8 bit | Data 8 * length | crc 16 bit |
Done
|
|
|
Minebus
|
|
|
1-wire buses have quite a complicated protocol, RS485 is the same at RS232, just electrically different.
|
|
|
RS485 would be more appropriate; allows for muti-drop systems and uses differential signals.
Be a good idea though. Save $20 per 4-8 devices. Not sure how many devices you could practically dasy-chain though. the lead one will have quite a current load on it!
|
|
|
I was just experimenting There's no way the router could mine, even with long-poll disabled, it's so slow that by the time a single share has been calculated, it'll be stale. Just ran it for 20 mins to see how it works. Without a BFL (currently on my 8th of 4-6 weeks) cgminer don't do much
|
|
|
I know it'll compile fine without CPU mining, but I want to do some testing with it enabled... I want to see how Anubis handles it. If it's more trouble to get it working than it's worth, I'll forget about supporting CPUs in Anubis.
|
|
|
Just ran cgminer on my router with CPU mining enabled for the hell of it (because I can). Over the 20 mins I ran it, it averaged a whopping 0.1MH/s, and didn't submit a single share... it was taking so long, the long-poll came around and reset the work.
Incidently, memory usage was ~1900bytes or maybe Kbytes (I'm not sure what HTOP lists mem in), either way, nice small footprint. Also, the shares counters for the CPU made there way across the screen every update, must be some problem with ncurses there.
|
|
|
The code looks OK, and digging into the Makefile, it's OK too. I can't work out why it doesn't work :/
|
|
|
I'm trying to compile cgminer for windows with CPU mining enabled, but I can't get it to link when I specify -msse2. It seems that sha256_xmm.o isn't being included. I'm getting the following error: CCLD cgminer.exe cgminer-sha256_sse2_i386.o:sha256_sse2_i386.c:(.text+0x155): undefined reference to `@CalcSha256_x86@12' cgminer-sha256_sse2_i386.o:sha256_sse2_i386.c:(.text+0x16a): undefined reference to `@CalcSha256_x86@12' collect2: ld returned 1 exit status
without -msse2 it compiles fine, but of course, without the SSE2 optimised code. Any help to kick this into action???
|
|
|
WAY more than it's worth I'll be compiling cgminer for myself when new versions come out, so I can release that (it'll work on both the above routers). I could probably write some sort of guide on how to set it up.
|
|
|
Newegg currently has Linksys E3000 (MIPSEL 480MHz, 64Mb RAM, 8Mb FLASH, 1xUSB 2.0) for $56 http://www.newegg.com/Product/Product.aspx?Item=N82E16833124419Or there's the ASUS RT-N16 (MIPSEL 480, 128Mb RAM, 32Mb Flash, 2xUSB 2.0) for $90 http://www.newegg.com/Product/Product.aspx?Item=N82E16833320038You can install DD-WRT on both of these, and add extra tools/utilities with optware on an external drive. I currently have the asus running as a media server, my Anubis server, VPN server, Torrent manager, and various other bits and pieces.
|
|
|
I've already cross compiled cgminer for my router.
Why? So I can attach my BFLs to it! Why else!? Still, don't try and tell me that it is easier / faster to run cgminer on ARM compared to x86 because that simply is not true.
Who the crap said it would be easier? It's not, but it certainly ain't no 'Brick wall'! Cheaper components (USB router $60, ATOM et al. = $200), less energy (USB router 20W, ATOM et al. 80W). We're here to make money, right? Oh, and in-built wireless. Can put it anywhere in the house.
|
|
|
Just try to use your ARM linux as a workstation with java, eclipse, chrome WITH flash support and spotify, skype, wine etc. If you wan't to do anything else in your life you won't be able to.
Exactly. All these fools thinking they will go for ARM or MIPS or another BS architecture like that will hit a brick wall. Fact of the matter is that x86 is KING and most supported. No x86, no dice. Stick to i686 or amd64 if you don't want to be dreaming about cross compiling in your sleep I'm not sure you two have any idea what you're talking about. I've already cross compiled cgminer for my router. Thanks for your input though, I'll now not use my router as a workstation.
|
|
|
Kano & Conman, I have my BFL single running on BAMT with cgminer but it would seem that the API call "devs" does not report back about the BFL single. Here is the output from the "devs" call. STATUS=S ,Code=9 ,Msg=2 GPU(s) ,Description=cgminer 2.2.7 |GPU=0,Enabled=Y,Status=Alive,Temperature=73.50,Fan Speed=2355,Fan Percent=48,GPU Clock=895,Memory Clock=1000,GPU Voltage=1.100,GPU Activity=99,Powertune=0,MHS av=364.64,MHS 5s=368.09,Accepted=81,Rejected=0,Hardware Errors=0,Utility=4.87,Intensity=9,Last Share Pool=0,Last Share Time=1330436872 |GPU=1,Enabled=Y,Status=Alive,Temperature=73.50,Fan Speed=1892,Fan Percent=42,GPU Clock=895,Memory Clock=1000,GPU Voltage=1.100,GPU Activity=99,Powertune=0,MHS av=363.33,MHS 5s=367.82,Accepted=73,Rejected=0,Hardware Errors=0,Utility=4.38,Intensity=9,Last Share Pool=0,Last Share Time=1330436857
So the devs call is missing all BFL info. Yeah, cgminer is missing all FPGA related API stuff
|
|
|
What's the size of the power socket on that thing?
|
|
|
On my system
Memory: bitcoind uses about 120MB, p2pool uses about 70MB.
CPU: CPU time is essentially 0% (except when downloading new chain until caught up).
Disk: bitcoind ~1.3GB p2pool ~<100MB (truncating log would make it <30MB).
Thanks Probably not going to run very well on my router
|
|
|
So between running Bitcoind + p2pool and whatever else is needed, what's the footprint in terms of processor/memory/disk space?
|
|
|
Found extra coins in my account. Thank you whoever
|
|
|
|