The night before cooking the soup, place the beans in a colander and rinse with cold running water. Pick out any rocks or beans that are broken or shriveled. Place the beans in a large Dutch oven or soup pot with a lid and cover with enough cold water so that it comes to one inch over the top of the beans. Soak overnight.
Drain the beans, then return the beans to the pot. Add enough cold water so that it covers the beans by an inch.
Add the onion, pepper, garlic, pork, olive oil, salt, and a generous quantity of black pepper. Stir to combine.
Bring to a boil over high heat. Skim off any white foam, then reduce the heat to low and cover. Simmer until the beans are very soft and the soup is creamy, not watery, 4 to 5 hours.
Check after 2 hours. If the beans seem dry or stewy, add another cup of water. The final consistency should be velvety and thick, and the soup should coat the back of a spoon.
When the soup is nearly finished, stir in the vinegar and simmer uncovered for 15 minutes more.
Serve over rice, garnished with chopped raw onions, lots of cilantro, and sour cream.