Project

General

Profile

PirelliDPL10 » History » Version 20

steve-m, 02/19/2016 10:48 PM

1 1 steve-m
= Pirelli DP-L10 =
2
3
The Pirelli DP-L10 is a tripleband GSM/Wifi VoIP dualmode phone, which was developed by Pirelli Broadband Solutions and manufactured by Foxconn.
4
5
It was branded and sold by quite a few operators:
6
7
 * Pirelli DP-L10
8
 * Arcor Twintel DP-L10
9
 * Telekom TC-300
10
 * sipgate Pirelli Discus !DualPhone DP-L10
11
 * free.fr Black
12
 * Cubic Mobile DP-L10
13
 * Tovo t450g
14
 * Eurotef-M
15
16
The phones are still available as new at various places like eBay, Pollin or rebelsimcard.com.
17 7 steve-m
For more information on the original firmware see the [http://wiki.ip-phone-forum.de/telefone:t-one_tc300:start ip-phone-forum wiki] (german).
18 1 steve-m
19
== Hardware ==
20
21
 * CPU/DBB: TI Calypso (D751992AZHH)
22
 * ABB: TI Iota (TWL3014)
23
 * GSM Transceiver: TI Rita (TRF6151)
24
 * PA: SKY77328-13
25
 * Flash/SRAM: Spansion S71PL129NC0 128MBit/64MBit
26
 * Wifi: Marvell 88W8385 802.11 MAC
27
   * Marvell 88W8015 802.11b/g transceiver
28
 * Winbond W56940 ringtone chip
29
 * Sunplus SPCA552E multimedia controller
30
 * LSI-65194A1 ASIC (seems to be a DSP for VoIP en-/decoding)
31
 * Silabs CP2102 USB UART (connected to UART_IRDA of the Calypso)
32
33 3 steve-m
=== PCB ===
34 1 steve-m
35 3 steve-m
The pcb is labelled with "T60N925", and the Foxconn internal project name seems to be "T60N925.00".[[BR]]
36 17 laforge
There are no schematics of this phone, however, steve-m has grinded down one of those boards, see the pictures of all layers [http://www.steve-m.de/pictures/pirelli_dpl10/ here] or locally at [wiki:PirelliDPL10/PCB].
37 3 steve-m
38 2 steve-m
[[Image(dpl10_front_small.jpg)]][[BR]]
39
[http://www.steve-m.de/pictures/dpl10_front.jpg large version]
40 1 steve-m
41
[[Image(dpl10_back_small.jpg)]][[BR]]
42 3 steve-m
[http://www.steve-m.de/pictures/dpl10_back.jpg large version][[BR]]
43
[http://www.steve-m.de/pictures/rf_frontend.jpg large version of RF part]
44
45 6 steve-m
=== RF path ===
46
47
Since this phone is a tripleband design, it uses 3 rx filters, connected to the respective Rita inputs:
48
49
 * Epcos B7820 for GSM900
50
 * Epcos B7821 for DCS1800
51
 * Epcos B7851 for DCS1900
52
53 13 steve-m
Those are connected to an unknown "T 636 / 5475" antenna switch. The pinout of this switch however is identical with the Panasonic [http://www.panasonic.com/industrial/components/pdf/AEA0000CE1.pdf EZFL897TB11C].
54 6 steve-m
The control voltage inputs of the switch are connected to the TSPACT outputs of the Calypso DBB through a Fairchild NC7NZ34 triple-buffer.
55
56
[[Image(dpl10_buffer.jpg)]]
57
58 9 steve-m
=== Phone as clock generator ===
59
60
The idea to use an OsmocomBB-driven phone as an accurate clock source, e.g. for the USRP, by synchronizing the clock to a cell of a commercial operator was [http://lists.osmocom.org/pipermail/baseband-devel/2010-April/000322.html discussed] on the mailing list a while back. Since the USRP needs an input clock of 52MHz, but the Compal-phones only expose 13 and 26MHz, an external PLL would be required. The DP-L10 however exposes the MCLK/TSPACT11 pin of the Calypso, which is connected through the triple-buffer to the GSM900 TX/Vc3 input of the antenna switch, and thus easily accessible. When the corresponding bit in the MCU_SW_TRACE register is set, this pin outputs the 52MHz clock being fed to the ARM-core, which is phase-locked to the VCTCXO.  See the blue circuit path in the picture above.
61
62
This is the output captured with a 100MHz scope (and thus limited):[[BR]][[BR]]
63
[[Image(mclk_buffered.png)]]
64
65
After synchronizing to a cell with the phone, the frequency error measured by the DSP is in the 0-10Hz range.
66
67 3 steve-m
=== USB/Serial converter ===
68
69
A nice feature of this phone is that it already has an integrated Silabs CP210x USB-UART, which is supported by Linux. Even faster, odd baudrates of the Calypso DBB are supported by this chip, including the maximum 812.500 baud.
70 11 steve-m
Most of the phones seem to use USB vid:pid 0489:e003, which is mainline since Linux 2.6.36 (~~thus, older kernels need to be patched, the cp210x driver doesn't seem to take the vid/pid via modprobe parameters~~).
71 1 steve-m
72 11 steve-m
As someone pointed out on the mailing list, you can do the following for Kernels < 2.6.36:
73
74
{{{
75
# modprobe -v cp210x
76
# echo "0489 e003" > /sys/bus/usb-serial/drivers/cp210x/new_id
77
}}}
78
79 3 steve-m
The DP-L10 has the CalypsoRomloader enabled.
80 4 steve-m
81 8 steve-m
=== JTAG ===
82
83
All JTAG lines, as well as the second uart (UART_MODEM), go to the unpopulated connector next to the display connector.
84
85 10 steve-m
[[Image(dpl10_debug_conn.jpg)]]
86
||pin||signal||
87
||1||Vcc||
88
||2||RX_MODEM||
89
||3||TESTRSTz (Iota)||
90
||4||TDI||
91
||5||TMS||
92
||6||TCK||
93
||7||TX_MODEM||
94
||8||TDO||
95
||9||-nc-||
96
||10||GND||
97 4 steve-m
||11||-nc-||
98
||12||-nc-||
99 1 steve-m
100
== State of support ==
101 4 steve-m
102 20 steve-m
The code which adds support for the Pirelli DP-L10 can be found in master.
103 18 tsaitgaist
104 19 steve-m
What works:
105 4 steve-m
 * RX/TX in GSM900 and DCS1800, PCS1900
106
 * audio path
107
 * SIM-reader
108 20 steve-m
 * keypad, keypad backlight
109 1 steve-m
 * Display with backlight
110 20 steve-m
 * pretty much everything else, except Wifi, ringtone generator, camera and the VoIP accelerator ASIC
111 14 steve-m
112
== Loading procedure ==
113
114
Due to the fact that the phone has a USB charging mode, loading osmocomBB is a bit more complicated:
115
116
1. remove the battery[[BR]]
117
2. plug in USB cable[[BR]]
118
3. start osmocon, for example:
119
{{{
120
./osmocon -p /dev/ttyUSB0 -m romload ../../target/firmware/board/pirelli_dpl10/layer1.highram.bin
121
}}}
122
123
4. put in battery and the code is being loaded. If it should abort, remove the battery, kill osmocon and resume from step 3.
124
125
Without removing the battery the following procedure is possible (without SIM, but it takes longer):
126
127
1. plug in USB cable, the USB charging mode will start[[BR]]
128
2. press and hold the power button, the phone will boot and show "Insert SIM"[[BR]]
129
3. start osmocon[[BR]]
130
4. press and hold the power button, the phone will power off[[BR]]
131
5. the code is being loaded (because after the poweroff Iota triggers a poweron due to the "Charger inserted"-condition, which executes the bootloader)
132
133 15 steve-m
When osmocom is alreday running on the phone and you want to reboot/load an updated version/different application, do the following:
134
135 16 steve-m
1. kill osmocon and start it again[[BR]]
136
3. press the powerbutton to power off the phone[[BR]]
137 15 steve-m
4. the code is being loaded (due to the fact mentioned above)
Add picture from clipboard (Maximum size: 48.8 MB)