# WSODFix
<p>
<a href="https://github.com/mupfelofen-de/WSODFix">
<img src="https://img.shields.io/badge/project-GitHub-blue?style=flat?svg=true" alt="GitHub project" />
</a>
<a href="https://github.com/mupfelofen-de/WSODFix/blob/master/LICENSE.md">
<img src="https://img.shields.io/badge/licence-MIT-blue?style=flat?svg=true" alt="Licence" />
</a>
<a href="https://www.travis-ci.com/mupfelofen-de/WSODFix">
<img src="https://www.travis-ci.com/mupfelofen-de/WSODFix.svg?branch=master" alt="Build status" />
</a>
</p>
## About
[![WSODFix](.media/wsodfix-tn.jpg)](.media/wsodfix.jpg?raw=true "WSODFix")
Nokia mobile phones such as the N-Gage running early versions of the
Symbian OS suffer from a very common problem widely known as the White
Screen of Death or simply WSOD. This happens when the internal memory
of the phone becomes so full that the unit can no longer boot and
becomes virtually unusable.
To solve this, the memory, referred to here as the user area, must be
formatted.
However, professional flashing equipment is needed to achieve this and
nowadays it is hard to find such equipment for sale. More than often,
manufacturers, which cloned official service hardware, sold it in
addition to hardware licences in the form of a dongle. Also, as new
devices would come out, old ones would literally be rendered unusable by
the manufacturers via the internet or sometimes by malware-infected
software released by competitors.
[![Twister](.media/twister-tn.jpg)](.media/twister.jpg?raw=true "Twister")
There is official software with which some of these devices can be
repaired and reactivated with, but access to reliable information is
anything but trivial.
This project is not an alternative to professional flashing equipment,
but aims at offering the possibility to make older Symbian phones
affected by a simple WSOD usable again by leveraging open-source
software and DIY hardware.
The project is based on a STM32F103C8 microcontroller board a.k.a. a
[blue pill board](http://reblag.dk/stm32/).
## Status
### Firmware
The firmware is 100% functional.
### Compatible phones
WSODFix has been tested with the following phones so far:
- Nokia N-Gage (NEM-4)
- Nokia N-Gage QD (RH-29)
## Operating instructions
Important: Never use WSODFix with a working phone! If the formatting
fails or is interrupted in the process, the device may no longer
boot. This can then only be repaired by a successful run.
1. Connect the UFS flashing cable to your phone. It is very important
to follow the correct insertion and removal procedure, otherwise the
contact pins on the flash adapter will be damaged. For the N-Gage
and N-Gage QD, you must first press the adapter against the battery
contacts and then down.
2. Attach the cable to the RJ45 connector of your WSODFix.
3. Connect the USB cable. Make sure that the USB port used can supply
sufficient power for the phone and the microcontroller.
4. First, the LED should flash for about 20 seconds at a rate of 1
second. This is when the phone enters service mode.
5. Wait until the formatting process begins. The LED then flashes at a
rate of 30ms.
6. The process is completed when the LED lights up continuously. You can
then disconnect the phone and try to turn it on. If the procedure
fails, try again from the beginning.
## Hardware
### Parts needed
- UFS flashing cable or any way to connect the microcontroller to the
corresponding pins on the phone (for example see the [N-Gage cable
schematics](docs/Nokia_N-Gage_cable.pdf)),
- [STM32 blue pill board](http://reblag.dk/stm32/)
- RJ45 Ethernet jack,
- [RJ45 Breakout](https://www.sparkfun.com/products/716),
- 1× 1kΩ and 1× 10kΩ resistor (optional),
- 1× External status LED + dropping resistor (optional).
### Schematic
Note: The voltage divider is almost certainly optional. Alternatively,
you can also set Vpp to 3V3.
[![Schematic](.media/schematic.svg)](docs/WSODFix.pdf?raw=true "Schematic")
## FBus
The FBus is a bi-directional full-duplex serial type bus running at
115,200 bit/s, 8 data bits, no parity, one stop bit (8N1).
### Message structure
```text
[ Header ] [Payload] [xx xx]
[1E xx xx xx xx xx] [Payload] [ CRC ]
[ Header ]
Byte 0 - F-Bus Frame ID
E1 = Message via F-Bus cable
Byte 1 - Destination address
Byte 2 - Source address
00 = Phone
10 = Twister
Byte 3 - Message type / command
15 = Handshake/Auth ?
7F = Acknowledge
58 = Format user area
Byte 4 - Payload size in bytes (MSB)
Byte 5 - Payload size in bytes (LSB)
[ Payload ]
Byte 6 ... - Payload
[ CRC ]
Byte 1 - even checksum byte (all even bytes XORed together)
Byte 2 - odd checksum byte (all odd bytes XORed together)
```
### Formatting the user area
Here is a brief summary of the messages exchanged between the flashing
equipment and the Symbian phone when the user area is formatted.
[![Logic analyser](.media/logic-analyser-tn.jpg)](.media/logic-analyser.jpg?raw=true "Logic analyser")
This description is based on pure observation with the help of a logic
analyser.
```text
SEND 55 55 55 55 55 55 (synchronisation)
ca. 60ms pause
SEND [1E 00 10 15 00 08] [00 06 00 02 00 00 01 60] [0F 79]
RECV [1E 10 00 7F 00 02] [15 00] [0B 6D]
RECV [1E 10 00 15 00 08] [06 27 00 65 05 05 01 (42)] [1C 08]
SEND [1E 00 10 7F 00 02] [15 (02)] [1B 7F]
ca. 16ms pause
SEND [1E 00 10 58 00 08] [00 0B 00 07 06 00 01 41] [09 1D]
RECV [1E 10 00 7F 00 02] [58 01] [46 6C]
ca. 40-50s pause
RECV 55 55 (synchronisation)
RECV [1E 10 00 58 00 08] [0B 38 00 08 00 00 01 (43)] [14 33]
SEND [1E 00 10 7F 00 02] [58 (03)] [56 7E]
```
Surely you have noticed the parenthesised numbers. These vary from run
to run. The Symbian phone sends an initial value between 0x40 and 0x47.
The flashing equipment responds with this number minus 0x40.
Moreover, this number is apparently a kind of frame counter. For
example, if the phone sends an initial 0x42, the next message sent from
the phone to the flasher will contain the number 0x43. After 0x47,
there is an overflow back to 0x40.
This frame counter is implemented in WSODFix, but I do not know if it is
mandatory. The rest of the payload data is completely ignored. The
firmware only checks the message type of the received FBus messages. In
my tests, this was 100% reliable.
Unfortunately FBus is a proprietary protocol developed by Nokia. If you
have detailed specifications that you would like to share with me, I
would greatly appreciate it. This would also help the further
development of this project.
## Installation
1. Install [PlatformIO Core](http://docs.platformio.org/page/core.html)
2. Run these commands:
```bash
# Build project
> platformio run
# Upload firmware
> platformio run --target upload
# Clean build files (optional)
> platformio run --target clean
```
## Licence
This project is licensed under the "The MIT License". See the file
[LICENSE.md](LICENSE.md) for details.
没有合适的资源?快使用搜索试试~ 我知道了~
受臭名昭著的白屏死机影响的Symbian诺基亚手机修复工具_C_Assembly_下载.zip
共25个文件
jpg:6个
readme:3个
dsl:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 67 浏览量
2023-04-28
14:05:36
上传
评论
收藏 8.56MB ZIP 举报
温馨提示
受臭名昭著的白屏死机影响的Symbian诺基亚手机修复工具_C_Assembly_下载.zip
资源推荐
资源详情
资源评论
收起资源包目录
受臭名昭著的白屏死机影响的Symbian诺基亚手机修复工具_C_Assembly_下载.zip (25个子文件)
WSODFix-master
dslogic
Nokia_N-Gage_Format_User_Area_via_WSODFix.dsl 4.38MB
Nokia_N-Gage_Format_User_Area_via_Twister.dsl 1.46MB
fritzing
WSODFix.fzz 12KB
include
README 1KB
lib
README 1KB
LICENSE.md 1KB
.travis.yml 1KB
src
system_stm32f1xx.c 14KB
startup_stm32f103c8tx.s 10KB
stm32f1xx_hal_conf.h 15KB
main.c 16KB
.media
wsodfix.jpg 2.38MB
logic-analyser.jpg 2.67MB
logic-analyser-tn.jpg 193KB
twister-tn.jpg 183KB
twister.jpg 2.9MB
wsodfix-tn.jpg 183KB
schematic.svg 115KB
docs
Nokia_N-Gage_cable.pdf 14KB
WSODFix.pdf 23KB
platformio.ini 883B
test
README 504B
.gitignore 125B
firmware
firmware.bin 7KB
README.md 7KB
共 25 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9156
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Flume进阶-自定义拦截器jar包
- Dubins曲线算法讲解和在运动规划中的使用.pdf
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.dta
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.xlsx
- Reeds+Shepp曲线算法讲解和实现.pdf
- 毕业设计基于SpringBoot+MyBatisPlus+MySQL+Vue的外卖配送信息系统源代码+数据库
- 词向量(Word Embeddings)是自然语言处理(NLP)领域的一种重要技术.txt
- Surfer,线性函数
- MyBatis 的动态 SQL 是其核心特性之一.txt
- 时代的sdddsddsddsd
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功