Moving on…

September 7th, 2019

Please find our new blog on

https://life-is-a-project.de

There will no new posts on this page :)

Howto fix low internal memory issue on BlackBerry OS 10

November 6th, 2018

So after using BlackBerry OS 10 for a while, you might get a notification that the internal memory is full. You can delete some unwanted apps and data or move pictures and music to the external card but it will happen again. The internal memory usage just creeps back up.

There are some posts on CrackBerry describing the issue and the usual suggestions are

  • delete unwanted apps and data
  • reboot phone
  • security wipe (all data lost
  • autoload new OS (all data lost)
  • Luckily, there is also this post which describes a fix using the Android app Ccleaner.

    Using the most current version of Ccleaner did not work for me, it always got stuck at some point.

    So here is the trick: i looked at the forum posts date and downloaded an older version of Ccleaner from around that time. Not only was the download only 4MB instead of 20MB, but it also found around 8GB of picture thumbnails to remove from internal storage so now im good again for a while.

    To another 5 years of BlackBerry OS 10, for me on a Q10 :)

    Compiling a kernel module on and for the raspberry pi

    May 18th, 2016

    So in order to compile a module for a precompiled version of the raspberry pi linux kernel, some quirks were necessary. The goal was to not build the kernel fully (which is also possible after these steps) but to rebuild a module for the currently running kernel after modifying its source.

    If you have seen

    Error: could not insert module drivers/w1/slaves/w1_therm.ko: Invalid module format

    while trying to insmod and

    [ 5697.914596] w1_therm: no symbol version for module_layout

    in dmesg or

    ERROR: could not insert 'w1_therm': Exec format error

    after modprobe, then stick around.

    My script with explanations is available over at

    https://github.com/x29a/kernel/blob/master/rpi/prepare.sh

    so hopefully all that needs to be done on the rpi is (as root, sudo -i)

    # mkdir -p /root/kernel
    # cd /root/kernel
    # wget https://raw.githubusercontent.com/x29a/kernel/master/rpi/prepare.sh

    then check if the defaults in the script are fine for you, like location for source and kernel branch, then execute

    # bash prepare.sh

    and follow the instructions. Each new message expects a keypress to continue.

    Following is some additional info i found handy on my journey to a loadable module.

    If you have used rpi-update by accident and got on an experimental kernel (remember, new kernels are now installed via apt-get!) you can revert to a stock kernel by forcing a reinstall via

    apt-get install --reinstall raspberry-bootloader

    When is Module.symvers generated.

    How to get the right kernel version for a running setup without recompiling kernel.

    Crosscompile a kernel module.

    General information on building the rpi kernel and general kernel module building and contribution infos.

    Blackberry OS 10 and LetsEncrypt

    March 19th, 2016

    The great service at https://letsencrypt.org offers certificates for everybody to encrypt their websites with (meaning to offer HTTPS).

    Unfortunately, the Blackberry OS 10 Browser does not yet ship with the certificates used to sign the websites so you either have to go back to unsecure HTTP or in case of HSTS you are unable to view the webpage.

    Hopefully, there will be an update to BBOS 10 soon to fix this issue.

    Luckily, one does not have to wait for the update but can manually import the needed certificates.

    Head over to https://letsencrypt.org/certificates/ and download the PEM format of:

  • ISRG Root X1
  • Let’s Encrypt Authority X1 (IdenTrust cross-signed) and Signed by ISRG Root X1
  • Let’s Encrypt Authority X2 (IdenTrust cross-signed) and Signed by ISRG Root X1
  • Also get the DST Root CA X3 by copying the text to a textfile, remove the whitespace at the end and surround it by

    -----BEGIN CERTIFICATE-----

    copied text here

    -----END CERTIFICATE-----

    each on a new line. Save that file as dst_root_ca_x3.pem

    After copying all files to the device (e.g. via SD card), go to Settings -> Security and Privacy

    Securiy and Privacy

    -> Certificates

    Certificates

    and Import

    Import

    all 6 files (5 from LetsEncrypt and 1 from IdenTrust).

    Thats it, open your browser and try it out.

    Access samsung phone with hardware issues

    January 18th, 2016

    So recently i fiddled with a broken partition table in a somewhat working Samsung Galaxy S3 Mini phone.

    Now imagine the phones looks like this:

    broken_mini

    Dropped like it’s hot, landed flat on the screen. But of course contains very important pictures without backup somewhere else. For the fun of it, lets assume the power button is broken as well.

    Software configuration: stock rom, stock bootloader, stock recovery. ADB disabled.

    With a combination of the following steps, it should be possible to get access to the internal memory and backup important data via ADB.

    USB Jig
    A custom recovery image like TWRP enables ADB access, so by flashing TWRP, we get root access to the phone and can backup the data. For flashing the recovery, you need either heimdall or odin and the images, all are linked in my previous post.

    Normally you can get any turned off samsung phone into download (also called odin) mode by pressing VOLUME DOWN + HOME + POWER.

    Now if some button is not working, this is a little trickier. The trick is a tool called samsung 300k or a little piece of hardware. Since the tool is windows only and didnt work for me, i had to go the hardware way.

    There are multiple videos on youtube that describe how to modify an usb connector.

    If you have a “power only” micro-USB cable that you can spare, things are a bit easier. These feature most likely already a resistor of around 200kOhm, so when you connect the cable only to your phone (USB end is loose) the phone will boot up. Unfortunately, with the resistor at 200kOhm, it will perform a normal boot.

    So cut off the wire near the connector and carefully pry the connector open on its side with a sharp knife.

    connector_01

    The rubber sides now should be removable, careful not to rip any of the small cables or connectors inside.

    connector_02

    connector_03

    Now depending if your connector already features a resistor you need to add a resistor in series (one after the other) or you need to add a new resistor so that the summed up value equals 300kOhm. Since my connector came equipped with 200kOhm, i just added another 100kOhm and soldered it in between.

    connector_04

    Of the micro-USB B connector, pin 4 and 5 should be connected via 300kOhm.

    When inserting the connector into the phone, it should vibrate (if the vibrator still works) and boot into download mode. Now connect a working data cable and use heimdall or odin to flash TWRP with ADB enabled.

    Look Ma, no power button!
    But with the powerbutton not working, how can one boot the phone (hopefully into recovery)?

    You could try to clean or fix the button.

    If that doesnt work, there are multiple different approaches and while the ones from the videos did not work, the one in the comments worked for me:

    1. remove battery and power cable
    2. insert battery – insert power cable
    3. wait until you see the first battery logo, and the second battery logo with animation
    4. wait again, until it goes completely black. (power saving)
    5. remove your battery, reinsert your battery, take off usb cable (quickly!)

    Unfortunately, there seem to be some phones which can not be boot into recovery by holding the buttons and plugging the cable in or which dont boot into recovery after flashing from download mode. In this case, you can rename the recovery.img to boot.img and flash it via heimdall/odin into the bootloader partition. This way, the system wont boot android anymore, but straight to the recovery with ADB enabled.

    Once all data is retrieved, one has to replace the recovery in the bootloader partition again with a real bootloader. This must fit to the android system, so might as well wipe everything and start from scratch.