HTC One S (htc-ville): Difference between revisions
m Updated Architecture, clean up |
m Add type |
||
(22 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox device | {{Infobox device | ||
| manufacturer = HTC | | manufacturer = HTC | ||
Line 7: | Line 6: | ||
| imagecaption = HTC One S | | imagecaption = HTC One S | ||
| releaseyear = 2012 | | releaseyear = 2012 | ||
| originalsoftware = Android 4 | | originalsoftware = Android | ||
| chipset = Qualcomm | | originalversion = 4 | ||
| chipset = Qualcomm Snapdragon S4 Plus (MSM8960) | |||
| cpu = 1,5 GHz Dual-Core | | cpu = 1,5 GHz Dual-Core | ||
| gpu = Adreno 225 | | gpu = Adreno 225 | ||
Line 15: | Line 15: | ||
| memory = 1 GB | | memory = 1 GB | ||
| architecture = armv7 | | architecture = armv7 | ||
| type = handset | |||
| status_usbnet = Y | | status_usbnet = Y | ||
| status_flashing = Y | | status_flashing = Y | ||
| status_touch = Y | | status_touch = Y | ||
| status_screen = Y | | status_screen = Y | ||
| status_wifi = | | status_wifi = Y | ||
| status_xwayland = | | status_xwayland = Y | ||
| status_fde = Y | | status_fde = Y | ||
| status_mainline = | | status_mainline = N | ||
| status_battery = | | status_battery = | ||
| status_3d = | | status_3d = | ||
Line 35: | Line 36: | ||
| booting = yes | | booting = yes | ||
}} | }} | ||
Based on [[Qualcomm Snapdragon S4 Plus (MSM8960)]]. | |||
== Users owning this device == | |||
{{Device owners}} | |||
== Enter fastboot == | |||
Hold {{button|Volume Down}} while booting to go into bootloader mode, then choose Fastboot with {{button|Power}} button. | |||
{{button|Volume Down}} alone is sufficient to get into bootloader mode, e.g. if your device bootloops. If the device is turned off, hold {{button|Volume Down}} and press {{button|Power}}. | |||
Alternatively, use <code>adb reboot bootloader</code> command when running Android. | |||
See https://www.htcdev.com/bootloader/rom_flashing_guide for official instructions. | |||
== Flashing == | |||
Fastboot sometimes refuses to flash the system image, like this | |||
<syntaxhighlight lang="shell-session"> | |||
$ cd /tmp/postmarketOS-export | |||
$ fastboot flash system htc-ville.img | |||
Sending 'system' (990208 KB) FAILED (remote: 'data length is too large') | |||
fastboot: error: Command failed | |||
</syntaxhighlight> | |||
It is possible to try using <code>-S</code> option of <code>fastboot flash</code> command to break the image into smaller chunks. | |||
The device always reboots after flashing the system partition, so you have to flash the kernel first. | |||
A more reliable way to flash the system partition is to use TWRP recovery. Compress the images and upload them to <code>/sdcard</code>: | |||
<syntaxhighlight lang="shell-session"> | |||
$ pmbootstrap export | |||
$ cd /tmp/postmarketOS-export | |||
$ xz <htc-ville.img >htc-ville.img.xz | |||
$ adb push htc-ville.img.xz /sdcard | |||
$ rm htc-ville.img.xz | |||
</syntaxhighlight> | |||
Then, in <code>adb shell</code>, execute: | |||
<syntaxhighlight lang="shell-session"> | |||
$ xz -d </sdcard/htc-ville.img.xz >/dev/block/mmcblk0p33 | |||
</syntaxhighlight> | |||
Be very careful, number of partition ( mmcblk0<strong>p33</strong> ) can be different, check it with <code>adb shell readlink /dev/block/platform/msm_sdcc.1/by-name/system</code>! | |||
The following trick does not work, at least with TWRP 3.5.1_9-0: | |||
<syntaxhighlight lang="shell-session"> | |||
$ pmbootstrap export | |||
$ adb push /tmp/postmarketOS-export/htc-ville.img /dev/block/platform/msm_sdcc.1/by-name/system | |||
</syntaxhighlight> | |||
It simply replaces the destination, whether specified as <code>/dev/block/mmcblk0p33</code> (device) or <code>/dev/block/platform/msm_sdcc.1/by-name/system</code> (symlink), with a regular file, instead of pushing to the device. | |||
== LineageOS/CyanogenMod references == | |||
This section contains links to the latest sources used to build LineageOS for this device. It can be used as a reference, for example to lookup the kernel source. | |||
* Downstream kernel: https://github.com/LineageOS/android_kernel_htc_msm8960/tree/cm-14.1 | |||
* Android Device tree: https://github.com/LineageOS/android_device_htc_ville | |||
* Android Common part of device tree: https://github.com/LineageOS/android_device_htc_s4-common (dependency of <code>android_device_htc_ville</code>) | |||
* TWRP recovery: https://github.com/TeamWin/android_device_htc_ville | |||
Proprietary file lists: | |||
* https://github.com/LineageOS/android_device_htc_ville/blob/cm-14.1/device-proprietary-files.txt | |||
* https://github.com/LineageOS/android_device_htc_s4-common/blob/cm-14.1/proprietary-files.txt | |||
* https://github.com/LineageOS/android_device_htc_s4-common/blob/cm-14.1/common-proprietary-files.txt | |||
Proprietary firmware: https://github.com/TheMuppets/proprietary_vendor_htc/tree/cm-14.1 (<code>ville</code> + <code>s4-common</code>) | |||
== Mainlining? == | |||
Mainline Linux has <code>msm8960</code> device tree in <code>arch/arm/boot/dts/qcom-msm8960.dtsi</code>. There is no <code>qcom-msm8690-htc-ville.dts</code> file yet. The only available file to be used as a starting point is <code>qcom-msm8960-cdp.dts</code>, where CDP refers to the Core Development Platform. | |||
Downstream kernel does not provide the device tree, instead relevant <code>board-ville*.c</code> files are stored in <code>arch/arm/mach-msm/htc/ville/</code> and can be used as a reference for mainlining. | |||
== See also == | == See also == | ||
* {{MR|177|pmaports}} Initial merge request | * {{MR|177|pmaports}} Initial merge request | ||
* | * {{MR|2430|pmaports}} Merge request adding armv7 and Wi-Fi firmware | ||
* | * {{Device package|htc-ville}} | ||
* {{Kernel package|htc-ville}} |
Latest revision as of 11:52, 12 September 2024
![]() HTC One S | |
Manufacturer | HTC |
---|---|
Name | One S |
Codename | htc-ville |
Released | 2012 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon S4 Plus (MSM8960) |
CPU | 1,5 GHz Dual-Core |
GPU | Adreno 225 |
Display | 540x960 |
Storage | 16 GB |
Memory | 1 GB |
Architecture | armv7 |
Software | |
Original software | Android |
Original version | 4 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | no |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
Works |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
No data |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Based on Qualcomm Snapdragon S4 Plus (MSM8960).
Users owning this device
Enter fastboot
Hold
while booting to go into bootloader mode, then choose Fastboot with button.alone is sufficient to get into bootloader mode, e.g. if your device bootloops. If the device is turned off, hold and press .
Alternatively, use adb reboot bootloader
command when running Android.
See https://www.htcdev.com/bootloader/rom_flashing_guide for official instructions.
Flashing
Fastboot sometimes refuses to flash the system image, like this
$ cd /tmp/postmarketOS-export
$ fastboot flash system htc-ville.img
Sending 'system' (990208 KB) FAILED (remote: 'data length is too large')
fastboot: error: Command failed
It is possible to try using -S
option of fastboot flash
command to break the image into smaller chunks.
The device always reboots after flashing the system partition, so you have to flash the kernel first.
A more reliable way to flash the system partition is to use TWRP recovery. Compress the images and upload them to /sdcard
:
$ pmbootstrap export
$ cd /tmp/postmarketOS-export
$ xz <htc-ville.img >htc-ville.img.xz
$ adb push htc-ville.img.xz /sdcard
$ rm htc-ville.img.xz
Then, in adb shell
, execute:
$ xz -d </sdcard/htc-ville.img.xz >/dev/block/mmcblk0p33
Be very careful, number of partition ( mmcblk0p33 ) can be different, check it with adb shell readlink /dev/block/platform/msm_sdcc.1/by-name/system
!
The following trick does not work, at least with TWRP 3.5.1_9-0:
$ pmbootstrap export
$ adb push /tmp/postmarketOS-export/htc-ville.img /dev/block/platform/msm_sdcc.1/by-name/system
It simply replaces the destination, whether specified as /dev/block/mmcblk0p33
(device) or /dev/block/platform/msm_sdcc.1/by-name/system
(symlink), with a regular file, instead of pushing to the device.
LineageOS/CyanogenMod references
This section contains links to the latest sources used to build LineageOS for this device. It can be used as a reference, for example to lookup the kernel source.
- Downstream kernel: https://github.com/LineageOS/android_kernel_htc_msm8960/tree/cm-14.1
- Android Device tree: https://github.com/LineageOS/android_device_htc_ville
- Android Common part of device tree: https://github.com/LineageOS/android_device_htc_s4-common (dependency of
android_device_htc_ville
) - TWRP recovery: https://github.com/TeamWin/android_device_htc_ville
Proprietary file lists:
- https://github.com/LineageOS/android_device_htc_ville/blob/cm-14.1/device-proprietary-files.txt
- https://github.com/LineageOS/android_device_htc_s4-common/blob/cm-14.1/proprietary-files.txt
- https://github.com/LineageOS/android_device_htc_s4-common/blob/cm-14.1/common-proprietary-files.txt
Proprietary firmware: https://github.com/TheMuppets/proprietary_vendor_htc/tree/cm-14.1 (ville
+ s4-common
)
Mainlining?
Mainline Linux has msm8960
device tree in arch/arm/boot/dts/qcom-msm8960.dtsi
. There is no qcom-msm8690-htc-ville.dts
file yet. The only available file to be used as a starting point is qcom-msm8960-cdp.dts
, where CDP refers to the Core Development Platform.
Downstream kernel does not provide the device tree, instead relevant board-ville*.c
files are stored in arch/arm/mach-msm/htc/ville/
and can be used as a reference for mainlining.
See also
- pmaports!177 Initial merge request
- pmaports!2430 Merge request adding armv7 and Wi-Fi firmware
- Device package
- Kernel package