domingo, 2 de octubre de 2011

How to solve 90% of the problems with your Foxconn DH910, aka TCom TC300, aka Pirelli DP-L10, ...

I was going to write this in spanish as Ya.com (Deustche Telecom spanish ISP) sold a lot of these devices around here, but it has always frustrated me a bit that almost all the info one finds about this device is found in German, so I'll write it in english (if anybody wants to ask something in spanish I'll answer trying to clarify it).

Anyway... this used to be a really valuable phone I have three and each costed me 20€, the phone was sold unlocked and it has SIP capabilities, so the uses can be quite a lot, besides, the hardware seems to be hard to break, unless you think it is really broken and start to botch inside with the help of your 1 year old son, which is what I did when I thought one of them was badly broken as it didn't keep any settings when it was turned off.

Most of the problems you find on this phone like the problem with the settings I had, the problem with the screen presenting just one ç or other weird performances are solved by flashing the phone again with a good firmware, that's it.

So, I'll try to write here all I know about flashing this devices, mostly cause I tend to forgive what I learn, but for others to learn as well.

There are several ways to flash this device:

  • The most common is by using the windows programs to manage the device, each of the rebranders has its own utility, like the first link here, the spanish tc300 tools and firmware, and you must use the one for the firmware you have flashed, that one will flash any firmware you want, so you can install the pirelli one with the TCom soft, but then you'll need the pirelli tools to access the phone or to reflash it.

  • One of the best ways to flash a firmware (the one that has never failed to me) is by using a windows program specifically designed for that and that does the job while the phone is turned off, I have only seen this tool with Pirelli's 3.99d firmware or sipgate's modified version of it.

  • The next best way is by doing a web download directly from the phone, this involves two things, setting up a webserver from where to download it, and also entering engineering mode, for the first part you can find an example here even though they have it disabled, and for the second, you must type ###800#, then you'll have a provision entry under the settings menu where you can point your phone to the IP or the name of the web server where you have the T60N925.00_FOX-general.cfg file pointing to the firmware file. I'll explain this in more detail later.

  • I've said that only one of the methods has never failed to me, the others have failed a lot of times, not on flashing but when it downloads the firmware, to the phone before flashing it. You can find a lot of people with errors when downloading the firmware, most of them saying that memory is full or that there are not enough resources on the phone for this. I have developped a theory on this and a way to workaround these errors that seems to work ok whether you are flashing from the net or if you are flashing via USB. I believe that the problem is that the phone enters some kind of power saving mode and this causes the download to fail, so if you are pressing a key (for example, then hangup key) in order to avoid the screen to go black, the phone won't enter that mode and thus the download will finish ok, as easy as that. I have never read this tip anywhere, which seems quite weird to me as it was quite easy for me to find this out, don't know if the logic behind it is correct or not, but it works.

    That said, I'd like to get deeper on this on the next part of this entry, so if you have enough just stop reading and if not... there we go.

    ###000# shows a screen with a lot of options you can use, here you can find them in spanish among them ###800# (enter engineering mode) and ###810# (clear all user settings).

    There are a couple of programs that will allow you to change a firmware to include your stuff there or change defaults to those you want, they are tc300ex and mobilecustomizer (a front end for tc300ex), you can read about how to use them here.

    I'll add my own notes about changing the firmware images, as I tried to find info on this and had to guess it all by myself:

    On data_service.ini I used this settings:

    WallpaperId=3
    W1_STARTPAGE=http://www.google.com/m
    W1_BEARER=1

    To set the wallpaper to the sun image, set the startpage on wap browser to google for mobile and, more important, to set the wap to work over wifi and not gprs.

    On wifi_voip.ini I had to fight a bit to guess this:

    P1_WIFI_PROFILETYPE=2
    P1_DHCP=1
    P1_TFTP_OPT=0
    P1_SSIDTYPE=1
    P1_SSID=Your_SSID
    P1_WIFI_AUTHTYPE=3
    P1_WIFI_ENCRYPTTYPE=2
    P1_WIFI_WPAPSKTKIPKEYFORMAT=1
    P1_WIFI_WPAPSKAESKEYFORMAT=1
    P1_WIFI_WPAPSKTKIPASCIIKEY=XXXX
    P1_WIFI_WPAPSKAESASCIIKEY=XXXX

    Which are the normal settings for wpa2 (aes) the important thing here is the tkipkeyformat and the aeskeyformat which if set to 1 means that it will be given in ascii (using the values I stated above). I know those values are for aes, and don't know about tkip, even tough people on the forums recommend tkip over aes, I still use aes, tkip is supposed to be substracting 1 from the value of either authtype or encrypttype (I'd bet for this one, but maybe it is both).

    By default all the wifi profiles are active, I tried to set it so that only one was active, but there were problems, so better leave it like that and change it by hand if we just want one.

    Downloading a firmware over the wifi is really slow, around 3 or 4 Kb/s on my tests, so it takes longer than doing it over usb, but you don't need the damm windows around, you don't even need a computer if somebody sets things up on a server for you, so I'm going to comment on how to do it.

    You need a web server serving the file T60N925.00_FOX-general.cfg with something like this on it:

    [Provision]
    SERVER=twintel-fw.arcor.de
    BACKUP_SERVER=twintel-fw.arcor.de
    FIRMWARE_FILENAME=PU_D910.0.3.91_ACR.img

    Of course you can point to whatever firmware image you want, even the one you have just set up with the tools I commented before.

    The phone must be plugged and you must enter engineering mode (typing ###800#) and then on the setting meny go to provision and set the server-address to the address/name of your web server, then go to settings and choose to update once, exit to the main screen and wait for a while for the phone to ask you to download, while downloading you'll see an arrow moving down (remember to not allow to enter energy saving by pressing the hangup key while the arrow shows downloading), when it finishes the arrow points to the small phone. After that you have to enter again the provision menu and select to upgrade now.

    I guess that's all at least all the important things are there and pointers to where to find more info, beware that most of it is on german, so good luck with that, but I hope the info I have written here will be enough for almost anybody.

    1 comentario:

    Сергей Марченко dijo...

    Thanks a lot! Very actual theme for me. As additional, read articles about problems solving