Title: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: ioxoi on November 16, 2013, 11:38:07 PM Después de la larga espera de los ASIC de nuestros NO amigos de BFL, toca la hora de ponerlos a minar sin descanso, reduciendo costes y resistentes a "casi" cualquier fallo incluso cuando no podemos estar cerca.
El objetivo es:
Para ello he desempolvado un viejo router Comtrend ar5831u (los blanquitos de jazztell) que destacan por tener 16 Mb de flash, 64 Mb de RAM, un puerto USB y una CPU modesta BMIPS4350 / 320 MHz mas info en la wiki de openwrt (http://wiki.openwrt.org/toh/comtrend/ar5381u) pero mas que suficiente para montar nuestra propia distribución de openwrt para gestionar los BFL mediante un hub USB, en mi caso hasta 5 dispositivos con la CPU por debajo de 30% de uso. Como software de minado, aunque siempre he sido de cgminer, en este caso he usado bfgminer, por mi poca experiencia es menos resistente a conexiones/desconexiones de nuevos dispositivos y digamos mas windosero = cargado de features y colores pero propenso a quedarse pensando en otra cosa por no decir en blanco, sobre todo como deicia con nuevos dispositovos que se (re)conectan. Las ventajas de bfgminer es la existencia de paquete precompilados para OpenWrt y un interface web en PHP bastante feo pero que se le puede sacar mucho jugo y cambiar esos feos colores azules. Lo que cuento es válido para el router de comtrend, pero si tienes otro ruter con espacio suficiente en flash o en almacenamiento USB con los modulos que indico, no debería haber diferencia. El primer paso es compilarnos nuestro propio OpenWrt salvo que tengamos la suerte de tener paquetes precompilados que funciones, en mi caso con el Comtrend ar5831u la wifi no tira y el driver USB serial tampoco, así que a compilar Más info en este hilo de seguridad wireles (http://foro.seguridadwireless.net/openwrt/openwrt-en-comtrend-ar5831u/): 1: descargar las fuentes de Openwrt y configurar: Code: git clone git://github.com/openwrt-es/openwrt.git -b bcm63xx-r38342 make menuconfig #(Target: bcm63xx/ Profile: Broadcom Wifi (brcmsmac) / Selecciono los paquetes que quiero instalar) marcar kmod-usb-serial - kmod-usb-serial-ftdi dentro de USB support ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ┌──────────────────────────────────────────────── USB Support ────────────────────────────────────────────────┐ │ Arrow keys navigate the menu. <Enter> selects submenus --->. Highlighted letters are hotkeys. Pressing │ │ <Y> includes, <N> excludes, <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, </> for │ │ Search. Legend:
│ ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ < > kmod-usb-acm......................... Support for modems/isdn controllers │ │ │ │ < > kmod-usb-atm.................................. Support for ATM on USB bus │ │ │ │ < > kmod-usb-chipidea....................... Support for ChipIdea controllers │ │ │ │ < > kmod-usb-cm109.................................. Support for CM109 device │ │ │ │ -*- kmod-usb-core............................................ Support for USB │ │ │ │ < > kmod-usb-dwc2................................. DWC2 USB controller driver │ │ │ │ < > kmod-usb-hid......................... Support for USB Human Input Devices │ │ │ │ < > kmod-usb-net............... Kernel modules for USB-to-Ethernet convertors │ │ │ │ < > kmod-usb-ohci............................... Support for OHCI controllers │ │ │ │ < > kmod-usb-printer.................................... Support for printers │ │ │ │ <*> kmod-usb-serial..................... Support for USB-to-Serial converters │ │ │ │ < > kmod-usb-serial-ark3116........ Support for ArkMicroChips ARK3116 devices (NEW) │ │ │ │ < > kmod-usb-serial-belkin........................ Support for Belkin devices (NEW) │ │ │ │ < > kmod-usb-serial-ch341.......................... Support for CH341 devices (NEW) │ │ │ │ < > kmod-usb-serial-cp210x........... Support for Silicon Labs cp210x devices (NEW) │ │ │ │ < > kmod-usb-serial-cypress-m8.............. Support for CypressM8 USB-Serial (NEW) │ │ │ │ <*> kmod-usb-serial-ftdi............................ Support for FTDI devices │ │ │ │ < > kmod-usb-serial-ipw.................... Support for IPWireless 3G devices (NEW) │ │ │ │ < > kmod-usb-serial-keyspan........ Support for Keyspan USB-to-Serial devices (NEW) │ │ │ │ < > kmod-usb-serial-mct.............. Support for Magic Control Tech. devices (NEW) │ │ │ │ < > kmod-usb-serial-mos7720.............. Support for Moschip MOS7720 devices (NEW) │ │ │ │ < > kmod-usb-serial-motorola-phone............ Support for Motorola usb phone (NEW) │ │ │ │ < > kmod-usb-serial-option................... Support for Option HSDPA modems (NEW) │ │ │ │ < > kmod-usb-serial-oti6858...... Support for Ours Technology OTI6858 devices (NEW) │ │ │ │ < > kmod-usb-serial-pl2303............... Support for Prolific PL2303 devices (NEW) │ │ │ └─────────────────v(+)────────────────────────────────────────────────────────────────────────────────────┘ │ ├─────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ <Select> < Exit > < Help > < Save > < Load > │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ Code: make kernel_menuconfig (Opcional, sólo si quieres configurar el kernel) si todo sale bien, tendremos en openwrt/bin/brcm63xx/openwrt-96328A-1241N-generic-squashfs-cfe.bin nuestra nueva imagen de OpenWrt, si algo no sale bien, revisa el hilo de seguridad wireless o la wiki de OpenWrt. 2: instalamos la nueva imagen en nuestro router, esto debería ser trivial para este router, para otros puede ser una odisea hasta tener un adaptador jtag 3: instalación de modulos y software una vez actualizado a la nueva versión accedemos al sistema por ssh/telnet por el interface de red ethernet (la administración por wireless esta cortado por defecto) Code: ioxoi@morgana:~/open/openwrt-comtrend-ar5831u/openwrt$ scp ./bin/brcm63xx/packages/kmod-usb-serial-ftdi_3.10.13-1_brcm63xx.ipk ./bin/brcm63xx/packages/kmod-usb-serial_3.10.13-1_brcm63xx.ipk ./bin/brcm63xx/packages/kmod-usb2_3.10.13-1_brcm63xx.ipk root@192.168.1.1:~/ estaremos sin luci con lo que lo instalamos para revisar la configuración de red, reglas de fw y demás parámetros (ojo a la red, el router tiene que salir a internet) Code: oot@Mena:~# opkg update src/gz bfgminer http://luke.dashjr.org/programs/bitcoin/files/bfgminer/testing/openwrt/12.09/brcm63xx Ojo que los dos úlimos directorios dependen de la versión y la arquitectura de nuestro router. Code: vi /etc/opkg.conf quedando algo del estilo: Code: src/gz barrier_breaker http://downloads.openwrt.org/snapshots/trunk/brcm63xx/packages Instalamos paquetes Code: opkg update añadimos el modulo ftdi_sio al arranque y lo arrancamso a mano, este modulo es el iterface USB-serial que usa BFL Code: root@mena:/# echo 'ftdi_sio' > /etc/modules-boot.d/50-ftdi_sio Este es el momento clave, conectamos el asic al puerto usb y revisamos los logs con dmesg buscando las ultimas lineas y que se ha creado el puerto /dev/ttyUSB0 [ 875.044000] usbcore: registered new interface driver usbserial [ 875.052000] usbcore: registered new interface driver usbserial_generic [ 875.060000] usbserial: USB Serial support registered for generic [ 875.072000] usbcore: registered new interface driver ftdi_sio [ 875.080000] usbserial: USB Serial support registered for FTDI USB Serial Device [ 875.088000] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected [ 875.096000] usb 1-1: Detected FT232H [ 875.100000] usb 1-1: Number of endpoints 2 [ 875.104000] usb 1-1: Endpoint 1 MaxPacketSize 2 [ 875.108000] usb 1-1: Endpoint 2 MaxPacketSize 2 [ 875.116000] usb 1-1: Setting MaxPacketSize 512 [ 875.120000] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0 si no nos aparece ttyUSB0 algo no está funcionando y el dispositivo no está siendo detectado. Descargate los cambio que he hecho desde https://github.com/ioxxoi/openwrtminer (chequea posibles nuevas versiones) https://github.com/ioxxoi/openwrtminer/blob/master/openwrtminer_v0.1.0.tgz trasferimos el archivo con los cambios: Code: scp openwrtminer_v0.1.0.tgz root@192.168.0.1:/root Code: root@Mena:/# cd / Modificamos nuestro fichero de configuración de bfgminer Code: vi /etc/bfgminer.cfg activamos en el arranque el bfgminer Code: root@mena:/# /etc/init.d/bfgminer enable Este es el moemnto de arrancar el bfgminer a mano: Code: bfgminer --api-listen --api-allow 127.0.0.1,192.168.0.0/24 --api-port 4028 -S bfsb:auto -o stratum.bitcoin.cz:3333 -u usr.worker -p t0pS3cr3t -o eustratum.ozco.in:3333 -u usr -p t0pS3cr3t -o stratum.ozco.in:80 -u usr -p t0pS3cr3t y si va fino cancelar y arancar desde el servicio: Code: root@mena:/# /etc/init.d/bfgminer start revisamos el proceso con ps -w Code: root@Mena:/# ps -w | grep bfgminer revisamos la parada del servicio Code: /etc/init.d/bfgminer stop y lo arrancamos de nuevo Code: root@mena:/# /etc/init.d/bfgminer start y probamos el api Code: oot@Mena:/www# bfgminer-rpc summary 127.0.0.1 4028 Vamos a preparar el interfcae web de estado partiendo del miner.php de bfgminer con algún cambio estetico por mi parte en /etc/config/uhttpd descomentar Code: list interpreter ".php=/usr/bin/php-cgi" En /etc/php.ini hay que fijar la zona horaria Code: [Date] reiniciamos el servidor web Code: /etc/init.d/uhttpd restart y probamos el interface web de estado del minero Code: https://192.168.1.1/miner.php http://imageshack.com/a/img41/879/z0sq.jpg un detalle más, vamos a añadir autenticacion a nuestra pagina de estatus usando la autenticación del servidor web, hay que tener cuidadin que uno nunca sabe quien puede llegar a mirar. Code: root@Mena:~# echo "/miner.php:miner:`uhttpd -m t0pS3cr3t`" >> /etc/httpd.conf si todo esta fino rebotamos y revisamo el interface web para ver que todo ha arrancado de manera automágica. http://imageshack.com/a/img707/8926/4fu1.jpg retoque final, he añadido una verificaciónd e estado, si el minero no me da los megahases esperados reinicio el servicio las tres primeras veces, si aún no se recupera rebooto el equipo. de esta forma me da lo mismo que sea un problema de red o de software, esto se ejecuta cada 5 minutos en el cron Code: root@Mena:~# cat /etc/crontabs/root el script /usr/local/bin/bfgminer.cron esta incluido en github https://github.com/ioxxoi/openwrtminer/blob/master/usr/local/bin/bfgminer.cron y a minar ... Se aceptan centimillos o incluso Bitcoins enteros :o 16Pp6HKZUGbwyRfEJY8QbU1mxrFBCbqFXw [/code] Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: ioxoi on November 16, 2013, 11:43:31 PM Reservado para uso futuro
Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: viriat0 on November 17, 2013, 01:45:01 AM Muito bem, obrigado por partilhar...
Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: jandr on November 17, 2013, 11:07:31 AM Muchas gracias por el tutorial. Voy a intentarlo con una Fonera 2.0N, y con un poco de suerte, buscaré un paquete de cgminer o intentaré compilarlo yo :)
Si lo consigo y te parece bien, contaré cómo en el hilo o, si es muy extenso, en otro al que enlazaré desde alguna respuesta. Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: ioxoi on November 24, 2013, 10:54:40 AM Muchas gracias por el tutorial. Voy a intentarlo con una Fonera 2.0N, y con un poco de suerte, buscaré un paquete de cgminer o intentaré compilarlo yo :) Si lo consigo y te parece bien, contaré cómo en el hilo o, si es muy extenso, en otro al que enlazaré desde alguna respuesta. Perfecto, ya nos contarás. Por mi parte he probado también con un contrend ar-5387un es casi el mismo que el ar5831u pero con antenitas y negro. Después de bastante tiempo, la solución va de lujo, te despreocupas completamente. Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: barruka on November 26, 2013, 09:01:06 AM Para los no iniciados como yo ¿cómo conectas los mineros (que supongo son placas USB) al router?
Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: ioxoi on November 27, 2013, 11:10:00 PM Para los no iniciados como yo ¿cómo conectas los mineros (que supongo son placas USB) al router? El router debe tener interface USB, los dos comtrend que pongo lo tienen y la mayoria de los routers ADSL lo suelen incluir aunque lo mas importante es que la flash sea de 8Mb ya que con las de 4 falta espacio y hay que incluir almacenamiento externo por USB que es más incomodo. He estado minando con 5 BFL mediante un hub USB conectado al interface USB de un solo router y la CPU por debajo del 30%. SI tengo un rato pongo una fotillo. Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: tekke on November 28, 2013, 01:30:45 AM Excelente post!
Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: ioxoi on December 06, 2013, 02:35:32 AM Excelente post! Gracias!!! Por cierto, estoy buscando comtrend de segundamano y parece que han desaparecido en mi zona, será casualidad :), si alguien se anima a montarlo please, poner un mesajito para hacerme una idea de la cantidad de gente que lo esta usando y seguir manteniéndolo. Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: euclapi on December 12, 2015, 02:03:54 AM Hola, gracias por el manual pero.... necesito mas que una luz en el camino y un faro mas grande que el sol.
Tengo el router HG553, no he conseguido que me reconozca el usb en el cual tengo un gridseed gc3355, mi idea era que minara bitcoin y litecoin a la vez desde openwrt. desde trunk no he conseguido que funcione nada siguiendo el manual. lo maximo que he conseguido ha sido desde la version 33378 que jar229 ofrecia parchear los repositorios para hacer fucionar una version mas actualizada del bfgminer pero sigue sin reconocer creo porque no incluye modprobe. Si puede alguien revisar el manual para que sea util o ofrecerme otra guia no importa el idioma lo agradeceria. Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: ioxoi on December 12, 2015, 10:34:46 PM tiene toda la pinta que no tienes soporte para el dispositivo usb serial
kmod-usb-serial - kmod-usb-serial-ftdi dentro de USB support mira a ver si lo tienes como paquete: opkg install kmod-usb-serial-ftdi kmod-usb-serial kmod-usb2 si no te va a tocar compilar . Title: Re: Butterfly Labs OpenWrt Miner // OpenWrt::Comtrend-ar5831u::BFGMiner Post by: euclapi on December 14, 2015, 11:14:30 PM Gracias por la respuesta, he compilado varios, este es el ultimo con el que me voy a dormir:
fallos de la version: root@OpenWrt:~# opkg install kmod-usb-serial-ftdi kmod-usb-serial kmod-usb2 Installing kmod-usb-serial-ftdi (4.1.13-1) to root... Downloading http://downloads.openwrt.org/snapshots/trunk/brcm63xx/generic/packages/base/kmod-usb-serial-ftdi_4.1.13-1_brcm63xx.ipk. Multiple packages (kmod-usb-core and kmod-usb-core) providing same name marked HOLD or PREFER. Using latest. Installing kmod-usb-serial (4.1.13-1) to root... Downloading http://downloads.openwrt.org/snapshots/trunk/brcm63xx/generic/packages/base/kmod-usb-serial_4.1.13-1_brcm63xx.ipk. Multiple packages (kmod-usb2 and kmod-usb2) providing same name marked HOLD or PREFER. Using latest. Upgrading kmod-usb2 on root from 3.18.11-1 to 4.1.13-1... Downloading http://downloads.openwrt.org/snapshots/trunk/brcm63xx/generic/packages/base/kmod-usb2_4.1.13-1_brcm63xx.ipk. Multiple packages (kmod-usb-core and kmod-usb-core) providing same name marked HOLD or PREFER. Using latest. Configuring kmod-usb-serial. failed to find a module named usbserial Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-serial-ftdi: * kernel (= 4.1.13-1-87610bdebe62eb99ca975fb39881c3d4) * kernel (= 4.1.13-1-87610bdebe62eb99ca975fb39881c3d4) * * opkg_install_cmd: Cannot install package kmod-usb-serial-ftdi. * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb2: * kernel (= 4.1.13-1-87610bdebe62eb99ca975fb39881c3d4) * * opkg_install_cmd: Cannot install package kmod-usb2. root@OpenWrt:~# fallos de luci: /etc/rc.common: eval: line 1: /usr/sbin/px5g: not found mv: can't rename '/etc/uhttpd.key.new': No such file or directory mv: can't rename '/etc/uhttpd.crt.new': No such file or directory fallos de montado: root@OpenWrt:~# modprobe ftdi_sio failed to find a module named ftdi_sio dmesg: [ 1030.524000] usb 2-2: new full-speed USB device number 2 using ohci-platform [ 1030.708000] usb 2-2: device descriptor read/64, error -62 [ 1030.996000] usb 2-2: device descriptor read/64, error -62 [ 1031.280000] usb 2-2: new full-speed USB device number 3 using ohci-platform [ 1031.508000] cdc_acm 2-2:1.0: This device cannot do calls on its own. It is not a modem. [ 1031.516000] cdc_acm 2-2:1.0: ttyACM0: USB ACM device fallo bfgminer: bfgminer: can't load library 'libc.so' cualquier sugerencia sera mas deseada que regalo de navidad :) |