Antminer's custom version of cgminer works with the folowing:
cgminer -o stratum+tcp://your.pool.here:port/ -u worker.name -p password --bmsc-options 115200:20 --bmsc-freq 0781 --no-submit-stale
Bfgminer works in a similar fashion but has some hidden extra stuff for serial devices just like the old block erupters. Also if you overclock the Antminer it wont read much higher than 2.0Gh/s in the output without --icarus-options 115200:2:2 because it is a serial device. For example if you set the clock to 0A81 it will still read around 2.0Gh/s instead of the 2.2Gh/s it is supposed to. This holds true for higher clocks as well.
Bfgminer's config would look like the folowing:
bfgminer -o
http://your.pool.here:port/ -u worker.name -p password -S antminer:all --icarus-options 115200:2:2 --set-device antiminer:clock=x0781 --no-submit-stale
from Bfgminer 3.10.0 README.ASIC.txt
BLOCK ERUPTER USB
-----------------
These will autodetect if supported by the device; otherwise, you need to use
the '--scan-serial erupter:
' option to tell BFGMiner what device to
probe; if you know you have no other serial devices, or only ones that can
tolerate garbage, you can use '--scan-serial erupter:all' to probe all serial
ports. They communicate with the Icarus protocol, which has some additional
options in README.FPGA
from Bfgminer 3.10.0 README.FPGA.txt
Icarus (ICA)
------------
There are two hidden options in BFGMiner when Icarus support is compiled in:
--icarus-options Set specific FPGA board configurations - one set of values for all or comma separated
baud:work_division:fpga_count:quirks
baud The Serial/USB baud rate - 115200 or 57600 only - default 115200
work_division The fraction of work divided up for each FPGA chip - 1, 2, 4 or 8
e.g. 2 means each FPGA does half the nonce range - default 2
fpga_count The actual number of FPGA working - this would normally be the same
as work_division - range is from 1 up to 'work_division'
It defaults to the value of work_division - or 2 if you don't specify
work_division
quirks List of quirks to enable and disable (after a minus sign):
r Reopen device regularly to workaround buggy Icarus USB chipset
(enabled by default)
If you define fewer comma separated values than Icarus devices, the last values
will be used for all extra devices.
An example would be: --icarus-options 57600:2:1:-r
This would mean: use 57600 baud, the FPGA board divides the work in half however
only 1 FPGA actually runs on the board, and don't reopen the device (e.g. like
an early CM1 Icarus copy bitstream).
Just don't use the --icarus-timing that's for old block eruptors and Icarus boards.