Question

I have successfully interfacted Telit GL 865 GSM/GPRS modem to my Atmel microprocessor. My POC board is running embedded linux and I have also cross compiled Qt libraries(including Webkit) and transferred it to the board.

I can also read and write AT commands from Qt application by opening an FD(File descriptor) and then executing commands.

I'm also able to connect to the GPRS, also getting HTTP response. Currently I'm setting the HTML that I get from AT commands, through the QWebView's setHTML() function. But by this the images doesn't load(obviously) and also I cannot navigate through the links as the browser doesn't have a direct access to the Internet. So what is the proper implementation by which my Qt Webkit browser can directly communicate over GPRS using my modem ?

Was it helpful?

Solution

It seems you're building your TCP/IP stack at application level. Normally that's a kernel task.

WebKit is perfectly capable of creating HTTP responses, but it expects to hand them off to the kernel. Specifically, it normally creates a TCP socket, connect to port 80 of the webserver, sends the HTTP request over the socket, and retrieves the HTTP response from the socket.

So, it seems you're just missing a driver. That's not really a programming question so much as a Linux question.

OTHER TIPS

You need to set up attributes for your QWebPages. something like this:

QWebSettings * settings=QWebSettings::globalSettings ();
settings->setAttribute(QWebSettings::JavascriptEnabled,true);
settings->setAttribute(QWebSettings::PluginsEnabled,true); 
settings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls,true);
settings->setAttribute(QWebSettings::LocalContentCanAccessFileUrls,true);
settings->setAttribute(QWebSettings::LocalStorageEnabled,true);
settings->setAttribute(QWebSettings::AutoLoadImages,true);
settings->setAttribute(QWebSettings::JavascriptCanOpenWindows,true);
settings->setAttribute(QWebSettings::PrintElementBackgrounds,true);

look into QWebSettings docs for more Webkit attributes...

UPD: if you work with tcp-ip directly with AT commands, not with drivers, than @MSalters explanation is also pre-requisite for your browser to work...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top