Combine the onions, celery, carrots, bell peppers, jalapenos, and ginger in a large pot with the olive oil and cook over medium heat until the vegetables are soft, about 12 minutes. Add the garlic, cumin, and cinnamon and cook for 2 minutes. Add the beans, water, cilantro, orange, and salt. Bring to a boil and then reduce to a simmer. Cook, partially covered, for 2 1/2 to 3 hours, or until beans are very tender and soup begins to get creamy. (Add more water if the soup becomes too thick.) Remove the orange before serving. Season with the hot sauce to taste. Serve with the salsa.
Makes 2 quarts, 8 servings