This is an old revision of the document!
This page is a work in process.
Docomo Phones by Panasonic
Check the dumping hardware overview for a list of known preservation hardware.
If you need help, please come chat with us on the VGPC or No-Intro discord servers.
Introduction
Panasonic Docomo phones generally run on a customized form of Linux. They use a bootloader related to the one used in NEC and Casio Docomo phones. When a Panasonic phone is properly connected to a debug cable, it will light up for approximately one second, and then turn off.
Phone Model | Extractable? | File System/FTL | Tools |
---|---|---|---|
P2101V | No | Unknown | Unknown |
P2102V | Yes | Customized FAT16 + SSR200 (Old Flavor) | fs-tools (SSR200) |
P2002 | Unknown | Unknown | Unknown |
P900i | Yes | Customized FAT16 + SSR200 | fs-tools (SSR200) |
P900iV | Yes | Customized FAT16 + SSR200 | fs-tools (SSR200) |
P700i | Yes | JFFS2 | Jefferson |
P901i | Yes | JFFS2 | Jefferson |
P901iS | Yes | JFFS2 | Jefferson |
P701iD | Yes | JFFS2 | Jefferson |
P851i | Yes | ||
P902i | Yes | Samsung RFS + Cramfs + XSR 1 | fs-tools (XSR1) |
P901iTV | Yes | Samsung RFS + Cramfs + XSR 1 | fs-tools (XSR1) |
P902iS | Yes | ||
P702i | Yes | Samsung RFS + Cramfs + XSR 1 | fs-tools (XSR1) |
P702iD | Yes | ||
P903i | Yes | Samsung RFS + XSR 1 | fs-tools (XSR1) |
P903iTV | Yes | Samsung RFS + XSR 1 | fs-tools (XSR1) |
P903iX HIGH-SPEED | Yes | Samsung RFS + XSR 1 | fs-tools (XSR1) |
P703i | Yes | Samsung RFS + XSR 1 | fs-tools (XSR1) |
P703iμ | Yes | Samsung RFS + XSR 1 | fs-tools (XSR1) |
P904i | Yes | Samsung RFS + XSR 1 | fs-tools (XSR1) |
P704i | Yes | Samsung RFS + XSR 1 | fs-tools (XSR1) |
P704iμ | Yes | Samsung RFS + Cramfs + XSR 1 | fs-tools (XSR1) |
P905i | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR1) |
P705i | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P705iμ | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P705iCL | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P906i | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P706ie | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P706iμ | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-01A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-02A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-03A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-04A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-05A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-06A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-07A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-08A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-09A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-10A | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-01B | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-02B | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-03B | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) (Part F) |
P-04B | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-05B | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) (Part F) |
P-06B | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-07B | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-01C | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) (Part F) |
P-02C | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) |
P-03C | Yes | Samsung RFS + Cramfs + XSR 2 | fs-tools (XSR2) (Part F) |
P-04C | Yes | ||
P-05C | Yes | Samsung RFS + Cramfs + FSR | fs-tools (FSR II) |
P-06C | Yes | Samsung RFS + Cramfs + FSR | fs-tools (FSR II) |
P-03D | Yes | Samsung RFS + Cramfs + FSR | fs-tools (FSR II) |
P-01E | Yes | Samsung RFS + Cramfs + FSR | fs-tools (FSR II) |
P-01F | Yes | None (uses emmc) | None needed |
P-01G | Yes | None (uses emmc) | None needed |
P-01H | Yes | None (uses emmc) | None needed |
Methods
Extracting Data
Reading File Systems
- [[#fs-tools (XSR1)]
- [[#fs-tools (XSR2)]
Ktdumper
Ktdumper is a tool for extracting data from feature phones that are compatible with the Foma debug adapter, which includes all Docomo phones and select SoftBank phones. Please note that ktdumper will not work unless you have the Foma debug adapter.
Ktdumper is compatible with Linux and WSL (Windows System on Linux). It can be used as a command line tool or as a live Linux iso with a GUI.
Ktdumper Command Line
- Make sure your phone is connected to the PC (if using WSL, you will need to bind your USB device)
- Download the ktdumper repository from Github
- Navigate to the main ktdumper folder, where the code will be executed.
- You can execute the following commands
- NAND (contains user data, downloads, etc.)
sudo ./ktdumper.sh [insert phone model] dump_nand
- NOR
sudo ./ktdumper.sh [insert phone model] dump_nor
- JAVA Folder (only works on select Mitsubishi/Fujitsu phones)
sudo ./ktdumper.sh [insert phone model] dump_java
Sample For D904i
sudo ./ktdumper.sh d904i dump_nand
Ktdumper Live Iso
WIP
Reading Data
fs-tools (FSR II)
NOTE: This extraction method may not work on WSL. If you are having errors after trying all steps, try switching from WSL to a full Linux installation.
- Download fs-tools from Github
- Set up the environment with the following commands
sudo apt install gcc-arm-linux-gnueabi pip3 install qiling
- Build the tool with the following commands
arm-linux-gnueabi-gcc -static -omain fsr.ko fsr_stl.ko main.c
- Place onenand.bin and onenand.oob into the fsr_II folder. Then, run the following command
python3 emu.py
fs-tools (SSR200)
Current tools for removing the SSR200 FTL are meant to work on Linux or WSL (Windows Subsystem for Linux)
- Install PyFatFS. You can use pip.
sudo apt-get install python3-pip sudo pip3 install pyfatfs
- Download the fs-tools repository from Github
- PyFatFS must be patched in order to read docomo SSR200. Give install.sh permission to run with the following command:
chmod +x install.
Then run install.sh
sudo ./install.sh
The following steps are different based on whether you are trying to extract SSR200 or SSR200 “Old Flavor”
Regular SSR200
- Copy nand.bin and nand.oob to fs-tools/ssr200. With all files in the folder (nand.bin, nand.oob, and all of the ssr200 fs-tools), run the following command:
python3 run.py nand.bin
SSR200 “Old Flavor”
- Install Sleuthkit
sudo apt install sleuthkit
- Copy nand.bin and nand.oob to fs-tools/ssr200_old_flavor. With all files in the folder (nand.bin, nand.oob, and all of the ssr200 fs-tools), run the following command:
run.sh nand.bin
fs-tools (XSR1)
Current tools for extracting XSR1 require Windows.
- Download rfs_dumper.exe from Github
- The input file should be stripped of everything before the first 91 5A 49 2C header. In HxD, you can do this by going to the menu and selecting Search>Find, then selecting the Hex-values tab and pasting in 91 5A 49 2C. Once you find this location, delete everything before it. Save this new file as input.bin.
- Place onenand.bin, onenand.oob, and rfs_dumper.exe in one folder. Open a terminal in the folder with the dump (onenand + oob) and rfs_dumper.exe. Use the following command:
.\rfs_dumper.exe input.bin output.bin
The file system can now be read and extracted with TestDisk.
fs-tools (XSR2)
NOTE: This extraction method may not work on WSL. If you are having errors after trying all steps, try switching from WSL to a full Linux installation.
- Download fs-tools from Github
- In the XSR2 folder, run the following command
sudo apt install gcc-arm-linux-gnueabi qemu qemu-user-static qemu-system-arm
- Then build with the following command
arm-linux-gnueabi-gcc xsr_stl.ko main.c -o main
- Place onenand.bin and onenand.oob into the XSR2 folder and run the following command based on the type of part
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabi ./main onenand.bin onenand.oob B output.bin
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabi ./main onenand.bin onenand.oob A output.bin
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabi ./main onenand.bin onenand.oob 8 output.bin
After this, you must use TestDisk to acquire the data.