HTC Desire Z (htc-vision)

From postmarketOS
HTC Desire Z
HTC Desire Z
HTC Desire Z
Manufacturer HTC
Name Desire Z
Codename htc-vision
Released 2010
Category testing
Original software Android
Original version 2.2 (Linux 2.6.32)
Hardware
Chipset Qualcomm Snapdragon S2 (MSM7230)
CPU 800 MHz Scorpion
GPU Adreno 205
Display 480x800
Storage 1.5 GB
Memory 512 MB
Architecture ARMv7
Features
USB Networking
Works
Flashing
Touchscreen
Works
Display
Partial
WiFi
Works
FDE
Mainline
Broken
Battery
Works
3D Acceleration
Audio
Bluetooth
Camera
GPS
Mobile data
Internal storage
SMS
Calls
USB OTG
NFC
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Barometer
Power Sensor
Misc
Built-in DVB
Camera Flash
Keyboard
Touchpad
USB-A
HDMI/DP
Ir TX
Ir RX
Stylus
Memory Card
Haptics
Ethernet
FOSS bootloader


Contributors

  • mberndt
  • CmdrWgls
  • h3ndrik
  • (everyone on IRC)

Device owners


What works

  • Display (framebuffer), 16 bit color depth
  • Touchscreen
  • Keyboard
  • USB networking
  • vibrator
  • Wifi

What doesn't work

  • 32 bit color depth ("red screen" issue)

Progress

What's been done:

  • device-htc-vision builds
  • linux-htc-vision builds (using milaq's kernel)
  • device boots

Cmdrwgls created pull request !810 with his work. This work was later finished by mberndt in pmaports!132.

Installation Notes

Obviously you need an unlocked bootloader; refer to [1] for instructions about that. S-OFF is not needed.

Installing the rootfs using fastboot doesn't work due to size limitations in the bootloader, therefore if you want to install postmarketOS to the internal memory, do an Android Recovery Zip Installation. postmarketOS is picky when it comes to the recovery. It works with CWM 6.0.5.0, see [2]. It does not work with CWM 6.0.4.5 or TWRP 2.6.3.0.

Next steps

  • test more hardware: audio, camera, radio, bluetooth…
  • probably more firmware blobs are needed to get some of these working

Partition layout

Note that the practical partitions are small. The mmcblk0p25 (system) is 558M, mmcblk0p26 (data) is 1.1G.

For some reason fdisk -l shows overlapping entries. The first 29 partitions seem to be the real ones.

$ fdisk -l /dev/mmcblk0
Omitting partitions after #60. They will be deleted if you save this partition table.
Disk /dev/mmcblk0: 2.1 GiB, 2256535552 bytes, 4407296 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device          Boot   Start     End Sectors  Size Id Type
/dev/mmcblk0p1  *          1    1000    1000  500K 4d QNX4.x
/dev/mmcblk0p2          1001    1128     128   64K 45 unknown
/dev/mmcblk0p3          1129   10128    9000  4.4M 46 unknown
/dev/mmcblk0p4         10129 4407294 4397166  2.1G  5 Extended
/dev/mmcblk0p5         10130   70129   60000 29.3M 49 unknown
/dev/mmcblk0p6         70131   95130   25000 12.2M 50 OnTrack DM
/dev/mmcblk0p7         95132   99227    4096    2M 51 OnTrack DM6 Aux1
/dev/mmcblk0p8         99229  105372    6144    3M 52 CP/M
/dev/mmcblk0p9        105374  109469    4096    2M 53 OnTrack DM6 Aux3
/dev/mmcblk0p10       109471  111518    2048    1M 54 OnTrackDM6
/dev/mmcblk0p11       111520  113567    2048    1M 56 Golden Bow
/dev/mmcblk0p12       113569  131071   17503  8.5M 55 EZ-Drive
/dev/mmcblk0p13       131073  137216    6144    3M 4a unknown
/dev/mmcblk0p14       137218  143361    6144    3M 4b unknown
/dev/mmcblk0p15       143363  145410    2048    1M 74 unknown
/dev/mmcblk0p16       145412  163326   17915  8.7M 75 PC/IX
/dev/mmcblk0p17       163328  163839     512  256K 76 unknown
/dev/mmcblk0p18       163841  165888    2048    1M 47 unknown
/dev/mmcblk0p19       165890  167937    2048    1M 34 unknown
/dev/mmcblk0p20       167939  170498    2560  1.3M 36 unknown
/dev/mmcblk0p21       170500  187901   17402  8.5M 71 unknown
/dev/mmcblk0p22       187903  196094    8192    4M 48 unknown
/dev/mmcblk0p23       196096  196607     512  256K 73 unknown
/dev/mmcblk0p24       196609  200702    4094    2M 26 unknown
/dev/mmcblk0p25       200704 1343486 1142783  558M 83 Linux
/dev/mmcblk0p26      1343488 3577854 2234367  1.1G 83 Linux
/dev/mmcblk0p27      3577856 4192254  614399  300M 83 Linux
/dev/mmcblk0p28      4192256 4234750   42495 20.7M 19 unknown
/dev/mmcblk0p29      4234752 4235263     512  256K 23 unknown
/dev/mmcblk0p30        10130   70129   60000 29.3M 49 unknown
/dev/mmcblk0p31        70131   95130   25000 12.2M 50 OnTrack DM
/dev/mmcblk0p32        95132   99227    4096    2M 51 OnTrack DM6 Aux1
/dev/mmcblk0p33        99229  105372    6144    3M 52 CP/M
/dev/mmcblk0p34       105374  109469    4096    2M 53 OnTrack DM6 Aux3
/dev/mmcblk0p35       109471  111518    2048    1M 54 OnTrackDM6
/dev/mmcblk0p36       111520  113567    2048    1M 56 Golden Bow
/dev/mmcblk0p37       113569  131071   17503  8.5M 55 EZ-Drive
/dev/mmcblk0p38       131073  137216    6144    3M 4a unknown
/dev/mmcblk0p39       137218  143361    6144    3M 4b unknown
/dev/mmcblk0p40       143363  145410    2048    1M 74 unknown
/dev/mmcblk0p41       145412  163326   17915  8.7M 75 PC/IX
/dev/mmcblk0p42       163328  163839     512  256K 76 unknown
/dev/mmcblk0p43       163841  165888    2048    1M 47 unknown
/dev/mmcblk0p44       165890  167937    2048    1M 34 unknown
/dev/mmcblk0p45       167939  170498    2560  1.3M 36 unknown
/dev/mmcblk0p46       170500  187901   17402  8.5M 71 unknown
/dev/mmcblk0p47       187903  196094    8192    4M 48 unknown
/dev/mmcblk0p48       196096  196607     512  256K 73 unknown
/dev/mmcblk0p49       196609  200702    4094    2M 26 unknown
/dev/mmcblk0p50       200704 1343486 1142783  558M 83 Linux
/dev/mmcblk0p51      1343488 3577854 2234367  1.1G 83 Linux
/dev/mmcblk0p52      3577856 4192254  614399  300M 83 Linux
/dev/mmcblk0p53      4192256 4234750   42495 20.7M 19 unknown
/dev/mmcblk0p54      4234752 4235263     512  256K 23 unknown
/dev/mmcblk0p55        10130   70129   60000 29.3M 49 unknown
/dev/mmcblk0p56        70131   95130   25000 12.2M 50 OnTrack DM
/dev/mmcblk0p57        95132   99227    4096    2M 51 OnTrack DM6 Aux1
/dev/mmcblk0p58        99229  105372    6144    3M 52 CP/M
/dev/mmcblk0p59       105374  109469    4096    2M 53 OnTrack DM6 Aux3
/dev/mmcblk0p60       109471  111518    2048    1M 54 OnTrackDM6

Partition table entries are not in disk order.