Basically, due to a bug in libsms (closed source Nokia library that's part of the telephony stack in Fremantle), Cell Broadcast SMS does not work on the N900. Specifically it is a bug in the function sms_gsm_cb_routing_ntf.

Its clear at this point that Nokia will not release the source code to libsms (or back-port the fix for this bug from Harmattan where it appears to be fixed). Nor are they likely to release the information required to allow replacement of libsms without a wholesale replacement of most of the telephony stack (including the dialer, messaging app etc). Given this, I have come up with a possible solution and would like advice on the best way to package this solution.

Option 1:
Patch libsms (there are 3 bytes that need to be changed to fix the bug) and distribute the patched .so file. (i.e. basically an updated libsms package)

Option 2:
Distribute a package that will patch (and un-patch on uninstall I would guess) libsms with the 3 changed bytes to fix the bug.

Option 3:
Distribute a package that somehow loads something into the memory space of the CSD daemon and applies the 3-byte patch to the in-memory image of libsms.

Option 4:
Create a clone of sms_gsm_cb_routing_ntf and use LD_PRELOAD or something similar to cause libsms to use the clone and not the original in libsms

I dont know much about how ARM Linux works (or how Debian packaging works or what the CSSU maintainers would find acceptable) so I dont know which option is the best option. Hence I am asking the CSSU gurus to help me figure out which option is the best option going forward as a way to distribute this fix (which will then allow a user-space widget to be produced that can talk to the IncomingCBS DBUS signal and do something with the incoming Cell Broadcast SMS messages)
_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers

Reply via email to