Pick-over beans, then soak in cold water for 12 hours, or overnight.
After soaking, remove any floating skins or discolored beans.
Place soaked beans, diced onions and smoked pork hocks and/or shanks in a large stock pot or slow cooker.
Add 8 cups of water to crock pot, will mostly cover the smoked pork and beans, onions will float initially.
If using a stock pot, bring to a gentle boil, then reduce heat to a simmer and simmer for 8 hours or until beans are soft and liquid is reduced. if using a crock pot, cook on high for 2 hours and then reduce to low and cook for 8-10 hours until beans are soft and liquid is reduced.
Remove hocks or shanks from the soup and allow them to cool until comfortable to handle. Keep soup warm.
Remove meat from the bones, discarding excess fat, bones and rind from the meat. Return meat pieces to the soup and allow it to reheat.
Taste the soup and add salt and pepper to taste. This soup rarely needs salt, as the smoked meat has enough salt, so make sure to taste before adjusting the seasoning.