SailfishOS 3 for Photon Q and siblings - Motorola Photon Q 4G LTE

Code:
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it!
SailfishOS 3 for Photon Q
Continuation from 2.0 thread to keep most important information in first post. Thanks to vevgeniev for initial port, without it I would never buy Photon Q.
Repo with my apps is added to image. Packages can by installed via terminal:
Code:
devel-su zypper in "package name"
Images
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
Installation
Download and flash cm-11-20150626-SNAPSHOT-XNG3CAO1L8-moto_msm8960_jbbl.zip via twrp-3.0.2-0-asanti_c.img according to ordinary cm instruction. Use ext4 filesystem for /data partition. Boot to android and make sure everything works.
Download SailfishOS 4 image (open browser in private mode if onedrive ask you to login) and flash it over cyanogenmod. It's compressed tarball so installation may take even 10 minutes.
OTA
Read about Stop Releases and make backup using TWRP
Code:
/usr/share/sfos-moto_msm8960_jbbl-adaptation/upgrade.sh
# after reboot execute pkcon refresh to update all repositories
For any issues with upgrade.sh script download more up-to-date version, add --verbose argument or execute commands from real-upgrade.sh manually: https://build.sailfishos.org/packag...bl:4.4.0.68/sfos-moto_msm8960_jbbl-adaptation
At first boot tracker might slow down phone and eat a lot of storage. If it's too resource hungry move your media files out of device or create .nomedia empty file to exclude particular directory from tracker. Then force reset it:
Code:
tracker reset --hard
Custom Bootlogo
vevgeniev created a custom bootlogo:
Instruction how to use it
Known issues
Half screen mirror glitch occurs sometimes. Blank/unblank display fixes it
Sometimes removing files does not have any effect, i.e. free space doesn't increase and sdcard can't be unmounted. Could be easily triggered by mtp or dd usage. For sdcard access use FileZilla (SFTP).
QProcess:startDetached can hang randomly. Workaround added to fingerterm. Looks like it's bug in Qt and it is not photon q specific: https://together.jolla.com/question/202337/bug-fingerterm-terminal-freezes-after-opening-new-window
There are no 2.XG, 3.XG network indicators.
glReadPixels() return empty content in some cases. This means no screen recording, screenshots and thumbnails in browser. Workaround for screenshots added to lipstick.
All bugs at first boot are features.
FAQ
Q: How to run apk?
A: It's not android, you can't
Q: Can I switch between hardware keyboard layouts?
A: Default xkb layout switch shortcut: "shift + sym". You need to also set second keyboard layout:
dconf write /desktop/lipstick-jolla-home/layout "'us,ru'"
Click to expand...
Click to collapse
In newer releases layouts can be enabled in settings and switched via "shift + space"
Tips
Fast way to restart lipstick:
shift + tab + k
Alt + Tab like switching (if you have sailfishos-alttab-patch installed):
OK + tab
To disable volume media keys:
dconf write /apps/photonq-helper/mediaKeysEnabled 0
batt_health can cause reported battery capacity decrease which I am not sure works correctly at least on my aging battery. It's disabled since 3.3.0 in 2 places in /init.target.rc. Therefore btry will not report Aged Capacity anymore.
To use h264 (hardware accelerated) decoder in youtube set in about:config media.mediasource.webm.enabled to false
user name is still 'nemo' instead 'defaultuser' even for latest releases
Changelog
4.4.0.68
* Partially usable browser. Javascript doesn't cause crash on almost all sites like in 4.0-4.3 sfos. Tabs in landscape mode are unusable.
* Using browser probably breaks video encoding/decoding ('vid_dec_open() max number of clientslimit reached' in dmesg). Killing minimediaservice/browser usually helps.
* Disabled sailjail, and enabled start up boosters back.
* Few general sfos bugs more (see patchmanager catalogue for my patches)
4.3.0.15 - No for daily use, just required Stop Release
4.2.0.21 - No for daily use, just required Stop Release
4.1.0.24 - No for daily use, just required Stop Release
4.0.1.48
Broken browser
3.4.0.24 - Latest usable version
Fix memory leak when taking screenshot
Add workaround for remembering wlan state after reboot in airplane mode
Media keys works only in locked screen
3.3.0.16
NFC pn544 plugin added
batt_health disabled in /init.target.rc
glibc 2.30, gcc 8.3
3.1.0.12
kernel: hold volume up/down to select next/previous song
droid-hal-init: disable mpdecision due to constant cpu usage
3.0.3.9
Patch glibc for 3.0 kernel
3.0.2.8
Handle system and data partition automatically
New methods to wake up sensors
3.0.1.11
kernel: Fix crashes caused by new firewall rules
kernel: Experimental multi LUNs support
droidmedia: Fix random audio/video fail in browser
usb-moded: Mass storage was dropped in upstream. Use patched one
Click to expand...
Click to collapse
XDA:DevDB Information
SailfishOS 3 for Photon Q, ROM for the Motorola Photon Q 4G LTE
Contributors
elros34, vevgeniev
Source Code: https://github.com/elros34?utf8=✓&tab=repositories&q=msm8960&type=&language=
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.0.x
Based On: CyanogenMod
Version Information
Status: Alpha
Created 2018-11-23
Last Updated 2019-08-20

Thanks for maintaining this for our devices @elros34
I have been meaning to try Sailfish for some time on my RAZR HD (xt926) and i finally got around to it the other day only to find that it wont boot up.
As per the 2.0 thread i can flash CM11 and that will boot and work fine but once i flash Sailfish over the top it wont boot past the bootloader unlocked logo. I have tried both the xt907 and photonq zips but neither will boot.
The xt907 zip did shown some signs of something happening since the led would light up either orange or white but after leaving it for 45 mins with no other signs of life i gave up on it.
Please find attached a list of my device drivers using the following command:
Code:
ls -alR /dev
Are there any chances of this running on my xt926 ?

Thanks, so it has xt907 like partition table, you can't use photon q image. LED glowing means system is booting.
Boot to TWRP then:
Code:
rm /data/.stowaways/sailfishos/init_disable_telnet
Now reboot, connect phone to usb and telnet to it:
Code:
telnet 192.168.2.15 2323
In windows you can use putty but it's hard to copy logs from it.
Then wait a while so logs are complete and run:
Code:
dmesg
journalctl --no-page
logcat
evdev_trace -I

elros34 said:
Thanks, so it has xt907 like partition table, you can't use photon q image. LED glowing means system is booting.
Boot to TWRP then:
Code:
rm /data/.stowaways/sailfishos/init_disable_telnet
Now reboot, connect phone to usb and telnet to it:
Code:
telnet 192.168.2.15 2323
In windows you can use putty but it's hard to copy logs from it.
Then wait a while so logs are complete and run:
Code:
dmesg
journalctl --no-page
logcat
evdev_trace -I
Click to expand...
Click to collapse
Thanks @elros34
Please find attached the various logs from my xt926.
Note i'm still running Sailfish 2.1.3.7, i figured it would be easier to start with that but if needed i can re-run these on 3.0.0.8
I have no idea what most of it means for the most part but a few errors did stand out to me in particular
Code:
Dec 12 20:20:16 Sailfish systemd[1407]: Failed to start The lipstick UI.
Could this possibly explain why its not booting any further?

Lipstick fails to start because xt926 use different touchscreen driver. Change "/dev/touchscreen" to "/dev/input/event1" in /var/lib/environment/compositor/droid-hal-device.conf
Also paste output of:
Code:
udevadm info -a /dev/input/event1

elros34 said:
Lipstick fails to start because xt926 use different touchscreen driver. Change "/dev/touchscreen" to "/dev/input/event1" in /var/lib/environment/compositor/droid-hal-device.conf
Also paste output of:
Code:
udevadm info -a /dev/input/event1
Click to expand...
Click to collapse
Thanks @elros34 its working now after changing the touchscreen driver boots up fine. I'm not seeing any immediate issues but will see how i get on with it. First impressions are very good, a really nice os i'm actually surprised at how fast and fluid it is.
Here is the output of
Code:
udevadm info -a /dev/input/event1
Code:
sh-3.2# udevadm info -a /dev/input/event1
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/i2c-3/3-0048/input/input1/event1':
KERNEL=="event1"
SUBSYSTEM=="input"
DRIVER==""
looking at parent device '/devices/i2c-3/3-0048/input/input1':
KERNELS=="input1"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{name}=="melfas-ts"
ATTRS{phys}=="3-0048/input0"
ATTRS{properties}=="2"
ATTRS{uniq}==""
looking at parent device '/devices/i2c-3/3-0048':
KERNELS=="3-0048"
SUBSYSTEMS=="i2c"
DRIVERS=="melfas-ts"
ATTRS{drv_debug}=="Debug Setting: 0"
ATTRS{drv_reset}=="Reset: HIGH"
ATTRS{hw_irqstat}=="Interrupt line is HIGH."
ATTRS{ic_reflash}=="No firmware loading in progress."
ATTRS{irq_enabled}=="Interrupt: 1"
ATTRS{latency_debug}=="Latency Debug Setting: 0"
ATTRS{latency_times}==""
ATTRS{latency_values}=="Touch Latency Time: Average 0uS, High 0uS,0 interrupts of 0 were slow"
ATTRS{name}=="melfas-ts"
looking at parent device '/devices/i2c-3':
KERNELS=="i2c-3"
SUBSYSTEMS=="i2c"
DRIVERS==""
ATTRS{name}=="QUP I2C adapter"
I'll also see if i can convert some of the other xt925 and xt926 users for testing.

Absolutely love this - haven't had a single problem yet. Thank you so much elros34.

Could somebody check what "getprop ro.product.device" returns for xt926 or xt907 with sailfish installed?

mounting /dev/mmcblk0p39 on /data failes
Hi,
at first i would like to thank you for building SFOS3 for the Photon Q series, i bought another XT907 to finally get SF running on this pretty nice and tiny handset.
As @drkdeath5000 i stuck at the bootloader unlocked screen but with another problem as the touchscreen driver for his XT926.
I think it's a problem with the partition table here the error from /init.log
mount: mounting /dev/mmcblk0p39 on /data failed: No such file or directory
I followed the installation instructions you provided and flashed cm11, which is booting without issues. I already tried it with and without wiping dalvik/cache, with and without booting to cm11 first. So i would really appreciate your help. If i can provide some more detail just tell me.
Best regards
André

rkdeath5000 get further because he used old xt907 image, you can't use photon q image in XT907.
I have tried to support all devices in one image. I even prepared untested script to update kernel but need a nice way to distingnues between devices. No feedback so far.
Few days ago I came up with different an idea how to auto detect correct partitions in all devices but so far I am struggling with some serious issue in 3.0.2 so I am not sure when I will release it.

elros34 said:
Could somebody check what "getprop ro.product.device" returns for xt926 or xt907 with sailfish installed?
Click to expand...
Click to collapse
On my XT907 it returns scorpion_mini

Thank you for your fast response,
as you recommended Version Alpha3 is running but of course i would like to run SFOS3 So i would like to help you in any way possible.
Best regards
André

If you could test whether this image works (boots without issue and touchscreen works) then it would be great. This is image I just built with new method to detect correct partitions but without all needed patches for middleware so other bugs are not important for now.

Thank you so much! I can hardly tell you how happy you made me I always wanted i tiny handset running on SFOS and finally after i already had given up on that your rom make it happen.
I just started some basic testing on it, as i want to wait for the screen protector before starting to really use it so i'll give you a feedback on the rom later.

3.0.2.8 Released as OTA and new image probably for all moto_msm8960_jbbl devices.
Also I created new patch for Alt+Tab (OK + Tab key) like switching between windows. It's added to my obs repo.

So far the new version alpha9 installs without issues on the XT907. Right now i have just one problem, as in version alpha8 I'm not able to send text messages (SMS). I tried different sim cards from two different networks, so i think it's a problem within the ROM. How could i help you on this? Maybe collecting some logs?

What about Alpha3 or android? To boot android you don't have to flash whole system, just boot cm11 kernel via fastboot. Have you tried to set "Prefer 3G" in cellular settings?
To get most basic logs, reboot phone and try to send sms, then:
Code:
dmesg
journalctl --no-page
logcat -b radio
If it's something more serious then you will need to follow:
https://jolla.zendesk.com/hc/en-us/articles/203761078-How-to-collect-SMS-logs-

Thanks so much for 3.0.2.8 - works great. Really hope you're able to give us a 3.0.3 with the updated browser.
Don't know if you have any interest/knowledge on Maemo Leste or PMOS, but since you're the most knowledgeable person on the Photon Q, just wondered if you could hazzard a guess as to how possible it might be to get them working on this device further down the line?
Thanks again.

Yes, updated browser is tempting so I will definitely bring 3.0.3 when it will be available for ported devices.
Unfortunately I have never ported Leste or Postmarketos so I have limited knowledge here.
With Photon there are several issue like: no sim without modification and no flex cable to buy. Also we are stuck with android drivers and ancient 3.0 kernel with no chance for upstream. It means to run anything (in usable form) other than android we need libhybris. I think there are better devices with more active developers for these systems: droid 4 - have ongoing upstream efforts, Fxtec pro1 for sure will have 4.x or even 5.x kernel. That's why you will not find photon in actively supported devices in postmarketos or leste site.
- Leste use hildon-desktop (x window manager) so it would be probably not trivial to get libhybris based ui acceleration if it's possible at all. Is that os even daily usable?
- After a quick read of Postmarketos wiki looks like it support wayland based compositor like weston so it is a good sign. I was able to run libhybris accelerated weston in ubuntu chroot in sailfish. It has some touch issues but it may be because I run it nested in lipstick. From what I understand if device doesn't have upstream kernel then postmarketos requires ported halium and lxc containers. That might be not possible because of 3.0 kernel but you will never know until you try.
Take everything I said with a grain of salt and start porting. For halium you will probably need newer base than cm11. There are few important commits which are needed otherwise kernel will not work.

SMS issue could be general ofono bug: https://together.jolla.com/question...installing-3028/?answer=205366#post-id-205366
Jolla is focused on android8 base so older bases are neglected. Upstream libhybris is also broken for hybris-11 base.

Related

[ Q&A Troubleshooting ] Dirty Unicorns 4.4.4 [Falcon]

[SIZE=+2]This thread has been created
for
• Questions • Answers • Troubleshooting •[/SIZE]​
[SIZE=+2]Dealing with ► Dirty Unicorns ◄ ► Moto G Falcon ◄[/SIZE]
[SIZE=+2]Please feel free to share issues, questions and offer help[/SIZE]
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
[SIZE="+2"]
>> [ROM] [OFFICIAL] Thread: >> Link Here <<[/SIZE]
.
[SIZE=+2]Please Do not clutter the Development thread with non related development chatter[/SIZE]
[SIZE=+2]
Please read the OP in dev thread carefully, it has some very important info in it.[/SIZE]
​
[SIZE="+1"]Please keep discussion focused, on the topic described in the OP[/SIZE]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​
[SIZE=+3]
Please provide ► exact Version and Date ◄ of ROM
Please provide ► exact Version and Date ◄ of Recovery
Please provide ► exact Version and Date ◄ of Kernel
[/SIZE]​
Repost:::
[SIZE="+2"]How to report bugs, the proper way ![/SIZE]
http://therealmofu.com/wp/?p=644
Credit:: by TheRealMofu
Credits:
Indirect for his guide
FuzzyMeep Two for his Windows Logcat Tool
[SIZE="+2"]
Connecting your device through adb on Windows/Ubuntu:[/SIZE]​
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
[SIZE="+1"]Windows:[/SIZE]
On your PC you need to be logged in as an administrator for doin this and make sure that you activated “USB Debugging” in Settings/Developer Options on your phone !!!
Connect your phone with the USB cable to the PC and select MTP mode
Open the Windows command prompt, which you also can open through pressing Win + R on your keyboard
Now type:
Code:
cmd
Now change into the folder you installed adb, for example:
cd c:\adb
Now were we are in the correct folder, type:
Code:
adb
Now you see a lot of commands appering, and when done, type:
Code:
adb devices
and your phone (Device-ID) should be listed in there, that’s it
[SIZE="+1"]Ubuntu:[/SIZE]
Make sure that you activated “USB Debugging” in Settings/Developer Options on your phone !!!
Connect your phone with the USB cable to the PC and select MTP mode
In terminal type:
Code:
cd (TOOLS_PATH)/android-tools
Then issue the following:
Code:
./adb devices
That’s it
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​
[SIZE="+2"]These are the options for reporting a bug:[/SIZE]​
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
[SIZE="+1"]Section 1 | Logcat:[/SIZE]
This log should almost always be included just because it provides more info than just saying something doesn’t work. It will essentially tell you which apps are crashing and why and it also gives output of what they’re doing. (Your system is running through apps, the dialer, wireless radio’s, etc are all ran through apps.) so, if something is general, like a system force close, please just include a logcat.
How to get a logcat:
Well, this is REALLY simple, all you need to do is just get adb up and running (google how to do that, I don’t feel like writing a ‘how to use adb’ tutorial for everyone’s phone.) and then type
Code:
adb logcat
then you just right click, select, and paste to
http://pastebin.com/
http://logcat.us/
http://paste.ubuntu.com/
and provide the link in the thread/post.
It’s really that simple!
For Windows users i found an self explaining noob friendly program called Windows Logcat tool 4.0
[SIZE="+1"]Section 2 | Dmesg:[/SIZE]
This is getting into issues such as wifi not working, sleep of death, etc. Basically, things that make us go “OH F***” when we use our devices. Note: You will need adb access for this to work, same as logcat.
What this will do is get us live kernel output so we can know things like “What driver is the kernel loading {or not loading for that matter}” and similar things. This is linux, so kernel output is important if a hardware aspect isn’t working right.
How to get a dmesg:
This is simple as well, no matter what operating system you’re on (mac, windows, linux) just type
Code:
adb shell dmesg > dmesg.txt
and then it will have written the output to a .txt file in your current directory. Either paste the contents to the thread, or attach it to your post.
You can also get the dmesg by using terminal emulator. Instead though, you dont type adb shell, you need to also include it to somewhere you will be able to save it. Like /sdcard so, the command goes
Code:
dmesg > /sdcard/dmesg.txt
Just get it off your sdcard and get the contents to the developer!
[SIZE="+1"]Section 3 | last_kmsg:[/SIZE]
Ok, the last thing is last_kmsg. When android kernels crash, they right to last_kmsg so then you can find out what’s going on. This is usually for issues such as random reboots and other various kernel panic symptoms. A kernel panic happens when the kernel tries to do something it can’t. It doesn’t mean wrong permissions, it could just have errored out on something and died which can cause a few things. Anyway, developers REALLY need this if debugging a kernel because it gives us a viable way to see WHAT it’s trying to do instead of trying to guess what it is trying to do
How to get a last_kmsg:
This is super simple and the same on all phones no matter what, what you need is adb up and running (or terminal emulator) and either in adb shell, or terminal emulator just type
Code:
cat /proc/last_kmsg > /sdcard/last_kmsg.txt
or you can do
Code:
adb shell cat /proc/last_kmsg > kmsg.txt
and that will write it to your current working directory from cmd.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​
[SIZE="+2"]Here is another great instruction tutorial link:[/SIZE]
[SIZE="+2"][WIN][TUTORIAL]HOW TO USE ADB,DDMS AND TAKE A LOGCAT {pictorial explanation} [/SIZE]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​
It's been noticed that sometimes during the install of this it will take a long time to flash.
Just be aware of this known issue
It happens during the format /system of the device
it happens even on the current newest TWRP 2.8.0.1 or twrp-2.8.0.1-xt1032.zip
and sometimes it even happens if you have manually formatted /system in advanced mode
Normal install time ranges from :30 seconds to 1:00 Minute
longer times have ranged with older TWRP recoveries or CWM or Phil's anywhere from 3:00 minutes to 10:00 Minutes
TeamMex has reported that is is most likely an updater-binary issue
reversegear has tested and posted a workaround for those wishing to mod their copy of the ROM
or you can choose to wait out the extra time needed to install this awesome ROM.
one more to hold
Just wanted to say THANK YOU @hhp_211 for creating this thread so that the development thread could possibly level out and get back to where it original was headed
I get the first question. I finally decided to try this out. I'm using the latest official version of CWM; 6.0.4.7 touch. I can report that it did take maybe 5 min to flash the ROM from start to finish. After the first boot, i rebooted to recovery and I then flashed the GAPPs, DU_TBO_GAPPS. I noticed that upon reboot, and signing into my Google account, that the ROM didn't automagically start downloading all my apps from the play store. Is there a setting that I needed to have set?
I went ahead and restored my backup for the time being. The ROM looked nice and smooth.
Thank you.
Sent from my XT1034 using Tapatalk
alfick3 said:
I get the first question. I finally decided to try this out. I'm using the latest official version of CWM; 6.0.4.7 touch. I can report that it did take maybe 5 min to flash the ROM from start to finish. After the first boot, i rebooted to recovery and I then flashed the GAPPs, DU_TBO_GAPPS. I noticed that upon reboot, and signing into my Google account, that the ROM didn't automagically start downloading all my apps from the play store. Is there a setting that I needed to have set?
I went ahead and restored my backup for the time being. The ROM looked nice and smooth.
Thank you.
Sent from my XT1034 using Tapatalk
Click to expand...
Click to collapse
I believe that is a modded apk to be that way
to change go to
Play Store::Settings::Auto-update apps::
and choose your preferred method
@hhp_211, thanks. I didn't think about going into the play store and looking at the settings. I'm used to other GAPPs packages where it just automatically installs my apps from previous ROMs or phones.
Sent from my XT1034 using Tapatalk
I re-installed today, after flashing the latest TWRP (2.8.0.1). I wiped system, data, cache and dalvik cache. I did not wipe my internal SD card. This time I flashed the ROM, then flashed the GAPPs right away instead of booting into the ROM first. Upon reboot, it asked me to sign into my Google account, and then automagically started to download my apps. So far, so good; although it's constantly giving me a "Unfortunately, OmniSwitch has stopped". After all my apps have downloaded, I'll do a reboot and see.
Is it possible to have FM radio app? Zip? Or it is completely unsupported? I'd rather not to buy a third party app.
Thanks in advance
i have a problem with the BACK soft button in landscape, whenever i press it (and in landscape) it goes to "google now"
i dont know what causes this issue right now (it may be the Recents bttn ... i use inverted bttns)
The problem seems to be that the part avobe of the "home" button black part is for some reason usable??
its kind of wierd but right now i cant go "Back" in landscape because it goes to google now !
im on dirty 8.0 the last one Stock
Mao_anguita said:
i have a problem with the BACK soft button in landscape, whenever i press it (and in landscape) it goes to "google now"
i dont know what causes this issue right now (it may be the Recents bttn ... i use inverted bttns)
The problem seems to be that the part avobe of the "home" button black part is for some reason usable??
its kind of wierd but right now i cant go "Back" in landscape because it goes to google now !
im on dirty 8.0 the last one Stock
Click to expand...
Click to collapse
I'd say grab a Logcat
Maybe also include some screenshots of your layout in landscape
I'm still on the test 8.0 and back works OK,, but i also don't use Google now
.

[TOOL] AAFC ADB Fastboot Commander - Cross Platform - 0.8.5b (28-06-18)

Code:
*** Disclamer
Be aware that you are able to brick your phone with this tool. I take no responsibility for your actions and/or damage and/or malfunction on your device. If you don't know how to use ADB or Fastboot, read tuturials first. You will be responsible for you actions all alone!
Introduction
Hello guys
Beacause many newbies don't want or to mess with the shell or simply dont know how and experienced users and developers are pretty lazy people i developed a tool which takes over basic actions like flashing/wiping partitions, sideloading zips, push/pulling files, taking screenshots or screen video and a lot more. Of course adb and fastboot commands can be executed as usual over the build-in shell.
Until now its a early beta only able to process basic tasks, not everything works as expected yet.
I've sometimes more, sometimes less time to work on this project, so i cant give etas to future releases!
Click to expand...
Click to collapse
Images
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
Installation instructions
Download the latest build by following the download link down.
Once downloaded, there is no need to install - just run it and you're ready to go
The ADB/Fastboot binaries are packed with the application, no need to download them aftwerwards. However - if you want to use your own android sdk, you're able to change the working path to your sdk.
Click to expand...
Click to collapse
Download
Download the latest version (build 2801) from 15-06-28 here:
> > http://aafc.leonhard-kuenzler.de
Click to expand...
Click to collapse
Changelog
Code:
Changelog:
(sorted by builds)
2776
[fixed] runCommand handling
[fixed] auto device detection
[added] screenshot feature
2778
[fixed] device serial for auto detect
[fixed] screenshot
2779 - 21.05.15
[fixed] icon settings
[deleted] unused code
2783 - 25.05.15
[changed] Gui title
[added] screen recording
2875 - 28.05.15
[fixed] sideload
[added] preferences window
[changed] Frame behavior
[fixed] insert path (drag_drop)
[fixed] sdk not found error
2801 - 28.06.15 | latest build
[added] apk install/uninstall
[changed] device detection
Click to expand...
Click to collapse
FAQ
-- in progress
Click to expand...
Click to collapse
Thanks To/Credits
Code:
all people testing and giving feedback so far :)
XDA:DevDB Information
AAFC Android ADB Fastboot Commander, Tool/Utility for all devices (see above for details)
Contributors
92lleo
Version Information
Status: Beta
Current Stable Version: -
Current Beta Version: 0.8.5
Beta Release Date: 2015-06-28
Created 2015-06-04
Last Updated 2015-06-28
How-To
After downloading:
(1) startup
On first start you will have to read & accept the disclaimer. You're able to turn that message of.
Now the main frame should show up. If you have installed android sdk, you can use yours instead the build in by setting the sdk path in ">SDK>change path" to your sdk path (most likely C:/Programm Files/Android/android-sdk). Select the android-sdk folder.
(2) connecting your phone:
connect your phone to your computer. on phone, go to "settings>developer options" and enable "usb debugging". if there is no "developer options", go to "(device) info>software info" and tap 7 times on "build-number". Developer options should be visible now.
Your phone should now ask you to confirm usb connection to your computer. if not, go on with (3)
(3) driver-troubleshooting
some vendors ship their drivers with windows update, they should be installed on first connect. Google also ships drivers for its devices with the android sdk. In all other cases, unplug your phone and go to ">options>device drivers". Now you have two options: 1. try the easy way universal-usb drivers from clockworkmod. Install them, connect your phone and try again. You may open the
windows device manager (WIN+R > devmgmt.msc), there you should see your device (either with warning, or successful connected) 2. search for the right vendor driver.
Choose from the list and install the drivers. May you also search for lite packed drivers on xda/web.
.. more comeing soon
Bugs & Features
Known bugs:
When starting tool not from its parent directory, but e.g. from chrome downloads, setting paths somehow fails (you'll get an error message). To start, navigate to your download folder and start it from there. If you still face problems, delete the "adbfbdata" folder in the same directory
Video recording/screenshots not working (stuck after pulling screenshot/video)
(This happens cause some devices don't allow to pull or write from/to /sdcard. Working on a fix right now)
When returning to internal sdk, the realSdk variable in the properties file is erroneously set to true, which results in an exception at the next start.
To solve this, delete the properties file in the /adbfbdata folder or set "realSdk" to false
Planned features:
Backup over adb or recovery
Multi-device support
Device specific actions (e.g. unlock bootloader on htc devices)
device info storage (online) for specific actions, downloads links etc.
Fastboot support for samsung devices via haimdall command line tool
workspace monitoring and intelligent file suggestions
A lot of gui improvement
Version 0.8.4 online
Version 0.8.4 (build 2787) is now online.
Changes:
You don't need to fill in your devices serial number from now - whenever a device is detected, its serial will be shown.
Currently, only one device can be handled (except from your own commands).
Tool will automatically search for updates and notify you in case of a newer version. You also can check manually by clicking Options->Check for Updates
Version is ready for download here.
Version 0.8.5 online (multi OS support)
Version 0.8.5 (build 2798) is now online.
Changes:
You now can use AAFC on your Mac, Windows or Linux machine! All adb & fastboot binaries are packed within the tool (even 64 & 32bit versions for some linux distributions) Please note: Support for Mac OSx and Linux distributions is still in early development (alpha) which means, you'll be able to run commands on every os, but may not use every gui function cause the gui is only optimized for windows for now. Please post your experiences in this thead or write me a message!
Tool will modify internal files and watchdogs for the current os
Tool will now delete whole temp folder, not only files
Look and feel changed to "Nimbus" on Linux because of Gui problems. On Windows and Mac OSx its the known OS layout
Version is ready for download here!
Troubleshooting:
If you're not able to tick the checkboxes in the disclaimer frame, check if there is a information dialog behind it. May the UpdateChecker tries to lay over the frame, but the disclaimer cannot be overlaid. I'm working on that.
If you get an exception like "File not found", please post it here (like any other exception). To solve this problem, try deleting the adbfbtool folder in the same directory (to reset the preferences)
Hey,
i tried your tool (build 2798) and really liked it!
I used it on my macbook and it worked well. Sometimes it gives me an exception like "file not found", but after a restart, it works again. I just needed it to flash diffrent recoverys while bringing my phone back to stock.
i would like the tool to remember the last directory i choose a file in, so i dont have to navigate through all my folders again. Also it would be cool, if you implement the shown backup/restore and apk install function. and maybe some quick actions like flashing a recovery with just a file chooser dialog.
I'm looking forward to the next update and will try it then!
friFroAndro said:
Hey,
i tried your tool (build 2798) and really liked it!
I used it on my macbook and it worked well. Sometimes it gives me an exception like "file not found", but after a restart, it works again. I just needed it to flash diffrent recoverys while bringing my phone back to stock.
i would like the tool to remember the last directory i choose a file in, so i dont have to navigate through all my folders again. Also it would be cool, if you implement the shown backup/restore and apk install function. and maybe some quick actions like flashing a recovery with just a file chooser dialog.
I'm looking forward to the next update and will try it then!
Click to expand...
Click to collapse
Hey, thanks for your feedback! The file not found exception will be gone on linux and mac within the next release, it's left from windows-only.
Remembering directories is planned, in fact, i planned to set a working directory/directories, where the tool searches for .imgs and zips and stuff, so it can suggest them.
Quick actions - or something like that- are comeing when everything else is working
APK install is implemented, you're able to use it with the next release, I'm working on backup (both adb and recovery) right now. Maybe it's usable in the next release, or maybe in other future releases.
New Build 2801 (still 0.8.5) online
Build 2801 is now online.
Changes:
You can now install / uninstall apks over the gui with setting command flags
Device detection now start/stoppable
Small GUI changes
Version is ready for download here!
Im currently working on:
Backup over adb or recovery
Multi-device support
Device specific actions (e.g. unlock bootloader on htc devices)
device info storage (online) for specific actions, downloads links etc.
Fastboot support for samsung devices via haimdall command line tool
workspace monitoring and intelligent file suggestions
A lot of gui improvement
If you miss something or have other feedback, feel free to contribute!
_____
edit:
looks like there is a bug in screenshot/video recording, it doesn't work in older versions as well. You may try it, but it wont work. I'll fix it with the next release!

Looking for a complete/real Linux on my Nexus 5

Hello everybody,
I've been trying to get a complete Linux (for example Debian or Ubuntu) on my old Nexus 5 (NOT Ubuntu-Touch). All the Linux commands ("sudo" etc.) should work and I need to install Python.
Since I would like to use the Nexus 5 only for network stuff and bots at home, I don't really need Android anymore on the device.
I have no additional equipment (for exemple Bluetooth keyboard / mouse or USB to HDMI adapter) and I would prefere not buy any equipment.
Windows 10 would be enough as well on the Nexus 5 (I read it should work with some Android devices).
I got TWRP recovery on the phone.
What I've tried so far:
1.
The Maru ROM (Android + Linux parallel running). However, for the first configuration on the Linux-Desktop it seems like I need an adapter + Bluetooth keyboard & mouse, since the first configuration has to be done on the desktop
But have no corresponding periphery.
After the initial configuration of the Linux Desktop/Interface, via USB to HDMI adapter, you can access the Linux system on the Nexus 5 via SSH or VNC.
Apparently it's also possible to do the first configuration of the Linux interface via VNC. But I have not succeeded. I've followed various instructions and tried from Android by using terminal emulator to acces the parallel running Linux. VNC Viewer Apps were also used. Everything did not work out. Either there were error messages that the system is not "listening" on the port or that the access was denied. Is there an idiot-safe step by step guide for this?
2.
Next I flashed "[NEXUS 5][N7.1.2] - Pure Nexus"
I tried to to configur the terminal emulator and Termux with BusyBox and the "sudo installer app" to behave as if the terminal would be a real Linux. I also failed (couldn't get sudo command and other commands to work).
3.
Finally, I've used the "Complete Linux Installer" app. However, it turned out that my kernel does not support "loop device" (which is a prerequisite). So I tested the Franco Kernel and another custom kernel (name forgotten), which also did not work. I haven't found a custom kernel which is explicit "loop device" supported.
What ROM / Kerel Combo is required to use "Complete Linux Installer"?
Since I need no Android it would be the simplest thing to flash Linux (or Win10) with TWRP on to the Nexus 5. Is there some pure Linux ROM for the N5?
Otherwise an idiot-safe step by step guide for the N5 for the method 1 (Maru ROM via VNC without HDMI adapter), or for the method 3 ("Complete Linux Installer") would be great!
If someone has a full functional Linux or Win10 on the Nexus 5 (without additional peripherals) please report! Thanks in advance!
really no one an idea?
A ROM/Kernel Combination for the Nexus 5 with "Loop Device" support would be enough! (see 3. "Complete Linux Installer")
playerkirk1 said:
The only way I could imagine installing Ubuntu or any form of Linux based OS other than android would involve using EFIDroid, which isn't hard to install at all.
Here's the link to that.
I'd imagine you'd have to find a way to efi boot a version of Ubuntu arm or Debian arm, because the Nexus 5 is an arm device. As for Windows 10, IIRC Microsoft still hasn't released Windows 10 arm out yet, so we can't find out if we can port it back to arm32 or lower end Snapdragon devices like the Nexus 5.
Click to expand...
Click to collapse
Ok nice thx! I'll try it with EFIDroid.
Unfortunately I have not much time most recently... So it will have to wait.
I'll report if I manage to run any Linux version on the N5.
One more Question:
Is it easy to find an arm version of Debian or Ubuntu? Haven't searched yet.
Why use EFIDroid?
I built Gentoo linux on my htc hd2 a yaer ago (and lost the image a few weeks ago). It's not really hard to install a full native linux system on your phone and boot to it DIRECTLY (without android).
All you need is
a custom kernel with support for loop devices (may need some changes later for the display, or some dirty hacks)
a base system for gentoo and some linux knowledge
creating a loopback device and using it for the system storage
working from within android in the beginning on the loopback device, until the base system is installed, configured, bootable and has SSH ENABLED via ethernet, with custom ip address (this is tricky, as it's the only way to use the phone before a gui is installed)
working from the pc using ssh, installing all needed packages
failing too many times until everything works
Edit: while installing the system, you must maintain an ssh connection via usb, as i said earlier, and to reach the internet, you must use iptables from the host pc to share the connection and configure your phone to get to the internet using the host.
As i said, i had done it in the past for the HTC HD2, but never posted it (due to ****ty internet connection). I had done all the system compiling directly on the HD2. On such a slow device (1ghz single core, 512mb ram, class 4 sd card) it took about 2 weeks for the GUI to be working.
What i did later was take the same base system and run it on the HTC M8. while it works, display never worked correctly. I had to use a program i compiled to refresh the screen all the time, which consumed cpu quickly.
Anyway, it can be done on any phone. There's no such thing as impossible.
A shot of the end result gui on hd2 (i know, horrible gui and wtf is that resolution )
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
tl;dr: Install Gentoo linux
@ playerkirk1
Ok thanks. Maybe this way leads to a solution for me.
@ gilbert32
Impressive! That seems to me like pretty advanced work! I'm afraid my Linux knowledge is fare under yours...
But like I thought, it's possible! Thanks for sharing!
gilbert32 said:
a custom kernel with support for loop devices (may need some changes later for the display, or some dirty hacks)
Click to expand...
Click to collapse
So again it depends on the custom Kernel with loop device suport. I couldn't find one explicitly supporting "loop device" for the N5.
If I had, I would have used the "complete Linux installer" app.
(Check out 3. on my first post)
shomu said:
So again it depends on the custom Kernel with loop device suport. I couldn't find one explicitly supporting "loop device" for the N5.
If I had, I would have used the "complete Linux installer" app.
(Check out 3. on my first post)
Click to expand...
Click to collapse
It's not that hard to get it working
Should be about downloading the source code of any kernel you want to use, make menuconfig, adding loop device support and compiling the kernel. it's about 5-6 commands.
I honestly didn't know this was even possible, but this is amazing. I just thought you'd need EFIDroid and an ISO to boot off of, but that seems way too complicated to do reliably. I'll definitely try this myself because it sounds awesome. Thank you, you rock!
Click to expand...
Click to collapse
Yes, it is very possible. In the old days before android (where developers used to port linux to windows mobile devices, using HaRet), it was about compiling a working kernel, adding a ramdisk that prepares the loop device and mounts it, then changing the root to the loop device. In another way, to achieve it on a new phone:
Build the os for your phone, or install it. You must have a working loop device in the end, containing the root filesystem
Create the init file to use with the ramdisk later
compile a kernel that supports all features required by the OS
package the ramdisk and kernel into a bootable image, that you can fastboot boot or flash
On The M8, This is what happens:
Bootloader boots boot.img. I use fastboot boot boot.img since i don't want to override my boot image
kernel boots and runs my init. Which is a series of shell commands.
The commands mount the required partitions, then mount the loopback device to somelocation
init calls for switch_root, which turns somelocation into the new root filesystem, and launches the appropriate init script (IIRC /sbin/init in gentoo)
the new init starts its work, calls for OpenRC, etc etc etc
As i said before, i got it booting on the HTC M8 by grabbing a working boot image for the device, and modifying the ramdisk to use scripts for the HD2. I had modified those scripts to match the M8 requirements, then repackaged the image and voila. If i still had my working image, i would've uploaded it for you and tried modifying the needed files.
If you get the needed kernel working, i will help you with the next steps
and just another pic i found.
gilbert32 said:
It's not that hard to get it working
Should be about downloading the source code of any kernel you want to use, make menuconfig, adding loop device support and compiling the kernel. it's about 5-6 commands.
Yes, it is very possible. In the old days before android (where developers used to port linux to windows mobile devices, using HaRet), it was about compiling a working kernel, adding a ramdisk that prepares the loop device and mounts it, then changing the root to the loop device. In another way, to achieve it on a new phone:
Build the os for your phone, or install it. You must have a working loop device in the end, containing the root filesystem
Create the init file to use with the ramdisk later
compile a kernel that supports all features required by the OS
package the ramdisk and kernel into a bootable image, that you can fastboot boot or flash
Click to expand...
Click to collapse
hm..ok, but I must say, I never compiled a kernel...
I got kind of "advanced" knowledge about android compared to normal "Smartphone users", but I'm definitely no developer!
So unfortunately compiling things is beyond my skills. I think I could do it with a step-by-step-tutorial, but I guess my request is too specific to find a fitting tutorial.
When it comes to Linux, I know some basics about the system and some basic commands. But usually when I'm doing stuff with Linux I use tutorials as well.
I have much more experience with Windows, html, css and some java...
So again, for everything that has to be done with Linux, I need an easy tutorial...
I appreciate your trying to help me, but unfortunately i must say it's way too advanced for me. without a detailed how-to, I will not be able to do this...
gilbert32 said:
and just another pic i found.
Click to expand...
Click to collapse
I'm feeling a bit ambitious and wanted to try something, just want to know if it's been done before.
So I want to use my other phone - Samsung Galaxy Nexus - as a home server (FTP, p2p for start and maybe some light home automation later if everything works well).
So there is a patch for the GNex kernel that allows for phone charging and OTG at the same time. Also, I would need to patch in the loop back into the kernel so I wanted to know if Gento would be able to access my HDD hooked on OTG and how the drivers work in general on Gento and if it is worth the hassle getting it from Android to Gento. Also, I plan to VNC into the phone so display drivers aren't needed to work 100%.
Opinions?
Just install Sailfish OS. It's Linux with just a modified GUI for phones.
Here you can get the latest images, instructions, help (if you need) and info about all the various things https://talk.maemo.org/showthread.php?t=99377
Then take a look at this thread https://talk.maemo.org/showthread.php?t=98882
this is a link to working arch linux chroot https://github.com/Preflex/easy-chroot/releases/tag/0.0.2
here is a pic from my setup
Now someone made a patch for wayland to open in landscape mode. here it is https://openrepos.net/content/elros34/qxcompositor
And here is also ubuntu chroot, which works with that patch https://github.com/elros34/sailfish_ubu_chroot
I moved away from android long ago. Because i want my privacy back from google. Now i do not use anything from google except youtube (without google account)
ILA said:
I'm feeling a bit ambitious and wanted to try something, just want to know if it's been done before.
So I want to use my other phone - Samsung Galaxy Nexus - as a home server (FTP, p2p for start and maybe some light home automation later if everything works well).
So there is a patch for the GNex kernel that allows for phone charging and OTG at the same time. Also, I would need to patch in the loop back into the kernel so I wanted to know if Gento would be able to access my HDD hooked on OTG and how the drivers work in general on Gento and if it is worth the hassle getting it from Android to Gento. Also, I plan to VNC into the phone so display drivers aren't needed to work 100%.
Opinions?
Click to expand...
Click to collapse
If you can get the HDD to work inside android, it will work inside Gentoo. As long as you can mount the HDD inside android it should be possible. And you really don't need android to mount it, just look for the dmesg and see if it's detected, or look for it in /dev/sdxx. If it works, then don't forget to install the specific HDD filesystem support in Gentoo.
The easiest way is Linux deploy in the Google play store, u have the option to install Ubuntu, Debian, Kali, etc. Also with the option of selecting your GUI such as KDE, lxde, etc. U can also chose to build it as an image or use an sdcard partition if you're advanced which is the best option. Most Android devices can easily support running Linux IMO, there hasn't been a device I haven't got it not running on, with the exception of the ones u can't root lol. Give it a try, you'll see what in talking about, as for the vnc use juice SSH on the play store, that's my favorite, also helps to install the hackers keyboard from the play store too. Depending on the internet it should take u less than 30 minutes to get Linux up and running
Sailfish OS (pretty darn good), Plasma-Mobile (not very efficient), and PostmarketOS (least efficient) are good alternatives
there is shortly to be some work done by wicket in my home community of Maemo ...
to get Maemo Leste OS running on the nexus 5 ...
I suggest patience.
it will happen...there are just the n9 and n900 to come first...(which are coming along nicely thus far ..)
I myself am looking forward to having Leste on both my n900's and Nexus 5's...
Leste for the nexus 5 should progress quite rapidly once work begins, considering the nexus 5 is the perfect candidate in compare with other devices.
So you may wish to keep an eyeball on the Maemo Leste OS project
shomu said:
really no one an idea?
A ROM/Kernel Combination for the Nexus 5 with "Loop Device" support would be enough! (see 3. "Complete Linux Installer")
Click to expand...
Click to collapse
KDE Plasma
Sailfish OS if you can figure out how to install manjaro
Ubuntu Touch with dock
Come on just use Google.

[v1.2] Linux for Samsung Galaxy J120F

This thread is about Linux port for J120F. Test build is currently in beta state. But if you're a Linux user you can try it.
Status:
Display and touchscreen work
Hardware and software keyboards work
Wi-Fi works (and Firefox onboard )
USB works as OTG or serial gadget with a console (115200n8). UART JIG also works
Bluetooth. You can run hciattach (@115200) to get BT device but most tools don't see it
Known issues:
Touchscreen won't work if phone was started by attaching USB or charger. That's because Android can't start this way (phone shows battery status and goes off).
For same time after boot you can't click anything but cursor moves. Just wait ~30 sec.
This will be fixed in v1.3. Or you can execute:
Code:
rpm -ev --nodeps xinput-calibrator
Fixed:
Onscreen keyboard doesn't work. Sad but true
"Connect to Wi-Fi" button is out of screen. It's next to "DHCP" combobox in TAB order.
Display goes to sleep and can't be turned back on. You can restart X from SSH or USB console to turn it on again. (No timeout - no bug )
How to install:
Create 3 partitions on SD card. 1st is FAT for your Android data. 2nd for Link2SD (make it tiny if not needed). 3rd is ext2 for Linux (500 MB should be enough for now).
Extract rootfs.tar.xz contents to 3rd partition. It should be done as root and from terminal. GUI tools aren't good for this.
Flash kernel (boot.img) with heimdall. It can work as recovery too. In this case you will get dualboot.
Milestones:
1.0 Make it boot
1.1 Bring up major hardware
1.2 Make ROM easier for testing and building
1.3 Organize included software
My next major tasks:
Improve BSP. Make image recipe.
Make toggle screen on/off feature by power button.
Improve onscreen keyboard layout. Make keys bigger.
Done tasks:
Sort out all the patches I've made to FS. Make a BSP (OpenEmbedded machine layer).
Find a problem with USB serial gadget and make it work as console. For now I use UART JIG but only few people have such hardware.
Get Wi-Fi to work. Smartphone is not a smartphone without internet connectivity.
Make connman-gnome window usable with such small display. Currently you need to do blind TAB to connect to Wi-Fi.
Find a problem with on screen keyboard. The only way to input text now is USB keyboard over OTG.
Improve BSP. Integrate FS patches into it. Fix kernel so it can be built inside OE.
Fix screen timeout bug. (Timeout disabled so far)
Photos:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Link to my ROMs folder on MEGA.
Kernel source on GitHub.
OpenEmbedded Layer (BSP) source on GitHub.
Wi-Fi works!
dmesg from Android helped me to start Wi-Fi. To finish initialization you need to run
Code:
cat /proc/deferred_initcalls
Seriously!
Good news!
SSH is working over Wi-Fi.
USB gadget works after all!
To activate it do:
Code:
echo connect > /sys/class/udc/13580000.usb/soft_connect
Now I will try to make a build with all those things activated on boot
Version 1.1 released. It's MUCH more user-friendly but you still need some skills to install and use it.
It's possible to do this on Galaxy J120H?
jlfedmmc456 said:
It's possible to do this on Galaxy J120H?
Click to expand...
Click to collapse
OS image should start on J120H but you need a special kernel. So there are two answers on two kinds of questions:
1) No. This is impossible to [just] install kernel and OS from J120F to J120H because of different hardware.
2) Yes. This is possible to port this project to J120H. It's easy if you're ROM maker.
Good job. Thank you for this ROM.
Set up both keyboards.
To activate software one:
/etc/X11/Xsession.d/80matchboxkeyboard.sh
Code:
#!/bin/sh
. /etc/formfactor/config
CMD="matchbox-keyboard -d"
if [ "$CMD" ]; then
# Delay to make sure the window manager is active
# by waiting for the desktop to say its finished loading
dbus-wait org.matchbox_project.desktop Loaded && $CMD &
fi
To activate hardware one you need new kernel. It is on MEGA already (linux_1_2_boot.img).
Buttons:
RECENT -> Context menu
HOME -> My Computer
BACK -> Esc
Power and Vol keys are Power and Vol keys
To make HOME work as "show desktop" button add:
Code:
XF86MyComputer=desktop
to kbdconfig file.
That's all for now
Fixed Samsung kernel. Now it builds inside OE.
IIRC bitbake should be able now to build OS image without any "tricks".
BSP v1.2
Made proto BSP in a form of diffs. Changes are listed in fs_files.diff file. New files are in files folder. Patches are in diffs folder. New packages are in rpms folder.
Hey really great work; I have created 2 forks of your project for J120A here in the states... I haven't used bitbake before. I went and installed it, but not sure how to use it with the 2 projects you've uploaded. I tried "bitbake J120A" and "bitbake world" but that doesn't seem to be the thing to do. Can't seem to build the kernel manually with "make" either. Could you tell me what commands/config I need to do with bitbake to get this working? Thanks again for your hard work!
puargs said:
Hey really great work; I have created 2 forks of your project for J120A here in the states... I haven't used bitbake before. I went and installed it, but not sure how to use it with the 2 projects you've uploaded. I tried "bitbake J120A" and "bitbake world" but that doesn't seem to be the thing to do. Can't seem to build the kernel manually with "make" either. Could you tell me what commands/config I need to do with bitbake to get this working? Thanks again for your hard work!
Click to expand...
Click to collapse
You don't need bitbake. You need OpenEmbedded.
https://www.openembedded.org/wiki/Getting_started
https://www.openembedded.org/wiki/OE-Core_Standalone_Setup
Then add some layers. I have:
meta (oe-core)
meta-oe
meta-multimedia
meta-networking
meta-filesystems
meta-gnome
meta-initramfs
meta-perl
meta-python
meta-webserver
meta-xfce
meta-browser
meta-j120f
Setup a MACHINE to build for.
Code:
MACHINE ?= "j120f"
And allow non-free licenses
Code:
LICENSE_FLAGS_WHITELIST += "commercial"
Now you can try to build "core-image-sato". OE needs huge amount of free space and time to build! (~100GB)
You can also build packages: bitbake firefox
I doubt that F kernel will run on A version. So you need to port all my patches to the Samsung kernel source for J120A. It shouldn't be hard.
Then diff my linux defconfig with original one (for j120f) and add those changes to your (j120a) defconfig.
After that unpack stock boot.img for your device. And pack your zImage with original DT file.
This is how I do this:
Code:
android_img_repack_tools/mkbootimg --kernel zImage --ramdisk NONE --dt boot.img-dt --base 10000000 --pagesize 2048 --board SRPOI21A000RU -o new_boot.img
Now you can flash new_boot.img with heimdall
Code:
heimdall flash --BOOT new_boot.img
I think you should start with kernel. Patch, build, pack img and flash it. (Don't forget to unlock bootloader first!) Then you can install my OS build on SD card (replace /etc/wifi and /lib/firmware with your files). I hope v1.2 will be released already. And if it works you can start to build your own OS image
This is really great information, thank you so much for the assistance! I have gone through and started work on what you mention, but I realized I'm not sure which Kernel you originally downloaded for your device. There are a lot available for the J120F:
https://imgur.com/a/OeI9u
Do you remember which one you started with? It will make filtering down the diff a lot easier.
-W_O_L_F- said:
You don't need bitbake. You need OpenEmbedded.
https://www.openembedded.org/wiki/Getting_started
https://www.openembedded.org/wiki/OE-Core_Standalone_Setup
Then add some layers. I have:
meta (oe-core)
meta-oe
meta-multimedia
meta-networking
meta-filesystems
meta-gnome
meta-initramfs
meta-perl
meta-python
meta-webserver
meta-xfce
meta-browser
meta-j120f
Setup a MACHINE to build for.
Code:
MACHINE ?= "j120f"
And allow non-free licenses
Code:
LICENSE_FLAGS_WHITELIST += "commercial"
Now you can try to build "core-image-sato". OE needs huge amount of free space and time to build! (~100GB)
You can also build packages: bitbake firefox
I doubt that F kernel will run on A version. So you need to port all my patches to the Samsung kernel source for J120A. It shouldn't be hard.
Then diff my linux defconfig with original one (for j120f) and add those changes to your (j120a) defconfig.
After that unpack stock boot.img for your device. And pack your zImage with original DT file.
This is how I do this:
Code:
android_img_repack_tools/mkbootimg --kernel zImage --ramdisk NONE --dt boot.img-dt --base 10000000 --pagesize 2048 --board SRPOI21A000RU -o new_boot.img
Now you can flash new_boot.img with heimdall
Code:
heimdall flash --BOOT new_boot.img
I think you should start with kernel. Patch, build, pack img and flash it. (Don't forget to unlock bootloader first!) Then you can install my OS build on SD card (replace /etc/wifi and /lib/firmware with your files). I hope v1.2 will be released already. And if it works you can start to build your own OS image
Click to expand...
Click to collapse
puargs said:
This is really great information, thank you so much for the assistance! I have gone through and started work on what you mention, but I realized I'm not sure which Kernel you originally downloaded for your device. There are a lot available for the J120F:
https://imgur.com/a/OeI9u
Do you remember which one you started with? It will make filtering down the diff a lot easier.
Click to expand...
Click to collapse
You don't need to know it. Just take a look at commits: https://github.com/LONELY-WOLF/kernel-j120f/commits/master
Version 1.2 ready
ROM made more user friendly. Most patches are integrated in BSP. It's far more easier to test and build ROM now.
Fixes not included in 1.2:
xinput-calibrator should be removed as it's useless for modern touchscreens
keyboard layout was reworked but I still need to make keys bigger
removed "Ethernet" option from connman-gnome. This fix is available in proto_BSP_1.2 archive
Version 1.3 will be about included packages.
I want to delete and install some packages. Busybox will be replaced first!
BSP will get image recipe.
BSP builds without errors! My Ryzen 1700 (OC to 3800MHz) builds OS image in ~1 hour.
-W_O_L_F- thanks for leading work on a custom kernel and Linux userspace on SM-J120x. Great to see the improvements you've made on top of the vendor kernel to make it easier for developers to test (e.g. packaged boot.img, and userspace).
puargs: I'd also like to see a version for SM-J120A, however I expect we will be blocked running custom RECOVERY as the SM-J120A ships with a locked bootloader. So far I've been unable to find any bootloader unlock methods for SM-J120A.
Tried flashing linux_1_2_boot.img to RECOVERY with heimdall in "download mode" as a test, with no success.
The download mode recognizes an unexpected RECOVERY image, and reports "SECURE CHECK FAIL : (RECOVERY)" on the device.
Have you had any success? Perhaps you found a method that works?
Wow, this is some serious development going on for the SM-J120F! I'm surprised to see such projects for the Exynos platform.
Keep up the good work and may your project become successful!
Project moved to new hardware: Galaxy Note9.
https://forum.xda-developers.com/ga...linux-porting-native-linux-to-galaxy-t3936077

[RECOVERY][11.0][UNOFFICIAL] TWRP 3.7.0_11-0 for Unihertz Atom L and XL [Alpha] [2023-04-16]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
This is a TWRP 3.7.0_11-0 recovery for the Helios P60 based Atom L (Atom_L) and Atom XL (Atom_XL), two rugged Android phone released by Unihertz in July 2020.
This recovery supports both devices as well as both regional variants!
You need to make sure which device and variant you need!
Team Win Recovery Project, or twrp for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
Warning
Backup your data before trying to decrypt inside TWRP.
Decrypting could potentially lock you out from your ROM. I learned that the hard way.
Although I'm quite certain that I fixed the underlying issue it's better to be save than sorry.
Not Working
You tell me
Releases
Atom L EEA (european union)
Atom XL EEA (european union)
Atom L TEE (non-european union)
Atom XL TEE (non-european union)
How to install
How to Update
Links
LineageOS
Common device tree
Device tree Atom L EEA (european union)
Device tree Atom XL EEA (european union)
Device tree Atom L TEE (non-european union)
Device tree Atom XL TEE (non-european union)
Bug reporting
Spoiler: Changelog
2023-04-16
* Decryption is working now
2022-10-05
* Modified the second touchpad driver to work in recovery mode too
2022-07-15
* Switched to TWRP 3.6.2_11-0
* July 2021 vendor updates included (needs vendor to be upgraded manually)
* Decryption is not working (for now)
2022-01-30 (Only for Atom L TEE)
* Changed the patched kernel to the one from the Atom L EEA
2021-08-10
* Security string set to 2099-12-05
2021-06-16
* May vendor updates included (needs vendor update to be applied beforehand)
2021-05-11
* Decryption is fully working now
2021-04-15
* Version bump to TWRP 3.5.2
* Combining the work for the Atom L and XL
2021-03-11
* Version bump to TWRP 3.5.1
* Decryption is working now (with the exception of the user scope like /data/media/0 & others)
2021-02-18
* trustkernel daemon (teed) is working now, decryption still doesn't work
* adb is working now without the need to deactivate mtp
2021-01-15
* Timezone set to europe by default
* Vibration is back (but turned down)
2021-01-14
* Sideload is working
* Install zip/img is working
* Data decryption is not working
* MTP is not working
* ADB is working (MTP needs to be disabled)
Help from other developers is certainly welcome.
Credit and Thanks
TWRP team
@PeterCxy for starting the work on the Atom L
Enjoy!
XDA:DevDB Information
TWRP 3.7.0_11-0 for Unihertz Atom L and XL, ROM for the Android General
Contributors
a-dead-trousers
Source Code: https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_LXL
ROM OS Version: Android 11
ROM Kernel: Linux 4.x
Based On: TWRP
Version Information
Status: Alpha
Created 2021-01-15
Last Updated 2022-10-05
Hello a-dead-trousers
I bought an Atom L and want to install Lineage OS on it. As a newbie to Customs ROM, I'm trying to get ahead with the details here. ADB and Fastboot drivers on the PC are installed and I'm trying to work through points 1. Unlocking and 2. Installing TWRP recovery but am running into difficulties on my device and hoping for help: after typing `adb reboot bootloader` the phone's screen gets black with the indication '=> FASTBOOT mode...' in the lower left corner in very small caracters. Any further command on the prompt leads to an error < waiting for any devices > and < Too many open files in system > See attached image. I have to press the Power button to restart the official Android OS. How can I overcome this issue?
Honestly I normally also use Windows but for this work I switched to Linux.
`Fastboot mode` on phone screen is correct.
If the phone is in fastboot mode, connected to your PC and you type `fastboot devices` you should see it's serial number along with `fastboot` indicating the mode. Like you see it with `adb devices`.
So my guess is a problem with the windows drivers especially the fastboot portion.
Have you tried it with the MTK drivers?
https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL/blob/master/docs/HOW-TO-SPFLASH.md
Thank you for the quick response, @a-dead-trousers!
I installed the MTK drivers on my Win 8.1 PC from the link. I am still using this ADB driver . This info I got from here and also the ADB Tools needed. The result is pretty much the same. See images.
I must also mention that a pulsing sound (device driver sound) is heard when I enter `adb reboot bootloader` . This was also the case when i tried it before. The sound does not stop; I can only turn it off by pressing the Power button and starting the official OS again.
What am I doing wrong?
Sadly fastboot is quite different than adb.
In the case of adb there is a running application (adb daemon) that's communicating with your computer. It's part of the OS and can be rplaced/updated.
Fastboot on the other hand is running in a low-level hardware environment and cannot be (easily) replaced/updated.
"Hearing" sound while the phone is connected to the PC often happens when there is some sort of stray electric current or a short circuit.
To rule out a problem with your PC I would suggest you try it on another one (preferably with linux to even rule out windows as culprit)
Or try the official drivers: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Thanks so far. I had already installed the official drivers, as you can see in the prompts screen prints (version r30.0.5).
Is a Linux installation in a virtual machine (Virtual Box) promising or would the underlying Windows OS continue to cause possible problems with Fastboot? Is a direct linux installation mandatory?
How could Fastboot be updated even if it is more difficult? I think somehow Fastboot is ticking around.
I would like to try my Windows laptop first instead of the desktop. Installing Linux natively would only be the very last variant because of the considerable additional effort.
Logiciel-XDA said:
Thanks so far. I had already installed the official drivers, as you can see in the prompts screen prints (version r30.0.5).
Click to expand...
Click to collapse
Sorry I've overlooked that.
Logiciel-XDA said:
Is a Linux installation in a virtual machine (Virtual Box) promising or would the underlying Windows OS continue to cause possible problems with Fastboot? Is a direct linux installation mandatory?
Click to expand...
Click to collapse
Windows would need to provide the drivers so it would still interfere. I don't know of any VM that supports native USB passthrough but I could be wrong. So a linux installation would be mandatory for now.
Logiciel-XDA said:
How could Fastboot be updated even if it is more difficult?
Click to expand...
Click to collapse
That would require a serial interface (COM) or an unsoldering of the chip to flash it with an EPROM burner.
Logiciel-XDA said:
I think somehow Fastboot is ticking around.
Click to expand...
Click to collapse
Honestly I'm more concerned (or should I say in hopes) about the windows inbetween. The only other option would be a problem with the phone itself (see previous answer) and to get this through Unihertz support you would need to confess that you tried to tinker with the internals while the phone itself is operating just fine. If I were Unihertz I would say "Sorry, no replacement for you".
Logiciel-XDA said:
I would like to try my Windows laptop first instead of the desktop. Installing Linux natively would only be the very last variant because of the considerable additional effort.
Click to expand...
Click to collapse
Don't you have a friend or colleague with a linux machine you could ask for help? Or you could buy a RasberryPi or a similar device. Those are not so expensive and on the plus side you could use them afterwards for many other things like a home streaming server.
I followed the instructions exactly, but now the phone loops on the unihertz boot screen with the unlocked warning. It won't even turn off. No button combination does anything, except that volume up + power makes it reboot faster.
On Linux, using the latest android tools.
Is there any way to at least stop it from constantly booting? Is it possible to get it into fastboot any other way?
EDIT: For anyone else who has this problem, the manufacturer provides drivers and tools to re-flash the entire phone to stock. All the relevant links are here. This didn't work on my Windows machine, but it worked using Linux.
My phone has now been flashed back to stock, most stuff restored using Google's backup, but I guess I won't try this TWRP again, and stick to the LineageOS recovery instead.
uzalu said:
I followed the instructions exactly, but now the phone loops on the unihertz boot screen with the unlocked warning. It won't even turn off. No button combination does anything, except that volume up + power makes it reboot faster.
On Linux, using the latest android tools.
Is there any way to at least stop it from constantly booting? Is it possible to get it into fastboot any other way?
EDIT: For anyone else who has this problem, the manufacturer provides drivers and tools to re-flash the entire phone to stock. All the relevant links are here. This didn't work on my Windows machine, but it worked using Linux.
My phone has now been flashed back to stock, most stuff restored using Google's backup, but I guess I won't try this TWRP again, and stick to the LineageOS recovery instead.
Click to expand...
Click to collapse
Hi.
Sorry to hear that. This TWRP release was intended for those who had problems with the LineageOS recovery (stuck on green line on reboot and so on). I have an Atom XL so I cannot test it with 100% certainty but as the two devices are quite similar I myself had no problems with this exact TWRP on my own device.
If you stuck in a recovery "bootloop" you could try to press vol-down to boot into the bootloader (not fastboot). But the menu is in chineese.
For the TWRP release for the Atom XL I got this reply:
https://forum.xda-developers.com/t/...tom-xl-alpha-2021-01-15.4218695/post-84402809
Maybe this will help you.
In the meantime I'm planning to build a release without accessing the "/data" partition. Since it is encrypted and I wasn't able to find the correct setting for unencryption yet it doesn't make any sense to have it anyway. Also when tinkering with the encryption settings I wasn't able to boot into recovery too. So I believe this is the source of most of the problems.
Until then, stay tuned.
Cheers.
ADT
Also, I made a more up-to-date tutorial with the latest versions (drivers & tool) for flashing the stock rom:
https://github.com/ADeadTrousers/an...tom_XL/blob/master/docs/HOW-TO-FLASH-STOCK.md
If your device is stuck in a "bootloop" that is no problem at all because on every restart there is a 2 - 3 sec. time frame for the flashing to start.
Now Atom L and Atom XL are supported as well as both regional variants EEA (european union) and TEE (non-european union)
I just updated my Lineage releases but I've to postpone their TWRP counterparts.
Why, you ask? Well I had a major breakthrough on the decryption front. I'm now able to decrypt /data completely. But as always, with great power comes great responsibility ... or in this case great destruction.
Well it's true I was able to decrypt /data in TWRP but right after that LOS wasn't able to do the same anymore. Somehow running a full decrypt (by providing your pattern/password) on TWRP "destroys" all the information needed by LOS to decrypt. After that only TWRP is able to decrypt. Maybe that's a "security" feature of trustkernel ... I don't know yet.
Anyway, I had to completely reset my phone (even lost some data cause google drive couldn't load my backups).
Therefore I'm not going to release any updates until I figured out how to prevent this catastrophe for good.
I was able to fix the issue with decryption and locking yourself out from your ROM:
Decryption of /data in TWRP messes up password recognition on LOS · Issue #4 · ADeadTrousers/twrp_device_Unihertz_Atom_LXL
Right after providing my pattern in TWRP /data got decrypted but also LOS wasn't able to decrypt any more. My pattern always gets rejected. As far as I can tell /mnt/vendor/persists/t6 gets changed...
github.com
So now it's save enough for me to post an update.
But be warned:
The problem could still resurface so backup your data beforehand. It's better to be save than sorry.
I've been wasting so much time now in trying to get MTP working from within TWRP only to find out that under Windows it works just fine.
So it's only a problem under Linux (either only on Ubuntu/Debian or general I don't know)
I need to get some fresh air now or I'll go ape ****.
Hi! I've just bought Atom L and want to do some mods... Your how-to manual is awesome, thanks for that!
I'm just at the beginning on my way to flash LineageOS, but I can't get TWRP to work.
All of your TWRP versions are crashing on my device (european L, fresh new, no data), attaching adb log. I'm not sure where exactly the problem is...
ofc I've flashed vbmetas. The older lineageos TWRP image from peterCxy not just crashes, but also reboots phone, so i have no log....
I'm thinking about trying to build my own TWRP image when I'll have free time (but did this last time many years ago), but maybe it is just some small bit to tweak to make it work on my device? TIA!
edit: cannot attach log, dont know why...: https://mega.nz/file/JEAWwZgD#0EtOnG2_DNOry40D3PL6rGsJw7HUCcnKTBNYtu3bOj0
Code:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 357 (recovery), pid 357 (recovery)
This looks like a null-pointer exception (0x0) within TWRP main process (recovery).
And it's trying to do it 6 times and then gives up.
Can you try to provide a kernel dump?
Code:
adb shell dmesg > dmesg.log
or maybe even download the TRWP log?
Code:
adb pull /tmp/recovery.log
Thx for fast reply! Here are dmesg and recovery logs:
319.1 KB file on MEGA
mega.nz
9.7 KB file on MEGA
mega.nz
Now it looks its crashing when composing gui, and its not giving up, it is in loop, not only 6 times
Recovery is rebooting on 'Checking resolution...'
And according to dmesg the init script keeps repeating in the end.
You said you did everything on a 'fresh new, no data'? How did you do that?
At least you'd need to activate oem-unlock from within the rom and that would 'initialize' data.
It is brand new phone, never switched on wifi or sim. I got it today, just unboxed it, and started with enabling developer tools, adb enabled, oem unlocked and then fastboot flashing unlock, vbmetas and TWRP flash.
I don't know, maybe I will connect it to wifi and try to update to newest stock firmware, then try again.
I'm just little concerned about this section, which is telling me I have debug build kernel. but maybe it is OK, original system works OK.
Code:
[ 0.000000] -(0)[0:swapper]**********************************************************
[ 0.000000] -(0)[0:swapper]** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **
[ 0.000000] -(0)[0:swapper]** **
[ 0.000000] -(0)[0:swapper]** trace_printk() being used. Allocating extra memory. **
[ 0.000000] -(0)[0:swapper]** **
[ 0.000000] -(0)[0:swapper]** This means that this is a DEBUG kernel and it is **
[ 0.000000] -(0)[0:swapper]** unsafe for production use. **

Categories

Resources