Ivan, I would like to follow up on your comments at: http://www.friendlyarm.net/forum/topic/1819 on your full screen web browser. I have a kernel, rootfs and Arora, that can be found around this page: http://billforums.station51.net/viewtopic.php?f=8&t=15&start=80 The problem with this on a 64M mini2440 is that when Arora fires up it appears to ask for more memory than is left on the machine. Putting everything on a SD card sorted that issue, but response time was degraded. Does your web browser support CSS and does it have any control over the image size? I looked at the code and what I would like to try is: - using the kernel and rootfs at the quoted URL - remove Arora and - substitute your web browser. Do you think this would be reasonably straight-forward? Regards, Dave
Full screen web browser
Have you tried to use a swap-partition? That should help to the memory issue.. But a fullscreen browser without any additional toolbar would be awesome.
I followed this: http://billforums.station51.net/viewtopic.php?f=1&t=5 I think everything is on the SD card, with a swap partition. Are you suggesting that I could just have the application use the SD card, in swap? And make it faster? Could you briefly describe howto? Thanks, Dave
Dave, Please do not use my Bitbake-Recipe. It's not a good idea to include tslib and Qt. You should compile it like Bill described. My Browser is using WebKit so it seems css should work: http://trac.webkit.org/wiki/QtWebKitSupportedStandards But i don't tested it yet. There were no problems running my browser except the touchscreen. I was able to load the Google-News-Site a little slow. There was no need to use a Swap-Partition. But i'm always using an ext3 rootfs on my Sdcard. If you load a smaller Webinterface from localhost it loads very fast. I still have problems getting the touchscreen to work if i use my application. There must be a problem because i installed tslib and Qt twice. I've created a new image in bitbake without tslib and Qt. I will try installing the newer precompiled tslib and Qt on this clean rootfs. If i would give you a precompiled browser it wouldn't work. I don't used the same toolchain and Qt to compile as Nandy did. After i get the fullscreen_browser working i can share my rootfs.tar.gz, uImage, precompiled Tslib, Qt and finally a precompiled fullscreen_browser if you want.
Ivan, I won't try bitbake. Are you using a 64M machine? I just recently upgraded to Ubuntu 10.04 as apparently there were problems working with QT4.6 and tslib on 9.04 I have not gone through the process since upgrading. Your offer is too good to refuse! I await further comments. What toolchain do you use? Regards, Dave
Dave, I'm using a 256MB mini2440. If i share my uImage, rootfs, tslib, Qt and the Project you don't have to use bitbake. But i first have to find a way getting the browser to work. I'm using the toolchain builded trough bitbake from repo.or.cz Here's the output: bitbake-vm:~# arm-angstrom-linux-gnueabi-gcc -v Using built-in specs. Target: arm-angstrom-linux-gnueabi Configured with: /home/ivan/OE/oetmp/work/armv4t-angstrom-linux-gnueabi/gcc-cross-4.2.4-r5/gcc-4. 2.4/configure --build=i686-linux --host=i686-linux --target=arm-angstrom-linux-gnueabi --prefix=/home/ivan/OE/oetmp/cross/armv4t --exec_prefix=/home/ivan/OE/oetmp/cross/armv4t --bindir=/home/ivan/OE/oetmp/cross/armv4t/bin --sbindir=/home/ivan/OE/oetmp/cross/armv4t/bin --libexecdir=/home/ivan/OE/oetmp/cross/armv4t/libexec --datadir=/home/ivan/OE/oetmp/cross/armv4t/share --sysconfdir=/home/ivan/OE/oetmp/cross/armv4t/etc --sharedstatedir=/home/ivan/OE/oetmp/cross/armv4t/com --localstatedir=/home/ivan/OE/oetmp/cross/armv4t/var --libdir=/home/ivan/OE/oetmp/cross/armv4t/lib --includedir=/home/ivan/OE/oetmp/cross/armv4t/include --oldincludedir=/home/ivan/OE/oetmp/cross/armv4t/include --infodir=/home/ivan/OE/oetmp/cross/armv4t/share/info --mandir=/home/ivan/OE/oetmp/cross/armv4t/share/man --with-gnu-ld --enable-shared --enable-target-optspace --enable-languages=c,c++,objc,fortran --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-angstrom-linux-gnueabi- --enable-libssp --disable-bootstrap --enable-libgomp --disable-libmudflap --with-float=soft --with-local-prefix=/home/ivan/OE/oetmp/staging/armv4t-angstrom-linux-gnueabi/us r --with-gxx-include-dir=/home/ivan/OE/oetmp/staging/armv4t-angstrom-linux-gnueabi //usr/include/c++ --with-sysroot=/home/ivan/OE/oetmp/staging/armv4t-angstrom-linux-gnueabi --with-build-sysroot=/home/ivan/OE/oetmp/staging/armv4t-angstrom-linux-gnueabi --disable-libunwind-exceptions --with-mpfr=/home/ivan/OE/oetmp/staging/i686-linux/usr --enable-__cxa_atexit Thread model: posix gcc version 4.2.4
Ivan, I am not going to bitbake anything. In the previous thread you said the touchscreen was working. Are you now having the same problem? Inverted mouse? Or is something else not working with the browser? Dave
The touchscreen only doesn't work if i start my application while the fluid launcher works perfectly. I have to recompile my project. I will try it tomorrow. I'm using Qt 4.7.1
Hi, let me understand a little bit mode. If I understood the problem, your touchscreen does not work when you start your application, ...but the fluidlauncher works perfectly. It seems to me that you have to set some environment variable like QWS_MOUSE_PROTO and so on. You can see the env variable I'm using for my applications here: http://www.sereno-labs.com/qt-4-6-2-installation-procedure-for-friendlya... Perhaps you have to work on it a little bit, but if the fluidlauncher works, in my opinion it's only a matter of settings. Good luck! Paolo
Thank you for the tip Paolo. Finally it works just fine. I always used the right env variables to start the application. But i've compiled my application using an older version of Qt than installed on the target mini2440. Now i have used the newer qmake (Qt 4.7.1) to create the Makefile and compiled it again. This is my invoke script: #!/bin/sh export TSLIB_TSEVENTTYPE=INPUT export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/touchscreen0 export TSLIB_CALIBFILE=/usr/local/tslib/etc/pointercal export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf export TSLIB_PLUGINDIR=/usr/local/tslib/lib export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0 cd / ; ./fullscreen_browser -qws Now for the first time i see my application has a titlebar :) I will have to remove it. Also i must a find a way to specify the URL with parameters. At the moment the URL "http://localhost" is hardcoded.
I was able to remove the titlebar. Now i have to find a way parsing commandline arguments to my application. My Destination is to specify URL and ZoomFactor via commandline arguments like this: ./fullscreen_browser -qws http://www.google.com 0.8
export TSLIB_TSDEVICE=/dev/input/touchscreen0 export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0 Were these the changes that sorted the problem? Good work!
Thanks Dave. Yes and no. I already used this exports but i also had to recompile my project since i'm using the newer Qt.
Finally i'm able to specify the URL via commandline. There's a great browser example in Qt named fancybrowser. I modified the fancybrowser for my needs and now i also have a smaller code than before. ZoomFactor is still hardcoded but i just need some more time and the important thing was to specify an Url. So if someone is really interested i would share the source and i also could create an image(rootfs.tar.gz) including tslib, QT and the browser.
I am still interested. Do you think it will run on a 64M machine? The preferred path for me would be to get the browser to work on my own toolchain so that I can maintain and modify for my own use. Perhaps when you have sorted the zoom factor issue out I would be mostly interested in the browser application. Regards, Dave
Dave, I think it will also run good on a 64M. So then i share my current source and also the new in future. Sarahana, I will create an rootfs.tar.gz and upload it but i need some time to prepare the rootfs. The current mini2440-browser can be started like this: ./mini2440-browser -qws http://www.google.com
Here are the links: http://www.sendspace.com/file/6gdbp2 uImage http://www.sendspace.com/file/zxfgyq rootfs.tar.gz Just untar it on a mounted ext3 Partition on your Sd-Card: tar xfvz rootfs.tar.gz boot your mini, logon as root and just run ./browser.sh to start the browser.
Ivan, Thank you for posting links to the results of your work. I will download the rootfs tomorrow night and give it a try. Regards, Dave
Dave, I just found a page that could help me with the ZoomFactor: http://farside.ph.utexas.edu/teaching/329/lectures/node23.html It's exactly what im looking for and i will try this soon. greets ivan
It worked :) Finally you can launch the binary like this: ./mini2440-browser -qws http://www.google.com 0.7 I attached the source + binary. If someone already uses the rootfs just replace the binary under /usr/bin/mini2440-browser
Ivan, Got as far as a white screen with a cursor. These are the errors before it locked up: *** mini2440 login: root root@mini2440:~# ./browser.sh /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/bin/./mini2440-brows er) /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/bin/./mini2440-brows er) /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/local/Qt/lib/libQtWe bKit.so.4) /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/local/Qt/lib/libQtWe bKit.so.4) /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/local/Qt/lib/libQtGu i.so.4) /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/local/Qt/lib/libQtGu i.so.4) /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/local/Qt/lib/libQtNe twork.so.4) /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/local/Qt/lib/libQtNe twork.so.4) /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/local/Qt/lib/libQtCo re.so.4) /usr/bin/./mini2440-browser: /usr/lib/libstdc++.so.6: no version information available (required by /usr/local/Qt/lib/libQtCo re.so.4) Could not read calibration: "/etc/pointercal" Loading module input Loading module pthres Loading module variance Loading module dejitter Loading module linear Linear calibration constants: 214 20165 -2467676 -25589 -365 23542600 65536 *** Entering: ls -la libstdc++.so.6 gives me libstdc++.so.6.0.9 Dec 15 2008 I am loading the kernel from an ext2 partition on a SD card and the rootfs from an ext3 partition. I tried turning swapon, but that doesn't seem to work now . . . I do not get the expected telling me that it is enabled. Do I need to use swap with a 64M machine? Appreciate your suggestions. Dave
Dave, Did you change something in browser.sh? I also have this errors at starting the browser but in my case it works fine. Can you move the cursor or does it really lock up? It also should not be necessary to use swap but can you see the swap-space in htop? My mini2440 have 64MB RAM too. If you were able to move the cursor correctly and having a white screen you have to setup networking correctly. I configured the ip manually to 192.168.0.100 in /etc/network/interfaces Hope that helps.
Ivan, I am using an unmodified browser.sh, but have not put in your latest mini2440-browser.tar.gz, so should get google.com when I enter <./browser.sh> I changed the ip info in interfaces but it appears that /etc is volatile, ie changes are NOT saved across reboots. I had this problem before when /etc is bound to tmpfs, not too sure of the details. I can sort this and the network stuff out. The cursor is frozen. I am using the N35 screen, is that what you configured the kernel for? It's after midnight, get back to you tomorrow. Dave
Dave, I'm actually not at home. So i can't check your problems on my mini2440. I also know that my resolv.conf always was resetted after rebooting. But it's strange that in my case /etc/network/interfaces was saved permanent. Did you see my configured static ip in interfaces? Are you able todo a ts_calibrate? I'm using a newer screen and had to set mini2440=3tb in u-boot. The Kernel Image was created from OE and so i didn't configured it manually. Can you close the browser after the cursor is frozen?
Yes, I see 192.168.0.100 Yes, I can do a ts_calibrate. I set mini2440=0th in u-boot. I can move the cursor using the stylus. Maybe, it is just the mouse that is not working! Ah, close the browser by hitting <Esc>, correct? Yes, that works. Starting to look like I just need to get the network setup correctly. I can change that using ifconfig. In the GPE package, which I thought was Angstrom based one finds in rcS: echo "* Mounting tmpfs ..." mkdir /tmp/etc cp -ad /etc/* /tmp/etc mount -o bind /tmp/etc /etc but can't find where /etc appears to be mounted on tmpfs and rcS looks quite different in this rootfs. I'll ask at work. Thanks for your help thus far. Dave
Ivan, My local Linux helper has suggested checking how /etc and specifically /etc/network is mounted. Dave
Dave, I have created a base image with OE from repo.or.cz Are you sure /etc is volatile? I saved many things in /etc but only resolv.conf is resetted during a reboot.: root@mini2440:/etc# df -h Filesystem Size Used Available Use% Mounted on /dev/root 2.1G 323.3M 1.7G 16% / tmpfs 40.0K 0 40.0K 0% /mnt/.psplash none 29.7M 52.0K 29.6M 0% /dev /dev/mmcblk0p2 2.1G 323.3M 1.7G 16% /media/mmcblk0p2 /dev/mmcblk0p3 11.8G 1.6G 9.6G 14% /media/mmcblk0p3 /dev/mmcblk0p1 190.8M 2.0M 188.8M 1% /media/mmcblk0p1 tmpfs 29.7M 68.0K 29.6M 0% /var/volatile tmpfs 29.7M 0 29.7M 0% /dev/shm tmpfs 29.7M 0 29.7M 0% /media/ram Im not sure if i understanding this right. The Touchscreen works but a connected USB-Mouse not? I always use CTRL+C to close the browser but it's good to know the browser do not freeze. You also could edit /etc/network/interfaces and run: /etc/init.d/networking restart
I am not sure /etc is volatile (my unit is at home). The other suggestion is, "something might be writing to /etc/network/interfaces" that I am not aware of. I can move the cursor using the stylus but not with a USB connected mouse. USB keyboard works fine. I'll check with another USB mouse before getting too worried about it. I did edit /etc/network/interfaces, but did a re-boot instead of <networking restart> I'll pay with it a bit more and then get back with any questions. Regards, Dave
Ivan, root@mini2440:/# df –h Filesystem Size Used Available Use% Mounted on /dev/root 1.3G 223.5M 1.0G 18% / tmpfs 40.0K 0 40.0K 0% /mnt/.psplash none 29.7M 60.0K 29.6M 0% /dev /dev/mmcblk0p3 1.3G 223.5M 1.0G 18% /media/mmcblk0p3 /dev/mmcblk0p2 22.8M 2.2M 19.4M 10% /media/mmcblk0p2 tmpfs 29.7M 44.0K 29.6M 0% /var/volatile tmpfs 29.7M 0 29.7M 0% /dev/shm tmpfs 29.7M 0 29.7M 0% /media/ram root@mini2440:/# Looks almost identical to yours. root@mini2440:/# mount rootfs on / type rootfs (rw) /dev/root on / type ext3 (rw,relatime,errors=continue,data=writeback) /proc on /proc type proc (rw,relatime) tmpfs on /mnt/.psplash type tmpfs (rw,relatime,size=40k) sysfs on /sys type sysfs (rw,relatime) none on /dev type tmpfs (rw,relatime,mode=755) /dev/mmcblk0p3 on /media/mmcblk0p3 type ext3 (rw,relatime,errors=continue,data=writeback) /dev/mmcblk0p2 on /media/mmcblk0p2 type ext2 (rw,sync,relatime,errors=continue) devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620) tmpfs on /var/volatile type tmpfs (rw,relatime) tmpfs on /dev/shm type tmpfs (rw,relatime,mode=777) tmpfs on /media/ram type tmpfs (rw,relatime) root@mini2440:/# Procedure: - re-boot mini2440 - ./ts_calibrate - vi /etc/network/interfaces for my network parameters - verify it has really changed - cd /etc/init.d - ./networking restart - cd /home/root - ./browser.sh Same results as earlier and CTRL+C doesn't work, only <Esc> Heh, there's a clue if I look at etc/pointercal, after a calibration I see: 18152 174 -1511848 -375 -25319 23590782 65536 240 320 Then when I run ./browser.sh it stops after Linear calibration constants: 18152 174 -1511848 -375 -25319 23590782 65536 there are no 240 320 at the end of this line!?! Looks like a tslib problem. Any hints? Dave
Ivan, Sorry about wasting your time and for all the messing about trying to sort this out. There is no problem with the Linear calibration constants OR tslib OR anything else. I must read more carefully . . . resolv.conf, as you mentioned above, is necessary! Also, now for some unexplained reason /etc/network/interfaces retains the changes made in vi across reboots. I'll now upgrade to your latest version. Thanks again for your help AND patience. Regards, Dave
Dave, No Problem. So you now are able to load different Websites with modifying the start Arguments in browser.sh? I always manage my mini2440 over ssh so i have to use CTRL+C to terminate. The working pointercal should be located under /usr/local/tslib/etc/pointercal like defined in browser.sh It's good you had a deeper look at the volatile-Problem but could it be something other is resetting only resolv.conf during reboot? I think you have to change the exports in browser.sh if you want to use an USB-Mouse.
Ivan, I have not tried your latest version, mainly because I think there will be a problem running that one. < Finally you can launch the binary like this: < ./mini2440-browser -qws http://www.google.com 0.7 How would the EXPORT variables in earlier browser.sh get activated? Or have I missed a newer version of browser.sh that handles the arguments? OK on your use of CRTL+C and I have sorted out my confusion re pointercal. However, there is a bigger problem than that . . . POST does not work. The screen display is very nice and tidy, but I need to be able to control stuff via my webserver. Could you point me to the project you based this on or tell me if it is possible to incorporate the POST function? I am not having a problem with resolv.conf being changed. Are you still having that problem? If you are is it being changed or deleted? Regards, Dave
To get a USB mouse working with the touchscreen go here: http://www.armadeus.com/wiki/index.php?title=Qt/Embedded cd to /dev/input and do <ls> then plug your USB mouse in and do another <ls> now you know your mouse device number mine was mouse1 in browser.sh I changed: export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0 to export QWS_MOUSE_PROTO="MouseMan:/dev/input/mouse1 tslib:/dev/input/touchscreen0" Seems <tslib> is OK, where the tutorial says <Tslib>.
Dave, You don't have to change the exports for using the ZoomFactor Argument. Just modify the last line. Replace the binary and modify the last line in browser.sh to: /usr/bin/./mini2440-browser -qws http://www.google.com 0.7 In my case it's like something do a touch /etc/resolv.conf during a reboot. But i could be dhclient is doing that. Thanks for describing using a USB-Mouse. I made a copy of the Qt Example fancybrowser and modifyid it for my needs. It should also be located on the rootfs. So maybe i removed to much code. Normally this POST function works from other browsers?
Got it! I thought you had worked out a way to only enter: ./mini2440-browser -qws http://www.google.com 0.7 without running the script. I'll change the script and try the latest version. Does resolv.conf get changed or deleted? I work with an ARM network guru so if you are still having a problem, say by Monday, I'll ask him for more suggestions. The POST function works with Arora, Mozilla and IE. Wireshark says that nothing is going out when I do a: "<input type='submit' value='Modify'>" in the HTML page. If POST was working there will be another issue: After a POST one gets a refreshed page on a response from the webserver. This will not take place unless you close and re-run the full screen web browser. Looks like our intended applications are significantly different. Dave
< This will not take place unless you close and re-run the full screen web < browser. I should have not made this statement. Using the full screen browser if you go to www.google.com you can type in a search word and the results come back. Is that not done with a POST command? Also, ignore the comment about Wireshark. I have to borrow an old non-switching hub to look at all the traffic on my network. I only way I can tell that the POST command is not working on the webserver, when operated from the full screen web browser, is that the network activity light does nothing. I need to do some more work. Dave
My resolv.conf is also being deleted on reboot. Maybe it was being deleted all along and I didn't notice as I was mainly looking at my local webserver.
Maybe, a clue . . . http://www.linux-noob.com/forums/index.php?/topic/1775-resolv-conf-is-ov...
Looks more useful . . . http://forums.debian.net/viewtopic.php?t=7239
Dave, Thank you for the link. I'm very sure it's dhclient that overwrites resolv.conf with an empty file. I will try it next week. I'm not really sure that simple submit-buttons do not work because i have a little webinterface running on my mini2440 that uses: input type='submit' and this worked good so far. You are right google also using input type='submit' But it's strange that your submit-buttons work in other browsers. I have not tested fancybrowser on mini2440. Does it resize correctly?
If 'submit' works for you then there is hopefully a simple solution. The non-switching hub will let me look at all the traffic on my network. I checked what happens when you type in a search word in google and a <GET> is sent rather than a <POST>. Resize in fancybrowser. The font in the drop-down menus is so small I can't read the options, so didn't try changing the zoom factor. Tomorrow will see some answers. BFN, Dave
I configured my browser.sh to display http://localhost because i'm running apache2 on mini2440 but that should not make the difference. Is your webinterface builded with HTML & CSS or are you also using PHP?
Ivan, It has been built with hand generated and verified HTML, with a few lines of CSS in it. Had a very short discussion with the Linux networking guy, which involved him have a 1 minute surf through the relevant files, modifying a few lines in /etc/rcS.d/s40networking and saying "try this". Well, I tried it and it seems to work. Attached find a new /etc/rcS.d/s40networking file. Looks like /etc/rcS.d/s40networking is a symlink to the real file. Enjoy! Now to sort out the POST problem. Dave
Dave, Thank you for attaching the modified Init-Script. Looks like a good and fast solution. I will try it soon.
Ivan, Got a suggestion on the webkit-qt forum to try <demo browser> as <fancybrowser> is quite old. I don't see it in the examples folder, so will go searching for it. The function to focus on is QNetworkReplyHandler in WebKit. Off to have a look. Dave
I modified my /etc/init.d/networking like described and it works. The demo browser is also working and you can start it from browser.sh like this: /usr/local/Qt/demos/browser/./browser -qws http://....
Ivan, Yes, I tried the demo browser last night. It looks like Arora, which ran real slow. I haven't checked that POST works on demo browser, but assume it does. Wireshark confirms my suspicion that there is only 10-15% of the information getting through and key elements are missing when POSTing from the full screen browser. Could you attach a Wireshark capture when doing a <submit> from the full screen browser? Thanks, Dave
Ivan, Just to confirm the POST command works in the /demo/browser and if you close all the toolbars down it is getting close to fullscreen. It seems to handle the transactions quicker than Arora, if fact it is just barely useful for my application. Cheers, Dave
Dave, I can't attach a Wireshark capture. I've got no hub and my mini2440 is connected over wlan so i don't know how to capture this. Nice to hear it works in this browser. I had a look at the code it's very big and i also saw that loading a site takes a little longer. So this Browser does use QNetworkReplyHandler and this is needed for the POST command? I also need a real fullscreen-browser, anything else i can not use.
Ivan, OK, on not being able to do a Wireshark capture. QNetworkReplyHandler was only a suggestion here: https://lists.webkit.org/pipermail/webkit-qt/2010-December/001037.html I had a look through all the .h files in /demo/browser and the closest I find is QNetworkReply. Just to verify . . . your full screen browser is now doing everything you want OR is there still something you would like to improve? Regards, Dave
Dave, It was easy to convert fancybrowser into a fullscreen-browser but will be more difficult with demobrowser. At the moment i have a very small webinterface that works good so far with mini2440-browser. So i'm sorry at this time i will not improve the mini2440-browser. I must go on developing the webinterface. But it could be that i have problems in future especially when i try to implement ajax in the webinterface and then i must change the browser. Of course i will share the new mini2440-browser when the time comes.
Ivan, No reason to be sorry. I have appreciated talking with you on this little project. Hope your real task proceeds smoothly. Have a good break at Christmas and best wishes for 2011. Dave
Dave, I have appreciated talking about this project too. Hope you find a good solution for your webinterface. Thank you, i also wish you a good Christmas time and a happy new year.
Ivan, I would like to have a chat about enabling <netfilter> in your 2.6.32.11 kernel . . . off-line. If you are OK with a private email would you reply to: dave_festing at hotmail dot com Thanks, Dave
Don't read full story but easily web browser could be done by QT webkit module. I have full screen browser which display some webpage (defined in xml file): project.pro: QT += webkit \ network TARGET = web_browser SOURCES += main.cpp main.cpp: #include <QtGui/QApplication> #include <QWebView> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWebView view; view.url("http://open-nandra.com"); view.showFullScreen(); return a.exec(); } marek
Marek, Looks pretty simple. Does it handle the POST command? I found that the Qt/demos/browser was the only one that did. I want to try and get the netfilter options running in Ivan's uImage so that I can modify the iptables, so that I can "bridge" a mobile broadband wireless USB modem through to the ethernet connector on the mini2440. Or determine how Ivan got a working 2.6.32.11 kernel working. If you think the post command should work could you attached the executable binary? Thanks, Dave
Yes it handles also post command: http://doc.qt.nokia.com/4.7-snapshot/qwebview.html#load-2 marek
Looks like my response to this did not get through the first time. Just wanted to clarify: <it handles the POST command> Do you mean WebKit, using the right APIs, will enable the use of the POST command OR your simple example will handle the POST command. If the POST command works in your example would you mind attaching the executable and I'll give it try. If more work is required don't do anything. Thanks, Dave
No I said there is an API where could be POST command handled. In simple example of course not. Sorry but have no time currently to code something maybe later. marek
Dave, Im not sure if i am understanding this right but wouldn't it be easier to connect this mobile broadband wireless USB modem directly via usb? Now i'm also using POST for submitting a form in my php-scripts. I shortly tested it on the touchscreen with the mini2440-browser and it work's. Its the same browser as last year you also have. Today i integrated a small Ajax Example in my php-scripts for reloading a DropDown-Menu based on a selection in a other DropDown-Menu and this also worked nicely using the mini2440-browser. So now i can say a simple Ajax-Refresh using XMLHttpRequest also works on this browser.
Ivan, It is going to be connected through the USB port. Actually, trying to cross-compile the Sierra-Compass driver at the moment. The mini2440 has full NAT and iptables running on it and it's main function is to port forward to another uP running a webserver on the ethernet port. If there is another way to do this, could you please explain? Now, about the post issue: <input type='submit' value='Modify'> in my HTML file would not invoke the correct response in the mini-2440-browser. Could I see your script to do this? There could be something basic here I do not understand. Thanks, Dave
Dave, I'm sorry i can't help you out with iptables. I have no idea how to get this working. Could you try a POST using Ajax and PHP? There is a good and easy example under: http://www.hiteshagrawal.com/ajax/form-post-in-php-using-ajax In my Case it worked in the mini2440-browser but i have to say that i always connect to localhost via browser.sh because i'm running apache2 also directly on the mini2440. But it should also work when opening a remote Website.
Ivan, I have iptables working, so no problem there. How many months will it take me to try the Ajax and PHP example :) From the code in your link: <td colspan="2"><input type="button" value="Submit" onclick="ajaxFunction();" /></td> I notice that the terms used in <input type> and <value> are different than mine. I'll investigate why. Thanks, Dave
So the example also worked in your case? I'm very suprised that Qt Webkit has such a nice support for Ajax :) Just finished a RefreshFunction that includes a Countdown.
Ivan, Sorry, I missed this one. Also, I should have been clearer. I am submitting a form so <input type='submit'> is correct for me and <value='Modify'> is just what is displayed on the screen. I have not tried your suggestion as I don't even know what Ajax is. I am happy with the demo browser for now and will just an eye open for any new developments that happen. Dave
Dave, No Problem. I'm new to PHP and also very new to Ajax. But i can say Ajax is based on Javascripts and you are able to reload the whole or a part of your Website without reloading the Page in the Browser. The Example in the link is ready for testing, just save the two files in the same folder on your webserver if you want. greets ivan
Well if you have apache & php installed on your webserver you can copy and paste the text. Save the first source as test.html and the second small as testing.php in the same folder.
Hello guys! I installed on MINI2440 (gt2.2.0) lighttpd php (with sqlite) and it works. But, I have issue with html buttons. Here is a code: <button type="button" ;style="height: 25px; width: 100px;" style="color: green;" ;="" onclick="window.location.href='acq_content.php'"> Acquisition Data </button> They does not work. So I decided to install new browser. Can anyone tell me which browser to choose and have to install it. Thanks...
Emil, Your HTML-Code seems to be ok. So you are running lighttpd with php but which browser are you using on the touchscreen? Does the button work from Firefox or IE on your Workstation? What do you mean it does not work? Is there no button displayed? If you want to run my browser based on QT-Webkit you have to compile my source or replace your whole rootfs.
Ivan, I am using Konqueror web browser which came with a fabric distro. Buttons work on my workstation (firefox). On mini2440 I can see buttons, but when I press them nothing happens. Now, I have another issue. I started lighttpd on mini2440 and want to access it from my workstation. I am using linksys wireless router to which is connected my laptop, arduinoUNO and mini2440. On arduinoUNO (on which is implemented webserver i can access, it's address is 192.168.1.177) but I cannot access to page on mini2440 lighttpd webserver (address 127.0.0.1:3000) When I start web-server on my workstation it works, same .conf file. In attachment I sent lighttpd.conf file and output of ligttpd -V.
Your lighttpd.conf looks correct. But i doesn't know much about lighttpd, gave it also i try but had better success with apache2. Maybe Konqueror is to old for displaying your site correctly. Dumb question but does it work if you enter http://127.0.0.1:3000 or http://localhost:3000? Sometimes it doesn't recognize the Protocol when you are using a different port.
Hi all, This discussion is all about an application with Qt, so my query definitely fits. If not please ignore my post. view.showFullScreen(); show the application in full screen. This is expected. But to hide the title-bar completely, do we need to write a QDecoration plug-in or is there any flag that can be passed to QWS server, or the application. - Sathishkumar
Sathishkumar, Could this be the code your are looking for? setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint); For complete source scroll up to my mini2440-browser.tar.gz
Hi Ivan, Back on this project, but trying to use this: http://www.oselas.org/oselas/bsp/pengutronix/mini2440_bsp_en.html instead of your kernel and rootfs. I can't get the USB mouse to work with the stylus and a USB keyboard on this BSP as it did on yours. One area that seems quite different are the udev rules. There is one rule file in your rootfs called local.rules and as all the other rule files seem to be auto-generated ... did you write this one? I do not have any entries named "mice, mouse or touchscreen" show up in /dev/input with the above BSP, as did in yours. Have you got any suggestions? Thanks, Dave
Hi Dave Did you try a modprobe for the modules of these usb-devices? I not have written the local.rules by myself but i added some lines to get my relay-board working. This file was generated trough the compilation via bitbake. I found a line in my local.rules which try's a modprobe for every device at startup. Maybe you can copy local.rules from my rootfs and give it a try? It should also work if you just create that file containing the important line that try's modprobe for usb-devices. greetz ivan
Ivan, Thanks for replying. Everything is built-in for the kernel, so modprobe shouldn't do anything in my case. Correct me, if I am wrong. I was more interested in the last section: Create a symlink to any touchscreen input device. These looked like they might have been hand-made. I will try your suggestions. Kind regards, Dave