I have to develop an application on embedded Linux which sends data over Internet. I have to choose a USB 3G modem with a SIM card holder, which works successfully or is supported on embedded Linux.
Most 3G modems are supported in Linux. I've used several different models, mostly Huawei, on embedded devices using standard Linux packages and libraries - they all do pretty much the same thing, just with brighter lights or faster stripes. Good starting points are
The main obstacle to overcome is working out the individual methods each provider uses for authentication and access, but this is generally well documented. The Archlinux wiki pages on configuring
pppd are pretty good: