Replicant: Issueshttps://redmine.replicant.us/https://redmine.replicant.us/favicon.ico?15984615062016-03-06T19:25:05ZReplicant
Redmine Replicant - Issue #1659 (In Progress): The device pages don't warn about proprietary (and likely ...https://redmine.replicant.us/issues/16592016-03-06T19:25:05ZPaul Kocialkowskipaulk@replicant.us
<p>Most of the devices currently supported by Replicant (except the GTA04) support TrustZone, which is likely used on most devices. It is likely the reason why manufacturers enforce signed bootloaders while allowing unsigned kernels to run.</p>
<p>TrustZone TEE runs in parallel to and with greater privileges than the regular operating system (Replicant). Since it is proprietary and stored with/loaded by the (signed) bootloader, it is a great threat to both freedom and privacy/security. TrustZone is often used to allow decoding DRM contents without any possibility for the user</p>
However, since little is known about TrustZone TEE implementations (and exactly how it's loaded, how it's contacted), we should do some research about:
<ul>
<li>Whether there are TrustZone bindings in the kernel (e.g. related to DRM decoding).</li>
<li>How the (signed) bootloaders load the TrustZone TEE image and where it is stored. If not part of the bootloader image, knowing whether it is signed would be crucial.</li>
</ul>
<p>Looking at some documentation and known free implementations for that could help (ARM's reference trusted firmware). Some platforms and devices come with more documentation about TrustZone (e.g. i.MX53 and USB armory, Tegra X1).</p> Replicant - Issue #951 (Closed): Preferred Network Offload leaks known SSIDshttps://redmine.replicant.us/issues/9512014-07-17T14:37:39ZPaul Kocialkowskipaulk@replicant.us
<p>EFF article about the issue: <a class="external" href="https://www.eff.org/deeplinks/2014/07/your-android-device-telling-world-where-youve-been">https://www.eff.org/deeplinks/2014/07/your-android-device-telling-world-where-youve-been</a><br />XDA-Developers thread: <a class="external" href="http://forum.xda-developers.com/showthread.php?t=2780902">http://forum.xda-developers.com/showthread.php?t=2780902</a><br />Patch at OmniROM: <a class="external" href="https://gerrit.omnirom.org/#/c/7971/">https://gerrit.omnirom.org/#/c/7971/</a></p> Replicant - Issue #705 (Resolved): Incomplete EGL implementationhttps://redmine.replicant.us/issues/7052013-11-12T13:43:32ZPaul Kocialkowskipaulk@replicant.us
Replicant is currently using the fallback Android EGL implementation, which is incomplete. The missing features of this implementation cause multiple issues:
<ul>
<li>Slowness issues on devices with slow CPUs</li>
<li>YUV is not properly supported (only black & white), which forces us to use RGB565 as a preview format on the camera modules. This causes several issues:
* preview-based detection (such as barecodes, QR codes, etc) doesn't work
* panorama feature is broken</li>
<li>Screenshots do not work</li>
<li>Previews of the windows in the tasks switcher are missing</li>
<li>Some applications rely on unimplemented features, such as Firefox, Document Viewer and crash as they are missing</li>
</ul>
There are patches to use llvmpipe with Replicant, and work is ongoing to:
<ul>
<li>investigate how to improve the performances of llvmpipe</li>
<li>investigate how to integrate llvmpipe and libagl at the same time on the device, in a clean way.</li>
</ul> Replicant - Issue #537 (Closed): GTA04 3.0 Kernel missing featureshttps://redmine.replicant.us/issues/5372013-05-20T20:35:22ZPaul Kocialkowskipaulk@replicant.us
<p>Our current GTA04 3.0 kernel is still incomplete and lacks omap3 features.</p>
<p>Suspend/resume is also broken and needs to be fixed. Currently, it fails to go to suspend with such messages:<br /><pre>
<6>request_suspend_state: sleep (0->3) at 93786224369 (2000-01-01 00:04:28.943237303 UTC)
<6>PM: Syncing filesystems ... done.
<7>PM: Preparing system for mem sleep
<4>Freezing user space processes ... (elapsed 0.02 seconds) done.
<4>Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
<7>PM: Entering mem sleep
<7>usb 1-2: unlink qh2-0001/de192bc0 start 1 [2/0 us]
<7>usb 1-2: usb suspend
<7>hub 1-0:1.0: hub_suspend
<7>usb usb1: bus suspend
<7>ehci-omap ehci-omap.0: suspend root hub
<4>td028ttec1_panel_suspend()
<4>gta04_disable_lcd()
<6>PM: suspend of devices complete after 168.334 msecs
<6>PM: late suspend of devices complete after 0.549 msecs
<6>Powerdomain (core_pwrdm) didn't enter target state 1
<6>Powerdomain (usbhost_pwrdm) didn't enter target state 1
<3>Could not enter target state in pm_suspend
<6>PM: early resume of devices complete after 0.305 msecs
<4>td028ttec1_panel_resume()
<4>gta04_enable_lcd()
<7>usb usb2: usb resume
<7>usb usb1: usb resume
<7>ehci-omap ehci-omap.0: resume root hub
<7>hub 2-0:1.0: hub_resume
<7>hub 1-0:1.0: hub_resume
<7>hub 1-0:1.0: port 2: status 0507 change 0000
<7>usb 1-2: usb resume
<7>ehci-omap ehci-omap.0: GetStatus port:2 status 001005 0 ACK POWER sig=se0 PE CONNECT
<7>usb 1-2: finish resume
<7>ehci-omap ehci-omap.0: reused qh de192bc0 schedule
<7>usb 1-2: link qh2-0001/de192bc0 start 1 [2/0 us]
<6>PM: resume of devices complete after 798.767 msecs
<7>PM: Finishing wakeup.
<4>Restarting tasks ...
<7>hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
<7>hub 1-0:1.0: state 7 ports 3 chg 0000 evt 0000
<6>wakeup wake lock: KeyEvents
<4>done.
<3>omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
<6>suspend: exit suspend, ret = -1 (2000-01-01 00:04:34.907165525 UTC)
<6>active wake lock mmc1_detect
<4>------------[ cut here ]------------
<4>WARNING: at /data/Projets/replicant/replicant-4.0/kernel/goldelico-3.0/gta04/drivers/regulator/core.c:1406 _regulator_disable+0x60/0x170()
<4>unbalanced disables for dummy
<4>Modules linked in:
<4>[<c00799c0>] (unwind_backtrace+0x0/0xf0) from [<c009d5fc>] (warn_slowpath_common+0x4c/0x64)
<4>[<c009d5fc>] (warn_slowpath_common+0x4c/0x64) from [<c009d694>] (warn_slowpath_fmt+0x2c/0x3c)
<4>[<c009d694>] (warn_slowpath_fmt+0x2c/0x3c) from [<c026adac>] (_regulator_disable+0x60/0x170)
<4>[<c026adac>] (_regulator_disable+0x60/0x170) from [<c026aeec>] (regulator_disable+0x30/0x6c)
<4>[<c026aeec>] (regulator_disable+0x30/0x6c) from [<c037b624>] (omap_hsmmc_235_set_power+0xa4/0xf8)
<4>[<c037b624>] (omap_hsmmc_235_set_power+0xa4/0xf8) from [<c037a0ec>] (omap_hsmmc_set_ios+0x70/0x414)
<4>[<c037a0ec>] (omap_hsmmc_set_ios+0x70/0x414) from [<c036a4f0>] (mmc_power_off+0x68/0x6c)
<4>[<c036a4f0>] (mmc_power_off+0x68/0x6c) from [<c036bce8>] (mmc_rescan+0x300/0x370)
<4>[<c036bce8>] (mmc_rescan+0x300/0x370) from [<c00b0544>] (process_one_work+0x254/0x3a4)
<4>[<c00b0544>] (process_one_work+0x254/0x3a4) from [<c00b2da0>] (worker_thread+0x21c/0x418)
<4>[<c00b2da0>] (worker_thread+0x21c/0x418) from [<c00b6738>] (kthread+0x80/0x88)
<4>[<c00b6738>] (kthread+0x80/0x88) from [<c0075350>] (kernel_thread_exit+0x0/0x8)
<4>---[ end trace b8775e0155c2d40e ]---
<6>PM: Syncing filesystems ... done.
<7>PM: Preparing system for mem sleep
<4>Freezing user space processes ... (elapsed 0.02 seconds) done.
<4>Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
<7>PM: Entering mem sleep
<7>usb 1-2: unlink qh2-0001/de192bc0 start 1 [2/0 us]
<7>usb 1-2: usb suspend
<7>hub 2-0:1.0: hub_suspend
<7>usb usb2: bus suspend
<7>hub 1-0:1.0: hub_suspend
<7>usb usb1: bus suspend
<7>ehci-omap ehci-omap.0: suspend root hub
<4>td028ttec1_panel_suspend()
<4>gta04_disable_lcd()
<6>PM: suspend of devices complete after 176.849 msecs
<6>PM: late suspend of devices complete after 0.488 msecs
<6>Powerdomain (core_pwrdm) didn't enter target state 1
<6>Powerdomain (usbhost_pwrdm) didn't enter target state 1
<3>Could not enter target state in pm_suspend
<6>PM: early resume of devices complete after 0.274 msecs
<4>td028ttec1_panel_resume()
<4>gta04_enable_lcd()
<7>usb usb2: usb resume
<7>usb usb1: usb resume
<7>ehci-omap ehci-omap.0: resume root hub
<7>hub 2-0:1.0: hub_resume
<7>hub 1-0:1.0: hub_resume
<7>hub 1-0:1.0: port 2: status 0507 change 0000
<7>usb 1-2: usb resume
<7>ehci-omap ehci-omap.0: GetStatus port:2 status 001005 0 ACK POWER sig=se0 PE CONNECT
<7>usb 1-2: finish resume
<7>ehci-omap ehci-omap.0: reused qh de192bc0 schedule
<7>usb 1-2: link qh2-0001/de192bc0 start 1 [2/0 us]
<6>PM: resume of devices complete after 783.416 msecs
<7>PM: Finishing wakeup.
<4>Restarting tasks ...
<7>hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
<7>hub 1-0:1.0: state 7 ports 3 chg 0000 evt 0000
<6>wakeup wake lock: KeyEvents
<4>done.
<3>omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
<6>suspend: exit suspend, ret = -1 (2000-01-01 00:04:36.879028315 UTC)
<6>active wake lock mmc1_detect
<4>------------[ cut here ]------------
<4>WARNING: at /data/Projets/replicant/replicant-4.0/kernel/goldelico-3.0/gta04/drivers/regulator/core.c:1406 _regulator_disable+0x60/0x170()
<4>unbalanced disables for dummy
<4>Modules linked in:
<4>[<c00799c0>] (unwind_backtrace+0x0/0xf0) from [<c009d5fc>] (warn_slowpath_common+0x4c/0x64)
<4>[<c009d5fc>] (warn_slowpath_common+0x4c/0x64) from [<c009d694>] (warn_slowpath_fmt+0x2c/0x3c)
<4>[<c009d694>] (warn_slowpath_fmt+0x2c/0x3c) from [<c026adac>] (_regulator_disable+0x60/0x170)
<4>[<c026adac>] (_regulator_disable+0x60/0x170) from [<c026aeec>] (regulator_disable+0x30/0x6c)
<4>[<c026aeec>] (regulator_disable+0x30/0x6c) from [<c037b624>] (omap_hsmmc_235_set_power+0xa4/0xf8)
<4>[<c037b624>] (omap_hsmmc_235_set_power+0xa4/0xf8) from [<c037a0ec>] (omap_hsmmc_set_ios+0x70/0x414)
<4>[<c037a0ec>] (omap_hsmmc_set_ios+0x70/0x414) from [<c036a4f0>] (mmc_power_off+0x68/0x6c)
<4>[<c036a4f0>] (mmc_power_off+0x68/0x6c) from [<c036bce8>] (mmc_rescan+0x300/0x370)
<4>[<c036bce8>] (mmc_rescan+0x300/0x370) from [<c00b0544>] (process_one_work+0x254/0x3a4)
<4>[<c00b0544>] (process_one_work+0x254/0x3a4) from [<c00b2da0>] (worker_thread+0x21c/0x418)
<4>[<c00b2da0>] (worker_thread+0x21c/0x418) from [<c00b6738>] (kthread+0x80/0x88)
<4>[<c00b6738>] (kthread+0x80/0x88) from [<c0075350>] (kernel_thread_exit+0x0/0x8)
<4>---[ end trace b8775e0155c2d40f ]---
<6>PM: Syncing filesystems ... done.
<7>PM: Preparing system for mem sleep
<4>Freezing user space processes ... (elapsed 0.02 seconds) done.
<4>Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
<7>PM: Entering mem sleep
<7>usb 1-2: unlink qh2-0001/de192bc0 start 1 [2/0 us]
<7>usb 1-2: usb suspend
<7>hub 2-0:1.0: hub_suspend
<7>usb usb2: bus suspend
<7>hub 1-0:1.0: hub_suspend
<7>usb usb1: bus suspend
<7>ehci-omap ehci-omap.0: suspend root hub
<4>td028ttec1_panel_suspend()
<4>gta04_disable_lcd()
<6>PM: suspend of devices complete after 175.537 msecs
<6>PM: late suspend of devices complete after 0.488 msecs
<6>Powerdomain (mpu_pwrdm) didn't enter target state 1
<6>Powerdomain (neon_pwrdm) didn't enter target state 1
<6>Powerdomain (core_pwrdm) didn't enter target state 1
<6>Powerdomain (dss_pwrdm) didn't enter target state 1
<6>Powerdomain (per_pwrdm) didn't enter target state 1
<6>Powerdomain (usbhost_pwrdm) didn't enter target state 1
<3>Could not enter target state in pm_suspend
<6>PM: early resume of devices complete after 0.305 msecs
<4>td028ttec1_panel_resume()
<4>gta04_enable_lcd()
</pre></p>
<p>And it goes on and on without going to suspend. The main issue seems to be "usbhost_pwrdm" not being put in target state.</p>
<p>On the p-android-omap3-3.0 kernel from omapzoom, suspend/resume works nicely and produces such messages:<br /><pre>
<6>request_suspend_state: sleep (0->3) at 50088989263 (2000-01-01 00:09:55.444274906 UTC)
<6>PM: Syncing filesystems ... done.
<7>PM: Preparing system for mem sleep
<4>Freezing user space processes ... (elapsed 0.02 seconds) done.
<4>Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
<7>PM: Entering mem sleep
<7>usb 1-2: usb suspend
<7>hub 1-0:1.0: hub_suspend
<7>usb usb1: bus suspend
<7>ehci-omap ehci-omap.0: ehci_omap_bus_suspend
<7>ehci-omap ehci-omap.0: suspend root hub
<3>Invalid Device Structure
<4>td028ttec1_panel_suspend()
<4>gta04_disable_lcd()
<6>PM: suspend of devices complete after 189.575 msecs
<6>PM: late suspend of devices complete after 0.823 msecs
</pre><br />and<br /><pre>
<6>PM: early resume of devices complete after 0.396 msecs
<6>wakeup wake lock: event2-1374
<4>td028ttec1_panel_resume()
<4>gta04_enable_lcd()
<7>usb usb2: usb resume
<7>usb usb1: usb resume
<7>ehci-omap ehci-omap.0: ehci_omap_bus_resume
<7>ehci-omap ehci-omap.0: resume root hub
<7>hub 2-0:1.0: hub_resume
<7>hub 1-0:1.0: hub_resume
<6>PM: resume of devices complete after 690.093 msecs
<7>PM: Finishing wakeup.
<4>Restarting tasks ...
<7>hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
<6>request_suspend_state: wakeup (3->0) at 100180908202 (2000-01-01 00:10:52.778015121 UTC)
<7>twl4030_usb twl4030_usb: HW_CONDITIONS 0x50/80; link 0
<7>hub 2-0:1.0: hub_resume
<4>done.
<3>omap_hsmmc omap_hsmmc.1: could not set regulator OCR (-22)
<6>suspend: exit suspend, ret = -1 (2000-01-01 00:10:52.809051498 UTC)
<3>hub 2-0:1.0: activate --> -22
<7>hub 1-0:1.0: state 7 ports 3 chg 0000 evt 0000
<4>------------[ cut here ]------------
<4>WARNING: at /data/Projets/replicant/replicant-4.0/kernel/goldelico-kernels/gta04/drivers/regulator/core.c:1406 _regulator_disable+0x60/0x170()
<7>hub 1-0:1.0: hub_suspend
<7>usb usb1: bus auto-suspend
<7>ehci-omap ehci-omap.0: ehci_omap_bus_suspend
<7>ehci-omap ehci-omap.0: suspend root hub
<7>hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
<7>hub 2-0:1.0: hub_suspend
<4>unbalanced disables for dummy
<4>Modules linked in:
<4>[<c007ca28>] (unwind_backtrace+0x0/0xf0) from [<c00a8eb4>] (warn_slowpath_common+0x4c/0x64)
<7>usb usb2: bus auto-suspend
<4>[<c00a8eb4>] (warn_slowpath_common+0x4c/0x64) from [<c00a8f4c>] (warn_slowpath_fmt+0x2c/0x3c)
<4>[<c00a8f4c>] (warn_slowpath_fmt+0x2c/0x3c) from [<c029c230>] (_regulator_disable+0x60/0x170)
<4>[<c029c230>] (_regulator_disable+0x60/0x170) from [<c029c370>] (regulator_disable+0x30/0x6c)
<4>[<c029c370>] (regulator_disable+0x30/0x6c) from [<c03c4230>] (omap_hsmmc_235_set_power+0xa4/0xf8)
<4>[<c03c4230>] (omap_hsmmc_235_set_power+0xa4/0xf8) from [<c03c2a40>] (omap_hsmmc_set_ios+0x74/0x408)
<4>[<c03c2a40>] (omap_hsmmc_set_ios+0x74/0x408) from [<c03b2d08>] (mmc_power_off+0x68/0x6c)
<4>[<c03b2d08>] (mmc_power_off+0x68/0x6c) from [<c03b45e8>] (mmc_rescan+0x300/0x370)
<4>[<c03b45e8>] (mmc_rescan+0x300/0x370) from [<c00bbd08>] (process_one_work+0x254/0x3a4)
<4>[<c00bbd08>] (process_one_work+0x254/0x3a4) from [<c00be514>] (worker_thread+0x21c/0x418)
<4>[<c00be514>] (worker_thread+0x21c/0x418) from [<c00c1e90>] (kthread+0x80/0x88)
<4>[<c00c1e90>] (kthread+0x80/0x88) from [<c0078390>] (kernel_thread_exit+0x0/0x8)
<4>---[ end trace e53ece62dd004ec8 ]---
</pre></p> Replicant - Issue #525 (Closed): Screenshot and preview in task switcher don't workhttps://redmine.replicant.us/issues/5252013-05-04T12:15:19ZPaul Kocialkowskipaulk@replicant.us
<p>Screenshot and preview in tasks switcher don't work</p> Replicant - Issue #273 (Closed): Keylogger on browser when typing URLhttps://redmine.replicant.us/issues/2732012-10-21T16:02:04ZPaul Kocialkowskipaulk@replicant.us
<p>It seems that every key typed in the URL field on the browser is sent to Google (which returns search suggestions).<br />We should check if it's also the case on the keyboard when suggestions are enabled.</p> Replicant - Issue #189 (Closed): Recovery from system image won't workhttps://redmine.replicant.us/issues/1892012-07-15T10:34:34ZPaul Kocialkowskipaulk@replicant.us
<p>Recovery from system/boot images won't work: find a way to have it working properly. <br />There might be relevant parts in system init code.</p> Replicant - Issue #81 (Rejected): RIL won't survive after killall zygotehttps://redmine.replicant.us/issues/812012-02-21T11:03:00ZPaul Kocialkowskipaulk@replicant.us
<p>It would be nice if the Samsung RIL could survive after killall zygote.</p> Replicant - Issue #75 (Closed): Manual operator selection doesn't workhttps://redmine.replicant.us/issues/752012-02-19T20:31:25ZPaul Kocialkowskipaulk@replicant.us
<p>Manual operator selection doesn't work or has a strange behaviour!</p> Replicant - Issue #69 (Closed): Operator scan doesn't use operator strings from the RIlhttps://redmine.replicant.us/issues/692012-02-19T20:30:13ZPaul Kocialkowskipaulk@replicant.us
<p>The operators on the RIL are the ones from libsamsung-ipc!</p>