I cannot add p2pool through API:
echo "addpool|http://p2pool.org:9327,Lc8TWMiKM7gRUrG8VB8pPNP1Yvt1SGZnoH,x" | nc localhost 4028
STATUS=S,When=1371456527,Code=55,Msg=Added pool 'http://p2pool.org:9327',Description=cgminer 3.2.2|
I don't understand why but newline is a troublemaker for stratum configurations. This command works, pool is added and it is alive (-n was added to echo):
echo -n "addpool|http://p2pool.org:9327,Lc8TWMiKM7gRUrG8VB8pPNP1Yvt1SGZnoH,x" | nc localhost 4028
STATUS=S,When=1371456527,Code=55,Msg=Added pool 'http://p2pool.org:9327',Description=cgminer 3.2.2|
JSON syntax works too:
echo '{"command":"addpool", "parameter":"http://p2pool.org:9327,Lc8TWMiKM7gRUrG8VB8pPNP1Yvt1SGZnoH,x"}' | nc localhost 4028
{"STATUS":[{"STATUS":"S","When":1371504122,"Code":55,"Msg":"Added pool 'http://p2pool.org:9327'","Description":"cgminer 3.2.2"}],"id":1}
I think I miss an API command, to FREEZE cgminer; something like that is needed to remove active pools and to load new configuration. With current API, I can do it but I have to use tricks to remove active pools and the result is not perfect. There is always one pool that is active and active pool cannot be removed even it is disabled. And when pool 0 is removed, it is replaced with the last pool, so order is changed, etc. Well, it is tricky to replace pools through API...
BTW, I play with API because drivers for 7790 at Linux are so bad that I cannot restart cgminer; to change cgminer configuration, I have to reboot PC. HD7790 is stable it runs ok but when I quit cgminer, I cannot start it again until I reboot PC; and there is other bug that autologin to X doesn't work when you have more than one 7790, so manual login is required.