Please comment, drop me an email or such.
Sunday, October 17, 2010
Searching for Cell Broadcast
Is there someone that can provide me with a trace with Cell Broadcast Services on the Abis link? I am not really figuring out what should be provided to the BTS... I assume that the nanoBTS takes care of scheduling the message and one provides one big message instead of the four separate things?
Back from the DevDays
Like many others I was at the DevDays. I happened to be in Munich for GSM related things but managed to attend half a day on Monday and half on Tuesday. I was very happy to reconnect with friends from Australia, Oslo, Brazil and the US and I am always impressed by the team that the Qt unit has recruited and still manages to recruit. Creating awesome technology is just the consequence of that and as written in earlier posts, Qt Quick is great and the Qt Creator integration is getting good as well.
While still having your attention. Is there any interest in low-level GSM stuff in the KDE Community? The OsmocomBB project is close to make phone calls in a commercial GSM network and we could use a simple GUI running on a Linux host OpenBSC on the other hand is the swiss-army-knife of a GSM network and ideal for tests. E.g. testing emergency calls, security research, generating stuff that is difficult on a commercial network, do prototypes...
And on a private note... I am back to Berlin...
Tuesday, October 05, 2010
misc notes on using tools
- gdb-heap is a new project to analyze the heap of a running application. Right now it only knows about python
- addr2line can help you to go from a SEGFAULT/SIGBUS/Alignment trap to file and line, it needs some tricks to make it work on libraries..
- you can use gdb with the app and use info sym 0xb7f1121d and info line *0xb7f1121d to at least get the function of where an application crashed.. (thanks to people in #gdb)
Saturday, October 02, 2010
Excited by the idea of Soft Processors
I was spending some time the other day looking at Qi Hardwares' latest project Milkymist One. It is a SoC with the mico32 core (CPU). The mico32 is a free Soft Processor that runs on various FBGAs.
From my point of view the biggest benefit of a Soft Processor is the ability to accelerate dynamic languages with high level (CISC) instructions. The primitive (natively implemented routines) of languages like Python, Smalltalk (SqueakVM, GST), Ruby try to remain stable over time. With a Soft Processor one could share the knowledge of the object layout with the CPU and handle certain routines directly in the CPU.
This is the old battle between CISC, RISC, the speed of RAM and complexity. If things are easy things are faster (RISC) vs. if the CPU knows more it can do things in a better way. I think for script languages (with its own instruction fetch, decode, execute) an implementation in the CPU could probably do a lot better.
The question will be how easily one can reconfigure the Soft Processor, how easily binutils will handle new instructions and how open projects will be to implementations in hardware.
I am excited about the Milkymist...
Friday, October 01, 2010
Deploying WebKit, common issues
From my exposure to people deploying QtWebKit or WebKit/GTK+ there are some things that re-appear and I would like to discuss these here.
It is failing in JavaScriptCore as it is the first that is built. It is most likely that the person that provided you with the toolchain has placed a config.h into it. There are some resolutions to it. One would be to remove the config.h from the toolchain (many things will break), or use -isystem instead of -I for system includes.
The best way to find out if you suffer from this problem is to use -E instead of -c to only pre-process the code and see where the various includes are coming from. It is a strategy that is known to work very well.
Most likely you do not have a DNS Server set, or no networking, or the system your board is connected to is not forwarding the data. Make sure you can ping a website that is supposed to work, e.g. ping www.yahoo.com, the next thing would be to use nc to execute a simple HTTP 1.1 get on the site and see if it is working. In most cases you simply lack networking connectivity.
It might be either an issue with Qt or an issue with your system time. SSL Certificates at least have two dates (Expiration and Creation) and if your system time is after the Expiration or before the Creation you will have issues. The easiest thing is to add ntpd to your root filesystem to make sure to have the right time.
The possible issue with Qt is a bit more complex. You can build Qt without OpenSSL support, you can make it link to OpenSSL or you can make it to dlopen OpenSSL at runtime. If SSL does not work it is most likely that you have either build it without SSL support, or with runtime support but have failed to install the OpenSSL library.
Depending on your skills it might be best to go back to ./configure and make Qt link to OpenSSL to avoid the runtime issue. strings is a very good tool to find out if your libQtNetwork.so contains SSL support, together with using objdump -x and search for _NEEDED you will find out which config you have.
This is a pretty common issue for WebKit/GTK+. In WebKit/GTK+ we are using GIO for local files and to determine the filetype it is using the freedesktop.org shared-mime-info. Make sure you have that installed.
This is another issue that comes back from time to time. It only appears on WebKit/GTK+ with the DirectFB backend but sadly people never report back if and how they have solved it. You could make a difference and contribute back to the WebKit project.
In general most of these issues can be avoided by using a pre-packaged Embedded Linux Distribution like Ångström (or even Debian). The biggest benefit of that approach is that someone else made sure that when you install WebKit, all dependencies will be installed as well and it will just work for your ARM/MIPS/PPC system. It will save you a lot of time.
Subscribe to:
Posts (Atom)