Browse Source

Merge pull request #529 from luke-jr/broad_udevrules

Include broad udev rules when configured with --enable-broad-udevrules option
Nate Woolls 11 years ago
parent
commit
a6127281eb
3 changed files with 45 additions and 0 deletions
  1. 25 0
      70-bfgminer.rules.in
  2. 3 0
      README
  3. 17 0
      configure.ac

+ 25 - 0
70-bfgminer.rules.in

@@ -25,6 +25,31 @@ LABEL="bfgminer_start"
 @HAS_X6500_TRUE@ENV{idVendor}=="0403", ENV{idProduct}=="6001", ENV{ID_MODEL}=="*X6500 FPGA Miner*", GOTO="bfgminer_add"
 @HAS_ZTEX_TRUE@ENV{ID_MODEL}=="*btcminer for ZTEX*", GOTO="bfgminer_add"
 
+# The below are broad udev rules that may match devices other than the miners expected.
+# You can uncomment them with the --enable-broad-udevrules configure option.
+
+# Avalon1
+@BROAD_UDEVRULES_TRUE@@HAS_AVALON_TRUE@ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GOTO="bfgminer_add"
+# DualMiner
+@BROAD_UDEVRULES_TRUE@@USE_DUALMINER_TRUE@ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", GOTO="bfgminer_add"
+# GridSeed
+@BROAD_UDEVRULES_TRUE@@USE_GRIDSEED_TRUE@ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", GOTO="bfgminer_add"
+# Icarus
+@BROAD_UDEVRULES_TRUE@@HAS_ICARUS_TRUE@ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GOTO="bfgminer_add"
+# Cairnsmore1
+@BROAD_UDEVRULES_TRUE@@HAS_ICARUS_TRUE@ATTRS{idVendor}=="067b", ATTRS{idProduct}=="0230", GOTO="bfgminer_add"
+@BROAD_UDEVRULES_TRUE@@HAS_ICARUS_TRUE@ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8350", GOTO="bfgminer_add"
+# Block Erupter and Antminer U*
+@BROAD_UDEVRULES_TRUE@@HAS_ICARUS_TRUE@ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GOTO="bfgminer_add"
+# ZeusMiner
+@BROAD_UDEVRULES_TRUE@@USE_ZEUSMINER_TRUE@ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GOTO="bfgminer_add"
+# Possibly unprogrammed ZTEX
+@BROAD_UDEVRULES_TRUE@@HAS_ZTEX_TRUE@ATTRS{idVendor}=="221a", ATTRS{idProduct}=="0100", GOTO="bfgminer_add"
+# BFx2
+@BROAD_UDEVRULES_TRUE@@USE_BFX_TRUE@ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", GOTO="bfgminer_add"
+# RockMiner
+@BROAD_UDEVRULES_TRUE@@USE_ROCKMINER_TRUE@ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GOTO="bfgminer_add"
+
 GOTO="bfgminer_end"
 
 LABEL="bfgminer_add"

+ 3 - 0
README

@@ -136,6 +136,9 @@ Optional Dependencies:
 BFGMiner driver configuration options:
 	--disable-other-drivers Build without drivers by default unless explicitly
 	                        enabled
+	--enable-broad-udevrules
+	                        Include udev rules for ambiguous devices which may
+	                        not be miners
 	--disable-avalon        Compile support for Avalon (default enabled)
 	--enable-bfsb           Compile support for BFSB (default disabled)
 	--disable-bfx           Compile support for BFx2 (default if libusb)

+ 17 - 0
configure.ac

@@ -242,6 +242,17 @@ AC_ARG_ENABLE([other-drivers],
 )
 
 
+broad_udevrules=false
+AC_ARG_ENABLE([broad-udevrules],
+	[AC_HELP_STRING([--enable-broad-udevrules],[Include udev rules for ambiguous devices which may not be miners])],
+	[
+		if test "x$enableval" = "xyes"; then
+			broad_udevrules=true
+		fi
+	]
+)
+
+
 algolist="$algolist scrypt"
 AC_ARG_ENABLE([scrypt],
 	[AC_HELP_STRING([--enable-scrypt],[Compile support for scrypt mining (default disabled)])],
@@ -478,6 +489,7 @@ fi
 if test "x$dualminer" = "xyes"; then
 	AC_DEFINE([USE_DUALMINER], [1], [Defined to 1 if DualMiner support is wanted])
 	need_gc3355=yes
+	$broad_udevrules && have_udevrules=true
 fi
 AM_CONDITIONAL([USE_DUALMINER], [test x$dualminer = xyes])
 
@@ -500,6 +512,7 @@ fi
 if test "x$zeusminer" = "xyes"; then
 	AC_DEFINE([USE_ZEUSMINER], [1], [Defined to 1 if ZeusMiner support is wanted])
 	has_asic=yes
+	$broad_udevrules && have_udevrules=true
 fi
 AM_CONDITIONAL([USE_ZEUSMINER], [test x$zeusminer = xyes])
 
@@ -516,6 +529,7 @@ if test "x$gridseed" = "xyes"; then
 	need_gc3355=yes
 	need_lowl_vcom=yes
 	has_asic=yes
+	$broad_udevrules && have_udevrules=true
 fi
 AM_CONDITIONAL([USE_GRIDSEED], [test x$gridseed = xyes])
 
@@ -531,6 +545,7 @@ if test "x$avalon" = xyes; then
 	AC_DEFINE([USE_AVALON], [1], [Defined to 1 if Avalon support is wanted])
 	need_lowl_vcom=yes
 	has_asic=yes
+	$broad_udevrules && have_udevrules=true
 fi
 AM_CONDITIONAL([HAS_AVALON], [test x$avalon = xyes])
 
@@ -852,6 +867,7 @@ if test "x$bfx" = xyes; then
 	AC_DEFINE([USE_BFX], [1], [Defined to 1 if BFx2 support is wanted])
 	need_lowl_ftdi=yes
 	has_asic=yes
+	$broad_udevrules && have_udevrules=true
 fi
 AM_CONDITIONAL([USE_BFX], [test x$bfx = xyes])
 
@@ -1397,6 +1413,7 @@ AM_CONDITIONAL([HAVE_WIN_DDKUSB], [test x$found_ddkusb = xtrue])
 AM_CONDITIONAL([HAS_FPGA], [test x$has_fpga != xno])
 AM_CONDITIONAL([HAS_ASIC], [test x$has_asic != xno])
 AM_CONDITIONAL([USE_UDEVRULES], [$use_udevrules])
+AM_CONDITIONAL([BROAD_UDEVRULES], [$broad_udevrules])
 
 dnl Find YASM
 has_yasm=false