[native] [ubuntu] [rom] [kernel] Native Ubuntu Linux for T-Mobile LG V10 - T-Mobile LG V10 General

Hello everybody,
I have developed a working, native booting Ubuntu MATE 18.04 system for the T-Mobile LG V10. This device has not received enough attention in the development community, so I decided I'd go all out and get a fully open source Linux distribution to boot and run on this underestimated device. I have gotten most of the basic features working, except for Wi-Fi and audio output. I think this could be a great foundation for developing a fully functional GNU/Linux based operating system that can harness the true functionality and power the LG V10 offers.
As of now, this is what works:
- Display (fbdev , no hardware acceleration)
- Touch (Xorg natively supports it)
- Modem/ADSP/Venus subsystems brought up
- Microphones (using Alsa usecase files from LG G4)
- USB OTG ethernet
- rt2800usb wireless driver backported (connect with NetworkManager)
- Stable systemd support
- Udev detects charging/battery percentage
To do:
- Enable hardware acceleration with freedreno DRM/KMS
- WiFi working
- Get HDMI slimport output working with Xorg and freedreno
- Get audio output working
- Offset the second screen in Xorg
- Make ADSP sensors accessible to userspace
- Screen rotation
- Camera blob bringup with libhybris
- Mainline kernel support
For more information, read the README.md on my GitHub repository
If you want to contribute, or have a look at what I have done, here are the links to my GitHub repositories, and the rootfs:
Boot Images: github.com/doitaljosh/native-ubuntu-mate-pplus
Ubuntu MATE 18.04 rootfs archive: drive.google.com/open?id=1AjhBs_9HLO0KC3bFpka2ewpuJTmigimK
Kernel Source: github.com/doitaljosh/android_kernel_lge_msm8992

hey what does this do. that stock kernel don't do?

If you want an extra tester, I have another v10 laying around that could be used for stuff.

great effort. thanks for your time and contribution. i am waiting for my v10 to arrive from ebay. will test.

I'm getting an issue where when the tar is extracting it'll stop and say it was killed. I know that I didn't kill it, as I left it alone while it was extracting. Or is it just it's say of showing that it's done?

Related

[Dev] Android on the Universal

Current android versions:
CM7.2
Kernel Status:
- Kernel v3.10
- LCD
- Keyboard
- SDHC MMC
- Max1587a
- Asic3 Buttons
- Automatic screen rotation
- Touchscreen
- Bluetooth (audio and mouse tested and working)
- Usb host (supports everything USB 1.1 compliant)
- Backlight
- Adb and Usb mass storage
- M24C08 Eeprom
- Keyboard and button backlights
- RTC8564
- Led's - Red, Green, Blue
- Vibrate
- AC Charging
- USB Charging
- WIFI
- Support for EXT4 filesystems
- Modem
- Phone Support
- Audio Support - no input from mics, routing related.
- Data -3g or GPRS
- Power Management - Standby works which is a low power state, Deep sleep and suspend to mem is not working
- DOC flash chips are supported by kernel for both g3 and g4 devices
Not Working/To-do list::
- Camera's - need to add V4L driver to android and dual cam support for camera app and kernel driver.
- add video/audio decoders/encoders
- add modem sound routing to kernel or android (AT commands )
Link to files: (Link)
Link to Kernel source: (Link)
WOW i'll try it. Thanks
Thanks notime!
Not a Universal owner, but glad to see Android made it's way to this device.
Is there any software that can assist to create the 3 partitions?
is anyone working on getting the touchscreen going? if it had touchscreen working i'd jump on this in a hot second.
Now this is so cool, that somebody is actually developing android 4 our beloved Uni :-D:-D:-D
Hi
For me it's not working.
I wrote it here
Here is my LOG
EDIT: It's working. I had the phone off.
Android version
Hi,
first of all - great work!
Second - this will probably be a seen as a stupid question but why are you trying this with such an old version of Android? Are the new versions requiring so much more memory or something?
Anyhow, good luck with further work and thanks for restoring my hopes of Uni resurrection
asdafer said:
Hi,
first of all - great work!
Second - this will probably be a seen as a stupid question but why are you trying this with such an old version of Android? Are the new versions requiring so much more memory or something?
Anyhow, good luck with further work and thanks for restoring my hopes of Uni resurrection
Click to expand...
Click to collapse
That is a good question..., it was the only one i had on hand at the time. But the kernel i'm using is based off 2.6.32.9 the current android 2.1 eclair is based off 2.6.29 so theoretically that and the newer android version froyo should work. If i find or build a 2.1 rootfs that works i will post it.
id say any android functioning on the uni is a giant step in the right direction. we don't need to get picky lmfao
Hi Notimer,
is there any software which can allow me to partition my SD card?
yes. knoppix and fdisk.
Touchscreen
Does anybody know what this ts_calibrate output means or familar with it?
xres = 480, yres = 640
Took 1 samples...
Top left : X = 65492 Y = 678
Took 1 samples...
Top right : X = 65494 Y = 678
Took 1 samples...
Bot right : X = 65492 Y = 678
Took 2 samples...
Bot left : X = 65493 Y = 678
Took 2 samples...
Center : X = 65493 Y = 678
256.000000 0.002021 0.125000
256.000000 0.002694 0.250000
Calibration constants: 16777216 132 8192 16777216 176 16384 65536
If you don't feel like dealing with a full linux distro or the command line when partitioning, try the G-partd Live CD. It's a great, Partition Magic style GUI for the Linux command line partition tools.
http://gparted.sourceforge.net/livecd.php
it'd be better if we just had a 128mb dd image methinks. simpler and faster lmfao
Updates
I posted a new kernel and updated the working functions list on the first post. I know it might not be the updates some were wanting but....it's a update i thought was worth posting...but still no touch screen.
Has anyone tried or built any other android rootfs or images to test with this kernel or know how to?
Does anyone know of a device running Linux that has a phone chip similar to the one in the universal?
Can you compile a kernel image that mounts loopback image files instead of actual ext2 partitions for those that don't feel like partitioning their SD cards? I think it would encourage many more testers.
im confused here, titchy linux runs just fine on the universal. why is it we dont harvest drivers from that?

[Zenithink ZT-180] Project: Linux Reborn

(View original thread here)
Project: Linux Reborn​
Don't ask for an ETA on releases, there will never be one
Credits:
1. Yuray (For porting the original debian image and creating the first custom initramfs)
2. Slatedroid (For the great community and information available on this forum)
3. Zenithink (For the fantastic tablet)
4. Favux (From Ubuntuforums for the help he has provided)
5. Mozzwald for the general linux help
Description:
This is a new project I have started for the ZT-180 (I will still continue my custom ROM). The aim of this project is to have a completely working Linux distro running on the ZT-180. I hope I am able to have the distro installed on the internal NAND so it will be extremely fast and have a fast way of booting between Android/Debian. But in my opinion, Android would no longer be required if we had a distro such as Debian or Damn Small Linux.
This is an open project so if you wish to help on the development on the distro(s) please contact me, regardless of your experience.
Updates:
29th August 2011: Debian booted fine, had to use external keyboard, working on getting the virtual keyboard upon boot.
29th August 2011: I managed to dual boot Debian and Android by flashing the Debian kernel as zImage_adb. However this breaks the ADB support for the ZT-180. Eventually I want to have Linux on the internal NAND.
30th August 2011: With dual booting, "Android Mass Storage" boots into Android and "Android ADB" boots into Debian. You select which one by pressing the right function key straight after turning the device on.
30th August 2011: Project may be switching from Debian to Lubuntu 11.10. (Ubuntu with LXDE as it's default environment)
31st August 2011: Compiled Ubuntu 9.10 with the LXDE desktop environment, no touch screen yet.
3rd September 2011: After 3 days, with some help from Ubuntu Forums, I finally have the touch screen working... Oh the joys!
6th September 2011: Wifi works great . Profiles don't need to be manually edited either, the card works with Wicd.
7th September 2011: Sound works, low distortion at max volume.
9th September 2011: Fixed bug that made users have to enter a password to shut down, added battery monitor + more.
Other Information:
What works:
Dual booting (with Ubuntu/Debian...etc) - 100% - Unable to use ADB if you have dual booting enabled. (BETA-1+)
Shutdown - 100% - Pressing shutdown from the menu turns off the system (BETA-1+)
Restart - 100% - Pressing restart from the menu restarts the system properly (BETA-1+)
USB Port - 100% - Works with external peripherals and thumb drives (BETA-1+)
Touchscreen - 99% - Works, slightly out of calibration (BETA-1+)
WiFi - 100% - Wifi works, profiles can be modified with wicd. (BETA-1+)
On-screen keyboard - 100% - Keyboard opens at boot and works perfect with applications. (BETA-1+)
Sound - 100% - Sounds works 100%, low distortion at max volume. (BETA-1+)
Battery Monitor - 80% - Only gives a rough estimate, may not get better (BETA-2+)
Sudo command - 100% - Users can use the sudo command in terminal (BETA-2+)
Not tested:
Ethernet
Headphone jack
Microphone
OTG port
Lock screen
Not working:
G-Sensor - I'll never officially make it work, it would be pointless
Power button - Not sure how to map this yet
Volume buttons - See above
Home button - See above
Log out - Due to the ZT-180 being a tablet, I don't think there is much use for a log out function
Suspend - Probably pointless
Hibernate - Probably pointless
Downloads:
ZT-180 V1 Dual boot kernels (from SDcard):
1024x600 screen
1024x576 screen
You can use these regardless of removing the reset-IC or not)
ZT-180 V2 Dual boot kernel (from SDcard): (credits to rezmus)
zImage_adb
(USE THIS STRICTLY AT YOUR OWN RISK, IT'S UNTESTED AND I WILL NOT BE RESPONSIBLE FOR DAMAGE)
Debian:
BETA-1: http://www.multiupload.com/T8L0GF6I6G (All info and instructions are in the archive. Extract with 7zip or p7zip)
BETA-2: http://www.multiupload.com/MDZA6F9Q8I (Remember to back up your home folder to keep files) (Contains bug fix for password request to shut down. All info + changelog and passwords are in the archive)
Please do not mirror without my permission
Bug fixes:
Calibrate 1024x600 screen:
This small update is nothing to download but will calibrate the screen correctly (another thanks to mozzwald).
Open terminal and log in to root.
Then type:
Code:
nano /etc/X11/xinit/xinitrc
Then when the text editor opens in terminal, use your keyboard to enter this line above the one already there.
Code:
xinput set-int-prop "TSC2007 Touchscreen" "Evdev Axis Calibration" 32 31 3903 -6 3636 &
Calibrate 1024x576 screen:
This small update is nothing to download but will calibrate the screen correctly (another thanks to mozzwald).
Open terminal and log in to root.
Then type:
Code:
nano /etc/X11/xinit/xinitrc
Then when the text editor opens in terminal, use your keyboard to enter this line above the one already there.
Code:
xinput set-int-prop "TSC2007 Touchscreen" "Evdev Axis Calibration" 32 21 3837 -28 3601 &
Fix the internet browser bug: (Credits to mozzwald for the find)
Spoiler
To fix the Wi-Fi, simply open terminal, log in as root and type:
Code:
nano /etc/group
Then at the bottom add this line:
Code:
and-par-net:x:3003:debian
Wow... love the name of it
| MIUI Powered Galaxy Tab | Tapatalk |
Reb0rn said:
Wow... love the name of it
| MIUI Powered Galaxy Tab | Tapatalk |
Click to expand...
Click to collapse
Thank you. It is really opening up a new door for tablets.
abtekk said:
Thank you. It is really opening up a new door for tablets.
Click to expand...
Click to collapse
not working it wont boot into linux, followed the instructions very clear.... just booting in android
can somebody reupload images , please...
thanks

[ROM][Discontinued] ArchiDroid [CM_ROM][GCC 4.8][Flexible] [V2.5.1] [15/07/14]

{
"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"
}
Clean | Stable | Flexible | Optimized | Excellent
-> ArchiDroid 2.X <- || Change to ArchiDroid 1.X
A Port of JustArchis Rom to our S3 LTE
Changelog
ArchiDroid 2.5.1
- ArchiDroid_Init code review
- ArchiDroid_RunOnce code review
- Fixed ArchiDroid backend not being executed in some scenarios
- Updated all ArchiDroid backend tools to latest versions
- Updated PA GAPPS to 8 July
- Reverted back to official Google PlayStore # This means that multi-dpi patch is not included anymore in the app itself, use xposed module or patch yourself
- PlayStoreFix is now included with Xposed
- App Settings is now included with Xposed
- Updated BetterBatteryStats to 1.16 RC5
- Updated XPrivacy to 2.1.24
- Updated GravityBox to 3.2.5
- Updated sources
Download
All Files Dev-Host
ArchiDroid-20140715-i9305-2.5.1-Experimental: ArchiDroid 2.5.1 Dev-Host, Mirror: Mediafire
Oldstable: ArchiDroid 2.4.6 Dev-Host
Remember that you don't need anything else to flash. Google Apps are included already.
Recovery-Philz_Touch_6.41.6: http://www.mediafire.com/download/?rf75pfrp34zws7b
Known Issues
All known and unknown CyanogenROM bugs (if any)
INSTALLATION INSTRUCTIONS
- Download the latest build of ArchiDroid ROM
1.- Wipe data / factory reset (mandatory if you coming from STOCK OR 4.2.X version or any other ROM)
2.- Install the Main ROM via Aroma installer, make your choices and lean back.
3.- Reboot
Attention: first boot will last a couple of minutes, at least almost 5 minutes or a few more. So after flashing take a rest and drink a coffee or a beer !
And after rom has booted up, led it settle a bit, till all apps and settings are initialized!
UPDATE INSTRUCTIONS
- Download the latest build of ArchiDroid ROM
- Take a nandroid backup
- Flash ROM using recovery and aroma installer
- Reboot
- Enjoy!
Known Bugs:
none...-> tell me if any.
In Aroma Installer you can select for example:
- 3 different Kernels: Boeffla, Angi and Cyanogen Stock
- different Launchers
- different Keyboards
- different Bootanimations
- many additional apps
- to add nav bar
and many other things
Follow ArchiDroid On XDA!
Write A Review!
Rate This Thread!
Buy JustArchi a Beer!
Like ArchiDroid On Facebook!
Hit Thanks!
XDA:DevDB Information
[ROM] [4.4.4. - KTU84P] [OmniROM] [GCC 4.8] [Experimental] [Flexible] [Excellent] [27/06/14] ArchiDroid V2.5.1 | Power In Your Hands, a ROM for the Samsung Galaxy S3 LTE I9305
This Rom is an official kanging of i9300 thread by @JustArchi lead developer and author of ArchiDroid ®. So all credits and thanks goes to JustArchi!!
Contributors
rodman01
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.0.x
Based On: CyanogenROM / ArchiDroid / SelfKANG
Version Information
Status: Experimental
Created 2014-05-01
Last Updated 2014-07-15
[ROM] [XXUEMKC] [4.3] ArchiDroid V1.7.15 [25/05/14] & FAQs
Clean | Stable | Flexible | Optimized | Excellent
-> ArchiDroid 1.X <- || Change to ArchiDroid 2.X
INSTALLATION INSTRUCTIONS
Be aware that this ROM includes Knox!!!
So your counter will be increased to 1
- Download the latest build of ArchiDroid ROM
1.- Wipe data / factory reset (mandatory if you coming from STOCK OR 4.2.X version or any other ROM)
2.- Install the Main ROM via Aroma installer, make your choices and lean back.
3.- Reboot
4.- After rom is up, led it settle and start SU app to led it deactivate Knox
Changelog
Sammy_ArchiDroid 1.7.15
- Initial release
- removed S5 Theme, because of systemui fc
- Boeffla Kernel as default
Download
Download: Sammy_ArchiDroid-XXUEMKC Dev Host
Known Issues
All known and unknown Sammy bugs (if any)
Wifi strength is a bit low
[SIZE="+3"]ArchiDroid's FAQ / Q&A Section for i9300[/SIZE]​[SIZE="+1"]There is a special thread in the SIII section with and for FAQs. If you are interested in, I am sure there are good infos about the rom, for everybody and also related to our S1.[/SIZE]​
[SIZE="+1"]Features / Why ArchiDroid?[/SIZE]
First of all, ArchiDroid includes everything available in it's base. The whole point of ArchiDroid is to improve the base, without needing of making any trade-offs, so by flashing ArchiDroid, you're getting everything offered by the base itself. There's nothing to lose, everything to gain.
You can read detailed information about every ArchiDroid component here. It's a massive wall of text, so I'm only going to list the core features without describing them.
These were written from scratch, they're completely unique and you won't find exactly the same implementation in any other ROM.
ArchiDroid-Unique features:
- ArchiDroid's AROMA Installer
- ArchiDroid's Pocket Debian
- ArchiDroid's Flasher
- ArchiDroid's RunOnce
- ArchiDroid's Init
- ArchiDroid's Backend Control
- ArchiDroid's Hardware Volatile Entropy Gathering and Expansion Daemon (Haveged)
- ArchiDroid's Fast Random Number Generator (Frandom)
- ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
- ArchiDroid's Forced Update
Apart from that, here, on the credits page, you can find all third-party projects, which have been implemented into ArchiDroid. In addition to that, it's up to YOU to decide if you want to install something, or not.
ArchiDroid focuses on flexibility and user choice.
If you're looking for fastest ROM, choose ArchiDroid.
If you're looking for most battery-saving ROM, choose ArchiDroid
If you're looking for cutting-edge functions, choose ArchiDroid
If you're looking for the most flexible rom ever created, definitely choose ArchiDroid
ArchiDroid adjusts to your needs. You can make it whatever you want. With bunch of presets, modes and questions, you can make your ArchiDroid behave. Check yourself why ArchiDroid is The TOP 1 ROM for Galaxy S3http://forum.xda-developers.com/galaxy-s3#romList, according to number of followers, rates, reviews and downloads count. Check the Reviews, take a look at Video Reviews, do whatever you want to, ArchiDroid is proven to be one of the best ROMs for Galaxy S3, ever created.
Try ArchiDroid once, and you'll never look back. I can assure you.
Disclaimer
Developer's Kitchen
Unless stated otherwise, all ArchiDroid components are licensed under the Apache License:
Code:
Copyright 2014 [email protected]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Especially:
ArchiDroid is one of the most complex ROMs ever created. When you start digging in my work, you can very easily get lost. And I'm not talking about base itself, but about everything next to it. You can use every part of my work, as long as:
1. You include proper credit where you should. This usually includes proper comment in a script/file and in the credits of the project, including license (if needed)
2. You let me know about this fact. Through PM on xda or e-mail
I'm always happy to help, especially with the problems I faced in the past. However I also want to be respected, considering that most of the ArchiDroid parts were written from scratch.
ArchiDroid 2.X vs. ArchiDroid 1.X
The long battle between choosing over ArchiDroid 2.X and 1.X is still recent. There's no one real and true answer to this. It's up to YOU to decide who wins this battle, because obviously every user is different. I'm only going to give you some tips and briefly describe differences.
Despite the name, ArchiDroid 2.X and 1.X are totally different ROMs. It all started with ArchiDroid 1.X, a ROM based on Sammy's stock firmware, with all needed goodies and features baked in. Then eventually I managed to implement everything what I ever wanted to implement, therefore making ArchiDroid 1.X more or less complete. Then I started with ArchiDroid 2.X project, built from scratch from AOSP sources, with all source codes available.
The point is, ArchiDroid 1.X is more or less complete, there's no "real" development going on, as I obviously don't have samsung sources to begin fun with. On the other hand, ArchiDroid 2.X will never be finished, there's always something to improve, something to add, something to fix... This is ongoing process, which will reach the end when I finally break my SGS3 or change the phone to another one .
If you're new user or you don't know how AOSP works on our SGS3s then I highly suggest to flash ArchiDroid 1.X firstly. ArchiDroid 2.X is targeted at advanced users, who don't mind some "core" features being broken. It will NEVER be as stable as ArchiDroid 1.X is, so if stability is the number 1 for you, choose 1.X.
ArchiDroid comparision
From 1-10, based on my own point of view
Stability
2.X - 5
1.X - 8
Compatibility
2.X - 4
1.X - 9
Battery
2.X - 6
1.X - 9
Performance
2.X - 9
1.X - 6
Features
2.X - 9
1.X - 4
Android Updates
2.X - 9
1.X - 6
-----------
Overall
2.X - 42
1.X - 42
This is ArchiDroid comparision in a nutshell. If you ask me, I think that ArchiDroid 1.X is far better choice for daily driver, but if you're advanced user and you know how to deal with possible broken functions then you can have great time using ArchiDroid 2.X as well.
Remember that only ArchiDroid 1.X supports Samsungs-specific features, such as Smart Stay, Screen mirroring, Allshare or whatever. This also includes closed-source proprietary drivers, such as many bluetooth headsets, which won't work under open-source AOSP. Think twice before considering 2.X if you're addicted to these Samsung goodies.
On the other hand, ArchiDroid 2.X is the only ArchiDroid with "real" development going on, however all universal changes are also backported back to ArchiDroid 1.X, so you're not missing any feature, which benefits also Sammy's base.
That's it. I hope that a choice between both of these awesome roms is a bit easier now. If you still can't decide I suggest to flash both of them for some time and then decide which suits you better.
Know Your ArchiDroid
ArchiDroid is not only a rom. It's not only a baked android with third-party apps, modifications and tweaks. ArchiDroid is an universal backend which improves rom by many built-in functions.
Let me tell you a story. During developing first version of ArchiDroid 2.0 I experienced many problems, which were not that easy to solve. First of all - apps data. Trust me or not but you can't simply extract data, put it in /data/data after install and hope that it works. Android will detect such injection, report inconsistent of data and wipe everything attached to that. Okay so... How I should provide you with my boeffla preset? CoolTool settings? STweaks profile? If I put my data during flashing it'll get wiped. If I put my data and deny wiping it then Android will report inconsistent of data to user and work unstable. Yes guys, it's impossible to do so without a trick or without recompiling whole rom.
I won't tell you a whole story, because you probably don't want to hear about ArchiDroid development. I'll simply tell you that I overcome MANY difficulties, simply because I do what I like, and I like what I do. After countless number of hours, I can finally provide you with the ROM, which is the best. Why is it the best? Because I'm improving the base, and I'm not making any trade-offs.
Video Reviews / How ArchiDroid looks like?
@Koogly
@SkywalkerZ
ArchiDroid User Signatures
ArchiDroid Features
Know your ArchiDroid, learn how to use it
Introduction / Basics
Welcome to ArchiDroid's world mortal. In this tutorial we will show you what ArchiDroid has "inside" and what it really offers. All of things included in this post are ArchiDroid-specific, which means that you won't find any ROM with the same features, as they're written from scratch.
Here you can find some definitions of the words used in sections below. You should know most of them, but in case somebody is lost here you can get back on track.
Terminal, Shell - Typical android shell, which may be obtained in three ways.
1. Through native Android Debug Bridge (ADB) with command "adb shell" from the PC or even "ADB through network" (if supported).
2. Through any Android terminal app, f.e. Android Terminal Emulator bundled with ArchiDroid.
3. Through secure shell daemon (sshd), which needs to be turned on firstly. This is extremely useful in terms of pocket debian, which will be described later.
You can use any of these methods to access android's terminal, however usually Android Terminal Emulator will be the easiest one, as it's android app bundled with ArchiDroid. WARNING! Most of the commands below WILL require root access. You can log in to super user shell by "su" command right after obtaining shell. If you're unsure if you're logged as root or not, "whoami" command should print actual user, "root" or "unknown uid 0" are OK, others are not.
ArchiDroid's Pocket Debian
From wikipedia:
From debian site:
How exactly this covers our beloved SGS3 (and countless number of other android arm-based phones)?
As you may (or even should!) know, Android operates on it's own Linux-based kernel. Android's kernel is literally a fork of Linux kernel, with a few special/unique functions which are required, mostly hardware-specific. Because of that kernel itself is VERY compatible with everything based on Linux.
However there have always existed one typical problem, lack of proper environment. We have a great kernel, great power, linux-based android environment, but this environment lacks of very common and required libraries/binaries. If you ever wondered what is or what does busybox, this is the answer. Busybox is just a small package which offers a few standalone GNU/Linux binaries, which are required to make certain things work. For example, swap priorities. Android knows what swap is, and nothing else. It doesn't know that swap could have a priority, so if you use android's swapon command on 4 devices, it will firstly fill first device, and then proceed to the next. That's why we need busybox in ALL custom kernels, because android environment isn't enough.
However busybox sometimes isn't enough. If we focus only on Android itself, it is. But if you for example want to run stricly linux-based service, I don't know, a web server for example... Is it possible to run a native linux web server on an android? No, it's not. You should firstly compile such service on arm architecture, including all dynamic and static libraries (wrrr ) in it only to finally get mad because of missing libraries or other dependencies. Of course if you're patient you'd finally compile everything and set up, however how long would it take? A few days maybe? If you're skilled in what you're doing...
This is why I included built-in "pocket" debian in ArchiDroid. It's FULLY compatible with everything compiled/based on armhf/armel GNU/Linux architecture, for example Raspberry Pi. With two easy commands you can literally jump into debian environment and use every typical GNU/Linux utilities known from debian itself. Of course this means nothing for most of the users, because they'll never have any reason to use such debian environment but from the developer side, it's big step forward. The best example is with github. As you know ArchiDroid has it's own repo on github, from where you can download/manage stuff. There also exists git app for linux and windows. If you want to follow "expert" way of flashing experimental ArchiDroid version, such program is required. The scenario is the same as compiling web server for an android, it requires much more effort than it's worth. And even then you can end up with syncing external dependencies and searching for solutions for the problems you've never seen before... And with ArchiDroid's pocket debian? It's as simple as in any debian/ubuntu distro. "apt-get update && apt-get install git" and voila. Your git is installed and ready for work. Going further I've even included git in pocket debian itself. Okay, I have debian, I have git, and what next? With git utility I can for example provide you with delta updates for ArchiDroid! ArchiDroid can easily use pocket debian to set up and sync ArchiDroid's repository and then pack and flash latest version without even needing of a PC, using 7-zip or anything else. Another example? A web server. I know that it's very dev-specific but if you for any reason need a web server running, just for example to test simple website, you can have it with just one command. Going further, VNC? MySQL server? PHP? Python? Perl? Ruby? Maybe conditional tasks with cron? Persistent minimal IRC client? rtorrent with rutorrent GUI over WWW? The list goes on... Anything based on linux will work. You can even host a server for your favourite game, as long as it has armhf/armel binaries (unfortunately most of the games don't).
So that's it. In short, debian is an operating system built-in in ArchiDroid to provide you with (unfortunately missing) GNU/Linux environment, with full power, ready to handle anything you could request. I made my best to include fully working debian in ArchiDroid for a minimal cost. Whole OS is packed in one big tar file, compressed using highest bzip2. As for now pocket debian has ONLY 40 megabytes of size, maybe in future it will have up to 50 megabytes, but no more. It's a VERY small cost for having such great power, especially if you know how to use it.
This is a really cutting-edge feature, mostly because I have no limitiations what I can include in my ROM right now, and while other developers are dealing with OpenDelta updates and many Android-based problems, I'm just launching my pocket debian and manages linux stuff.
I'm SURE that most of the advanced ArchiDroid user will just LOVE this feature, as much as I love it. I'm looking forward to your responses how YOU use pocket debian with your ArchiDroid. It's also a great time to learn what does the debian offer and how you can simplify your common tasks with just one example debian utility .
Technical informations:
1. Pocket Debian does not cause any additional overhead. We don't need to use emulation, neither virtualization to boot our monster. I used chroot technology to "jump" into debian environment with already running kernel and Android. That means additional required CPU/RAM is based on what you run in pocket debian. Booting itself doesn't require anything, just about one megabyte of ram for /bin/bash shell .
2. Android has some restrictions, mostly sockets. It doesn't allow to create inet sockets by default, even for root users. You will need to add your custom debian users to special group called "inet" (GID 3003) to allow creating of inet sockets, and you may also need to add a group to net_raw group (GID 3004) to allow creating of raw sockets. Please keep in mind that it's only required if you're running an app which required it's own socket, for example mysql server. So apt-get install mysql-server will fail right after booting, you will need to use "addgroup mysql inet" and then apt-get -f install to complete installation. Of course "mysql" is the new user under which mysql-server really operates. I've added root to both of these groups by default.
3. The only "real" restriction is the kernel. Our debian uses Android kernel and it's filesystem. It should work with most common tasks but in some cases our kernel may lack specific modules or built-in code, for example tun/tap required for OpenVPN. Still it's enough to run pretty much everything and if you get in touch with your favourite kernel developer you can also kindly ask for specific missing things.
4. Debian is built and included thanks to debootstrap utility, ArchiDroid command used for creating debian environment is debootstrap --verbose --arch armhf --include=git,ca-certificates,ssh,htop,tightvncserver,xterm,xfonts-base --exclude=manpages,man-db,rsyslog,vim-common,vim-tiny testing debian http://ftp.fr.debian.org/debian
HowTo:
Pocket Debian contains two main terminal commands, "adlinux" and "debian". Both of them are described below. By adlinux and debian you boot and jump into debian's chroot, which means you can use any debian-specific commands.
Examples:
passwd - changes password of actual user. This is needed to login as specific user, for example through ssh.
service ssh start - starts local SSH (secure shell) daemon on native port :22, to which you can easily access via any client supporting ssh, f.e. PuTTY. So basicly after you start shell you can literally connect to your local area network (LAN) IP on port 22 f.e. through PuTTY from your PC.
ifconfig - prints network-related informations about online interfaces, including your local IP, which may be useful for connecting to SSH.
htop - Enhanced top utility. Gives you very good terminal-based view on actual running processes, used ram, load, and more.
apt-get update - Syncs with debian's apt repository. This is mandatory to use many of apt commands because ArchiDroid's debian comes without local repo available, however fully configured to download and access it with just one command
apt-get install XXX - installs packet XXX from debian's repository.
apt-cache search XXX - searches for all packets including keyword "XXX". Ultra useful in terms of searching for specific packet.
Please note that pocket debian is VERY similar to normal native Debian/Ubuntu distribution, therefore above commands are not ArchiDroid's magic, they're very widely used in Debian/Ubuntu distros. If you want to learn more, most of the Debian/Ubuntu tutorials will be very helpful.
ArchiDroid's Pocket Debian Booter (adlinux)
You can call "adlinux" command from your favourite terminal.
adlinux is designed to boot and prepare ArchiDroid's Pocket Debian environment. It requires mode to be specified, and also respects any extra arguments passed.
If you call standalone "adlinux" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adlinux command, f.e. by executing "adlinux default", which will execute adlinux with "default" mode.
Available modes:
default - Will mount /data /system /storage/sdcard0 /storage/sdcard1 and core filesystems in chroot. Default suggested mode
safe - Will mount only core filesystems in chroot. Useful if you don't want to share your storage in chroot
bare - Won't mount even core filesystems such as /proc /dev or /sys. Requires "debian force" to enter chroot. This is the "real" safe mode. You won't be able to interact with an android in any way, while debian itself will work in very limited environment, making core functions unavailable. Suggested only for testing purposes
rebuild - Will automatically reboot your device and remove debian folder in the safe way. WILL CAUSE ALL DEBIAN DATA TO BE LOST!
unmount - Will automatically reboot your device to safely unmount debian environment
Extra options:
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
intsd - Use internal sd card (/data/media/0)
Additional information about modes:
Debian shares core kernel filesystems in "safe" and "default" modes, while it also shares your internal and external sd card in "default" mode. This is nothing to be scared of, as you have full control of what you run in debian, however please note that you CAN'T do whatever you want. All mounted partitions in debian are "binded". "Bind" means that it's mirrored to the mount point and all changes on mounted partition WILL affect the mount point, which is logical. This is nothing to be scared of, as long as you know that debian only extends your environment, it does not fully works in it's own and you CAN cause serious problems from inside of chroot. The only really safe mode is "bare" mode, however in "bare" mode debian can't really do anything, as kernel filesystems are absolutely required for most of the functions. Okay so, you need to know one thing. If you have booted debian you SHOULD NOT touch debian's folder, which is ArchiDroid/debian (on your internal or external sd card, depends what you choosed).. As you know debian for example binds /data to it's folder /data, which is physically ArchiDroid/debian/data. If you for example delete ArchiDroid/debian through root explorer WITH mounted debian then it will ALSO delete debian/data folder, which is binded to /data, and therefore will delete your whole internal sd card, that's why it's extremely important to take care because booted debian becomes part of the android and deleting it can cause at least soft bricks, with a possibility of hard as well. If you want to delete debian folder PLEASE use "rebuild" mode, only through this way you're absolutely sure that nothing bad happens and you won't delete your whole system partition by accident.
Note about extsd option:
Debian requires symlink functionality, typically native windows filesystems DON'T support symlinks, therefore you need to have your external sd card formatted in one of the native linux filesystems, f.e. ext4. adlinux will automatically tell you if debian can be unpacked and used on your external sd card, however it won't be possible under most common filesystems, such as exFAT or FAT32.
Technical informations:
1. Pocket debian archive is located in ArchiDroid/System/debian.tar.gz file. This is "bare" system used for creating environment for the first time, you should not touch it.
2. adlinux detects if debian is already extracted when booting, if not, it's firstly extracted from the file described above.
3. After extracting (if required), core filesystems are mounted with "bind" option based on the mode you've selected in "mode" question above. Typically it mounts /data /system /storage/sdcard0 /storage/sdcard1 /storage/extSdCard /dev /proc /sys.
4. Unmounting is not fully supported right now (linux barrier), therefore both "unmount" and "rebuild" options require a restart to execute properly.
ArchiDroid's Pocket Debian Shell/Chroot (debian)
You can call "debian" command from your favourite terminal.
debian command is designed to allow you "jumping" into debian chroot created by adlinux. Please read how adlinux command works firstly if you haven't done that already. debian command checks if core filesystems are available (if debian is booted), and if they are then it firstly modifies required environment variables to make debian happy (such as TERM, HOME, PATH), then it changes root (chroots) into debian folder, therefore allowing you to execute everything from inside of chroot. It's very generic command, therefore standalone "debian" command won't give you a choice the way adlinux did.
Available options (parameters):
force - required for jumping into bare debian, created with "adlinux bare" command above. This skips debian checks for mounted core filesystems, normally you should avoid it at all cost, unless you know what you're doing. If core filesystems are missing then it's very likely that your debian will be disabled in more than 90%.
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
intsd - Use internal sd card (/data/media/0)
cmd - Executes command in debian chroot
WARNING! cmd parameter will cause all further parameters to be threated as a command passed to debian, therefore you need to make sure that this is the last debian parameter which you want. For example "debian force cmd service ssh start" will skip filesystems checks and execute "service ssh start" in debian's chroot, however "debian cmd force service ssh start" will pass "force service ssh start" to debian, therefore respecting filesystems checks and passing invalid command.
This function is extremely useful for making init.d and other startup scripts. For example you can easily call "adlinux default" and then "debian cmd service ssh start" to call secure shell daemon on every boot with two easy steps.
Technical informations:
1. debian command uses chroot technology to change root of current shell to debian shell.
2. After chrooting to debian directory, /bin/bash shell is automatically called as default debian shell.
ArchiDroid's Flasher (adflash)
You can call "adflash" command from your favourite terminal.
adflash is a great small utility, which allows you to easily update your ArchiDroid to latest stable or experimental version with one easy command and delta upgrade. It utilizes ArchiDroid functions, therefore you must be running ArchiDroid to use it.
If you call standalone "adflash" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adflash command, f.e. by executing "adflash 2e git", which will execute adflash with 2.X-EXPERIMENTAL version using git mode.
Available versions:
2e - 2.X-EXPERIMENTAL
2s - 2.X-STABLE
1e - 1.X-EXPERIMENTAL
1s - 1.X-STABLE
Extra options:
git - Sets up local git repository, which gives you delta upgrades and bandwidth saving
direct - Downloads targeted branch as .zip file directly from github
clean - Cleans everything up, including local repo and tmp folder from ArchiDroid directory specified below
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard)
intsd - Use internal sd card (/data/media/0)
nozip - Shows changelog and changes only
Okay so, the most interesting option is the mode...
Direct mode is simple, fast and effective. It downloads target version (stable or experimental) from GitHub server, then it repacks downloaded zip file and makes it available for flash. You should use this mode for one-time downloads, such as once per stable version or two. The only advantage of this method is the ability to download from github (and with one command).
Git mode is complex. It uses ArchiDroid's Pocket Debian (read above) for cloning and updating local ArchiDroid repo. This gives several number of advantages, mostly for using experimental versions. Firstly, by having local ArchiDroid repo you have to download ONLY changes between your snapshot and server's snapshot, which means delta upgrades. Secondly, you have access to all commits from target branch, so you know exactly what has changed since your latest download. Again, this is extremely useful for experimental branch, as changelog may not be up-to-date. Keep in mind that git mode will require additional space on your device for keeping ArchiDroid repository, therefore you sacrifice some space for delta upgrades. This mode is extremely useful for flashing ArchiDroid often, for example daily experimental versions, because in fact you download only new commits instead of whole repo/archive.
ArchiDroid's RunOnce (Backend)
ArchiDroid's Init (Backend)
ArchiDroid's Backend Control
ArchiDroid Backend Control is a set of settings, which controls behaviour of ArchiDroid's Init. It's located in /system/archidroid/dev and contains a number of files, which are recognized by ArchiDroid's Init. You shouldn't directly touch /system/archidroid/dev, instead you can control behaviour of ArchiDroid's Backend through /system/archidroid/scripts. They can be easily executed through any script manager, f.e. Root Browser or Android Terminal Emulator. Some of the settings are also located in /system/archidroid/etc folder, mostly configurations for binaries utilized by ArchiDroid's Init.
ArchiDroid's HArdware Volatile Entropy Gathering and Expansion Daemon (Haveged)
The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers. Current development of haveged is directed towards improving overall reliablity and adaptability while minimizing the barriers to using haveged for other tasks.
The original HAVEGE research dates back to 2003 and much of the original haveged documentation is now quite dated. Recent work on haveged has included an effort to provide more recent information on the project and its applications.
The original research behind HAVEGE use was based upon studies of the behavior of processor caches from a hardware level. The 'Flutter' documents attempt to provide a modern view of HAVEGE at software level through the use of a diagnostic build of haveged that captures the non deterministic inputs to haveged for analysis by external tools.
ArchiDroid has built-in haveged entropy generator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Haveged_EnableDisable.sh. It's turned on in default configuration, through HAVEGED_ENABLED
ArchiDroid's Fast Random Number Generator (Frandom)
Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux' built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.
ArchiDroid has built-in frandom activator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Frandom_EnableDisable.sh. It's turned on in default configuration, through FRANDOM_ENABLED.
Notice: Kernel must support frandom module to actually make use of that. Init will try to search for frandom.ko module and load it, then use /dev/erandom for both /dev/random and /dev/urandom. If your kernel supports frandom, it will work. If it doesn't, obviously this will be skipped even if you have FRANDOM_ENABLED. Check ArchiDroid Init log located in /data/media/0/ArchiDroid/Init.log to check if frandom works properly for you.
ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
dnsproxy2 is a replacement DNS proxy for Android 4.3+
This currently allows the user to manually override the DNS server IP,
and it sets the correct UID on outbound requests so they can be filtered
via iptables / AFWall+ / DroidWall / etc.
Dnsmasq is a lightweight server designed to provide DNS, DHCP and TFTP services to a small-scale network. It can serve the names of local machines which are not in the global DNS. The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to appear in the DNS with names configured either in each host or in a central configuration file. Dnsmasq supports static and dynamic DHCP leases and BOOTP for network booting of diskless machines.
Dnrd, Domain Name Relay Daemon is a caching, forwarding DNS proxy server. Most useful on vpn or dialup firewalls but it is also a nice DNS cache for minor networks and workstations.
Pixelserv is a super minimal webserver, it's one and only purpose is serving a 1x1 pixel transparent gif file. Using some creative firewalling (netfilter/iptables) rules you can redirect some webrequests (for adds for example) to pixelserv.
ArchiDroid has built-in Adblock. It's controlable through ArchiDroid's Backend Control:
ArchiDroid_Adblock_DnsmasqDnrdModeSwitch.sh
ArchiDroid_Adblock_EnableDisable.sh
ArchiDroid_Adblock_EnableDisableLocalDNSes.sh
ArchiDroid_Adblock_EnableDisableLocalDNSesDaemon.sh
ArchiDroid_Adblock_LockUnlockHosts.sh
ArchiDroid_Adblock_MoabAdawayHostsSwitch.sh
ArchiDroid_Adblock_Reload.sh
It's turned on in default configuration, through:
ADBLOCK_ENABLED
ADBLOCK_LOCAL_DNSES_DAEMON_ENABLED
ADBLOCK_LOCAL_DNSES_ENABLED
ADBLOCK_USE_ADAWAY_HOSTS
ADBLOCK_USE_DNSMASQ
In short. This is a very advanced and powerful solution for blocking ads through DNS queries. First of all we're forwarding all DNS traffic to localhost (127.0.0.1). Then we're handling them through local DNS server - dnsmasq (default), or dnrd (option). Our local DNS server reads blocked hostnames through special /system/archidroid/etc/hosts file, then if no record is found, it forwards DNS query to OpenDNS/Google DNS servers, or if it's found, returns 127.0.0.1 as the address. Lastly, pixelserv is providing a 1x1 NULLGIF response on local web server, so instead of big black/white screen instead of the AD, we get 1x1 transparent pixel, which usually perfectly hides ad from the app or the website.
Extra features:
1. You can specify if you want to use dnsmasq (default), or dnrd (option) as a local dns server. Dnsmasq is more flexible, modern, faster and has less memory footprint, however I also left dnrd as an option, because it's proven to work stable.
2. You can specify hosts file, which you want to use. In default configuration we use AdAway's hosts file, with more than 30 thousand of records, which results in extra ~2.5 MB memory usage. You have also an option to use MOAB (Mother Of Ad Blocking) hosts file, with more than 330 thousand of records, which will result in about ~30 MB memory usage. Eventually you can append your own rules or use non-standard hosts file, available in /system/archidroid/etc/hosts. Pro tip: You can point AdAway to use this hosts file (/system/archidroid/etc/hosts_adaway), which will result in automatic updates. /system/archidroid/etc/hosts is a symbolic link, either to hosts_away or hosts_moab, if you want to specify your own hosts, you can delete symbolic link and write your own rules.
3. Original /system/etc/hosts file has been locked from editing. This is to ensure that AdAway or other adblockers won't use obsolete and slow method of blocking ads through hosts. The whole point of implementing Adblock in ArchiDroid is to provide you with super-fast, flexible and effective way of blocking ads, also with getting rid of black/white ad screen. In 99% situations you don't want to touch ArchiDroid's default behaviour, as it blocks ads perfectly. Eventually, if you have a very good reason, you can unlock original hosts file through ArchiDroid's Backend Control and modify them, however keep in mind that every additional rule WILL slow down your network speed.
4. In default configuration local dns server uses two OpenDNS servers at port 5353, two Google DNS servers at port 53 and up to two local DNS servers provided by your Wi-Fi/3G connection, which overall gives a sum of 6 remote dns servers. In some rare scenarios (f.e. some wi-fi hotspots) you can notice that a moron, administrator of this wi-fi, blocked all dns queries and forces you to use his DNSes. This is BAD because of freedom and so on, but it's very common practice, that's why I turned on local DNSes as well. If you want to improve your privacy at least a bit, you can disable local DNS servers and then use only OpenDNS and Google DNS.
5. Above option initialy has been written to allow you one-time access to such non-trusty wi-fi's. But if you for any reason need automatic update of your local DNSes (3G and Wi-Fi's will use different local DNSes), you can also turn on Local DNSes Daemon, which will automatically query and update local DNSes if needed. This is also turned on in addition to local dnses above, of course in default preset.
ArchiDroid's Forced Update (RunOnce)
Forced update selected during mode selection in aroma tells RunOnce to work in "INSTALL" mode even on "UPDATE" mode, apart from that it works exactly the same as update mode, only RunOnce is affected.
Credits
First of all many thanks to JustArchi, who gave me the permission to port this rom
and helped me not only one time to get all things to work :good:!!!
Many many thanks JustArchi for the help and support!​
ArchiDroid Core
- AROMA Installer
- AROMA Filemanager
- Boeffla Kernel-> @Hbohd plus his team not only because he was the first who ported and provided us a kernel for JB 4.3 and is doing it till today!!!
- Angi Kernel -> @psndna88
- PhilZ Touch Recovery
- SuperSU
- Nova Launcher
- TouchPal Keyboard
- Hacker's Keyboard
- Android Terminal Emulator
- BetterBatteryStats
- Cool Tool
- Greenify
- MX Player & Custom Codec
- LMT
- Root Browser
- Titanium Backup
- CrossBreeder
- Online Nandroid
- Xposed Framework
- App Settings
- XPrivacy
- Debian
- cURL
- GitHub
ArchiDroid 2.X
- OmniROM for GT-I9300
- Linaro Toolchain
- Spirit 2
- Wanam Xposed
ArchiDroid 1.X
- SamMobile
- JustArchi's Android Kitchen & dsixda's Android Kitchen
- Boeffla Kernel
- Yank555.lu Kernel
- KitKat Revolution Theme
- Blue Theme
- All Backs Black Theme
- Wanam Xposed
Special thanks to:
- Kenshin, for graphic design and ArchiDroid Touhou bootanimation
- @mrtur, for graphic design and helpful hand during ArchiDroid experimental tests
- @malachow, for helping users across both international and polish board, sharing the spirit of ArchiDroid
- All ArchiDroid Contributors, for improving and making ArchiDroid better!
- ArchiDroid Facebook Group, for beta-testing the very first alphas of ArchiDroid 2.0.0
- ROM Cleaner, for awesome generic list of bloatware
- Android Revolution HD, for being ex-ArchiDroid 1.X base
- WanamLite, for being ex-ArchiDroid 1.X base
- Temasek's Unofficial Build, for being ex-ArchiDroid 2.X base
- crDroid, for being ex-ArchiDroid 2.X base
- You, for choosing ArchiDroid over other available ROMs
So finally finished
looks good bro, keep up the good work :good:
Thanks...yes and high five ...fortunately today is public holiday here in germany I got some time !
Awesome, I tried porting using porting guide before but unfortunately it didn't boot compiling from source is probably the way to go, I guess. Thanks very much @rodman01 and @JustArchi!
ohh typo in thread under the xda Dev
his Rom is an official kanging of i9300 <---- link has extra h in the http
chongc1996 said:
Awesome, I tried porting using porting guide before but unfortunately it didn't boot compiling from source is probably the way to go, I guess. Thanks very much @rodman01 and @JustArchi!
Click to expand...
Click to collapse
yeah tried that too, unfortunatly didnt boot. now im trying to build from source with VirtualBox Ubuntu, of course getting help from some guys like my neighbor Rodman, great guy btw! :laugh:
Nice looking ROM
I ran this ROM on my S1, nice to see it on the S3LTE now.
Thanks
For me it's better to port Archis 1.X rather than 2.X. We are still lacking of stable roms on our devices.
Waiting for boot fix since it's not booting ATM.
Wysłane z mojego GT-I9305 za pomocą Tapatalk 2
Perhaps I will do the 1.X too, because I am interested in too. But nor sure when...
painball said:
For me it's better to port Archis 1.X rather than 2.X. We are still lacking of stable roms on our devices.
Waiting for boot fix since it's not booting ATM.
Wysłane z mojego GT-I9305 za pomocą Tapatalk 2
Click to expand...
Click to collapse
Not sure if it doesn't boot, it should boot, me and maho_66 were talking about our own attempts to port this. You should give it a shot!
Sent from my GT-I9305 using XDA Free mobile app
rodman01 said:
Perhaps I will do the 1.X too, because I am interested in too. But nor sure when...
Click to expand...
Click to collapse
Get in touch with my ArchiKitchen if you wish to make 1.X release.
http://forum.xda-developers.com/showthread.php?t=2597220
Basically:
1. You download any Samsung release in .tar.md5 format for Odin.
2. You extract from this .tar.md5 system.img boot.img (cache.img modem.bin - these are optional)
3. You load it with ArchiKitchen and you make deodexing, rooting, busyboxing, zipaligning and ArchiDroid init.d.
4. Then you create a ROM from AK and the effect should be similar to my base release: http://forum.xda-developers.com/galaxy-s3/general/rom-sammys-stock-deodexed-rooted-t2682453
5. You put in in the ADROOT and you run known magic build.sh script with "sammy" parameter - "bash build.sh sammy"
6. It should start extracting and replacing everything, as you know .
What is a difference with sammy and no sammy parameter?
- When building in sammy mode, build.sh doesn't compile anything and jumps straight to extracting .zip
- It also applies some sammy-related misc tweaks like ArchiDroid wallpaper, because this requires putting image in .png format in framework-res.apk
The fact that its not booting has i.m.h.o something to do with the correct/missing libs and or wrong permissions, for someone who is new to all of this its very frusturating i know, but you could give it a try whe sure need more stable roms i agree
Sent from my GT-I9305 using XDA Premium 4 mobile app
@rodman01
https://github.com/JustArchi/ArchiDroid/commit/14739db139ca50eedbfef5b26ac2933a24c70cf5
This should make you happier .
Make sure to check RunOnce Init and Cron logs after you merge upstream.
2.X works a great here.. Many customizations very smooth battery friendly.. Illl be sticking with this for the time being for sure.. Great work mate!
Sent from my GT-I9305 using XDA Premium 4 mobile app
The lockscreen notifications commit to omni hasn't been merged as of yet, I'll be watching until it gets merged
Sent from my GT-I9305
Performance wise this is definitely the best ROM out for the 9305 and I've tries them all.... Highly recommended !!
Sent from my GT-I9305 using XDA Premium 4 mobile app
Has anyone worked out a way to add different quick tiles?
Sent from my GT-I9305 using XDA Premium HD app

[ROM][testing][suez] Lineage-16.0 [05 JULY 2022]

Disclaimer
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 the products you find here before flashing it!
* YOU are choosing to make these modifications.
*/
- EVEN MORE IMPORTANT: This ROM only works on devices using the bootloader hack. See <<< HERE >>> to unlock your devices.
- IMPORTANT: Do not update Magisk via the Magisk Manager App, your device will enter a bootloop if you do. Instead update Magisk via TWRP only. If you do this by accident then it is recoverable by just flashing the latest version of the ROM again (with gapps etc as required). This will be fixed in a later update.
Rules
- Please search the thread before asking questions
- Please try to stay on topic, I know it's not always possible
- When reporting bugs please post a logcat and/or dmesg where possible
Lastest TWRP version
- 3.6.1-9.2
Downloads
- Google Drive
Source Code
GitHub - lineage16-suez/kernel_amazon_suez
Contribute to lineage16-suez/kernel_amazon_suez development by creating an account on GitHub.
github.com
GitHub - lineage16-suez/device_amazon_suez
Contribute to lineage16-suez/device_amazon_suez development by creating an account on GitHub.
github.com
GitHub - android-extra/twrp_device_amazon_suez: TWRP device tree for Amazon Fire HD10 (2017)
TWRP device tree for Amazon Fire HD10 (2017). Contribute to android-extra/twrp_device_amazon_suez development by creating an account on GitHub.
github.com
Thanks
- @k4y0z and @xyz` for the bootloader hack
- @k4y0z for the initial kernel
- LineageOS
⏱ Change log / Release Notes
05 July 2022
- [fixed] Backlight HAL Errors
- [fixed] LiveDisplay not working
06 May 2022
- [fixed] Voice assist MIC not working
- [fixed] USB-OTG Ethernet
- [fixed] TWRP: MTP access
- [fixed] TWRP: Fixed USB-OTG
- [info] Added android.hardware.opengles.aep.xml permissions
13 April 2022
- [fixed] Terminal input via apps and adb shell
12 April 2022
- [kernel] Up-streamed to 3.18.140
- [kernel] Enable per user storage quota
- [kernel] Optimized build flags for Cortex-a53
- [kernel] Boeffla Wakelock Blocker Driver v1.1.0
- [kernel] Enable some TCP congestion algorithms
- [kernel] Westwood Default TCP congestion algorithm
- [kernel] Sdcardfs v2.0
- [info] Remove aptX bluetooth libraries for now
- [info] Mount /system partition early-mount style
- [info] Add vendor security patch
06 April 2022
- [fixed] Fix KernelUidCpuTimeReader errors
- [info] Revert audio HIDL from 2.0 to 4.0 back to 2.0 - our drivers aren't ready for this
- [info] Put storage permissions force close on the todo list
- [info] Chrome browser works
- [info] Jelly browser works
- [info] WeDo lego app works
Show Further History
03 April 2022
- [fixed] Magisk update by app
- [fixed] Storage permission issues (cause of some apps crashing)
- [fixed] Lego app not working (more info here)
- [fixed] Cannot switch wifi on after storage encryption enabled
- [info] Update suez defconfig in kernel to be more inline with aosp
- [info] TWRP 3.6.1-9.0 available from Google Drive (no encryption support)
- [info] Up-rev audio HIDL from 2.0 to 4.0
- [info] Disabled amazon logging functions in kernel
- [info] Disabled unused squashfs in kernel
- [info] Conditionally compile MTK_M4U in the ion kernel driver as our device doesn't use it
27 March 2022
- [reverted] WiFi changes from previous build
- [removed] 26 March Build
26 March 2022
- [fixed] Speakers continuing to play while headphones are plugged in
- [fixed] Disney+ crashing
- [didn't work for everyone] Slow WiFi throughtput
- [didn't work for everyone] 5GHz connectivity to AX-88U router and in general
- [didn't work for everyone] 5GHz connectivity to across all channels
- [info] Include Bromite Webview
- [request] WiFi: Can someone test connecting to hidden SSID's and report back?
- [request] Magisk: Can someone test whether updating through the application works and report back?
16 March 2022
- [fixed] MtkOmxCore crash
- [fixed] Better auto adjust on backlight
- [fixed] SIM card prompt
- [fixed] Changed battery capacity to 6300mAh
- [fixed] sdcard access for chrome and other apps
- [fixed] "There's an internal problem with your device." dialog
- [info] Explicitly enable sdcardfs
- [info] Refactor root init scripts
- [info] Remove deprecated storage_list.xml
- [info] Clean-up build.prop
01 March 2022
- [info] Re-build of 28 February version
28 February 2022
- [fixed] DRM Widevine L3 support
- [new] Signature spoofing (enable and disable via developer options)
- [fixed] Wired headphones not working
- [fixed] Backlight HAL crashing
- [fixed] Hardware OMX (MTK codecs now been used)
- [info] Disable camera completely until fully investigated to stop logcat spam
- [info] Enable OTG for ethernet in kernel
07 February 2022
- [fixed] OMX regression was breaking NewPipe and local video file playback
- [info] Clean-up amazon binaries - media playback should be better - config file mess
05 February 2022
- [fixed] Navbar icon corruption
- [fixed] Wallpaper corruption
- [fixed] Laggy graphics
- [fixed] High idle cpu usage
- [info] Updated amazon binaries to fireos 5.6.9.0
12 February 2021
- Initial Release
🛠 Worklist / Tasks
- [fixed] Bluetooth works
- [fixed] Audio works
- [fixed] Internal storage isn't accessible from any app
- [done] Sensors working
- [fixed] Touch sounds are working
- [done] Test audio format playback - mp3 working
- [done] Tested video playback with NewPipe which is working
- [fixed] WiFi signal strength not working
- [done] Support aptX-HD encoder for bluetooth
- [fixed] No adb during boot
- [fixed] WiFi working
- [fixed] Navbar icon corruption
- [fixed] Wallpaper corruption
- [fixed] Laggy graphics
- [fixed] High cpu usage
- [fixed] DRM not working
- [fixed] Hardware OMX (for the most part)
- [fixed] Wired headphones not working
- [done] Enable OTG USB for ethernet
- [fixed] Youtube black screen with audio
- [fixed] MtkOmxCore crash
- [fixed] Battery showing wrong capacity - reported here
- [fixed] "There's an internal problem with your device." dialog
- [fixed] SIM card prompt
- [fixed] Chrome cannot access internal storage
- [fixed] Poor WiFi throughput (potential cause of choppy video playback)
- [fixed] Disney app crashing (more info here)
- [fixed] Speakers continuing to play while headphones are plugged in
- [fixed] Cannot switch wifi on after storage encryption enabled
- [hold] Bluetooth not working properly - can't see issue here
- [fixed] Magisk update by app
- [fixed] Storage permission issues (cause of some apps crashing)
- [done] Upstreamed kernel
- [todo] TWRP: USB-OTG not working
- [fixed] USB-OTG Ethernet
- [fixed] TWRP: MTP access
- [todo] Voice assist MIC not working
- [done] Added android.hardware.opengles.aep.xml permissions
- [fixed] LiveDisplay not working
- [fixed] Backlight HAL Errors
- [todo] Shutdown after entering sleep mode (suspect cpu/gpu coming up in the wrong state -> overheating)
- [todo] Gapps > pico causing not enough space error
- [todo] Youtube black screen with audio
- [todo] Mirrorcast not working
- [todo] Multi-user not working
- [todo] Navbar problem when keyboard is in horizontal mode
- [todo] Playing videos over SMB failure after 30 min (more info here)
- [todo] Can't connect to hidden WiFi networks
- [todo] Lego app not working (more info here)
- [todo] Cameras not working (more info here)
- [todo] SELinux
- [todo] Intermittent high idle cpu usage
- [todo] Investigate L1 widevine support (L3 currently)
- [todo] Pass safetynet
- [todo] Device build fingerprinting
- [todo] Enable zram?
- [todo] Device encryption (TWRP)
- [todo] Battery idle mode
- [todo] Offline charging mode
- [todo] Low speaker volume
- [todo] Thermal Shutoff, overheating
- [todo] System partition needs to be increased in size to accomodate gapps
New Build is up
12 February 2021
- Initial Release
- Post #2 contains change log
- Post #3 contains task list
- Clean installation is required
Thank you for your great work! Can´t wait to try the new rom!
Just a few questions on build 12.february.2021:
DRM not working -> So netflix, amazon prime etc. isn´t working yet?
clean install required -> coming from lineage 12, factory reset and flashing afterwards will work? Or do i have to wipe anything specific?
Cameras not working -> both of them ? Or maybe just camcorder like in the early versions of your Los12?
Wired headphones not working -> i guess the headphone fix from previous versions (Los-12,Los-14) does +not+ work on Lineage 16?
cochonez1312 said:
Thank you for your great work! Can´t wait to try the new rom!
Just a few questions on build 12.february.2021:
DRM not working -> So netflix, amazon prime etc. isn´t working yet?
clean install required -> coming from lineage 12, factory reset and flashing afterwards will work? Or do i have to wipe anything specific?
Cameras not working -> both of them ? Or maybe just camcorder like in the early versions of your Los12?
Wired headphones not working -> i guess the headphone fix from previous versions (Los-12,Los-14) does +not+ work on Lineage 16?
Click to expand...
Click to collapse
Try netflix and amazon and let me know if anything needs looking into, I have started a tasklist so we can add items there.
Factory reset should suffice for clean installation.
Cameras not working at all, more to come on this. I understand why they are not working and it's not great news I know. I'll do a more detailed post on this.
The headphone fix from cm-14.1 might work or be adaptable to work on this rom. I am looking into a permanent solution for this.
I have faced these issues so far
1) Directly after first boot, i get the error message "Your device encountered a problem. Please contact the manufacturer". Anyways, I can proceed after tapping on OK.
2) I can only flash pico Gapps, any package larger than that throw error 70 (Insufficient system space). In older builds, i was able to flash the nano package. The system partition (1.5 GB) should be large enough to fit Gapps packages larger than pico.
3) The start assistant prompts me to insert a SIM card, although this device does not have a SIM card slot.
4) The three softbuttons are broken, as shown in the picture
BeniS98 said:
I have faced these issues so far
1) Directly after first boot, i get the error message "Your device encountered a problem. Please contact the manufacturer". Anyways, I can proceed after tapping on OK.
2) I can only flash pico Gapps, any package larger than that throw error 70 (Insufficient system space). In older builds, i was able to flash the nano package. The system partition (1.5 GB) should be large enough to fit Gapps packages larger than pico.
3) The start assistant prompts me to insert a SIM card, although this device does not have a SIM card slot.
4) The three softbuttons are broken, as shown in the picture
Click to expand...
Click to collapse
Point 1: I forgot to mention this initial message after boot. This is due to fixing the persistent and repeated camera hal crash and the way in which I had to stop that from happening, hopefully as a temporary measure. I'll add this to the OP so everyone is aware.
Point 2 and 3: I'll add to the list
Point 4: already on the list todo
A few more issues:
1) HD videos in Youtube app are not working. The video either stops or i'm just getting a blackscreen. 480p works.
2) The graphics is not very fluent and a bit laggy, especially when opening apps and scrolling within them. It seems that there's no graphics acceleration.
@ggow is playready crashing (DRM)? If so try to debug the crash with https://github.com/douglas-developm...987d31da8cda42c03b53fb988c18d77f3e297fffd16c4
As for the graphic glitches try adding:
Code:
PRODUCT_PROPERTY_OVERRIDES += \
debug.hwui.renderer=opengl \
debug.hwui.use_partial_updates=false \
debug.sf.disable_backpressure=1 \
debug.sf.latch_unsignaled=1 \
persist.sys.display.clearMotion=1
That fixed Graphic Glitches in 16.0 for my MT8163 tablet.
*****in danks ggow
Lineage 16 = Android 9 !!
OMG, never ever expected to see this on a 7th Gen HD10
Big thanks to ggow for bringing new life to our old "crap". The tablet isn't bad at all, so definitely worth to receive an update. Have to have a drink first to celebrate this, maybe will try the update next week. (I'm still on Amazon stock version, so I'll have to unlock first)
@ggow I may have found some useful information regarding the camera. While exploring why SuperSU wasn't working, I unexpectedly came across some logs. I did not save them, but I'm still trying to fix supersu and will grab them the next time I'm attempting a fix. It might be the smoking gun I'm not sure though.
In regards to supersu, I have figured out why it will not hold root access. For some reason it fails to obtain a root user account.
Code:
Error stderr: null, stdout: null, exit_value: 1
according to root checker, that is the only issue now. I have managed, I think, to rewrite or remove the scripts or lines of script in the files that lineage superuser uses. I'm not sure why it's doing this though. Flashing in twrp just causes a neverending boot animation. @ggow that's where I came across the camera logs, because after rebooting from flashing, I still get an adb connection so I ran a logcat, but aside from the camera, I didn't find anything useful. I made sure the files have owner root:root. I do know KingoRoot doesn't have an issue rooting. So the investigation continues.
Why are we pushing SuperSU? That's been deprecated and I've used Magisk on 12.1 and 14.1 successfully.
for the 11 thousandth time dragon supersu is DEAD stop using it use magisk in core only mode if you need minimal root handling stop pinging ggow because you refuse to join us in the year 2021 and use magisk like everybody else on xda
DragonFire1024 said:
I think the lack of space for gapps has to do with mounts. It sems things are confused to an extent because technically nothing is where it should be. For example, on the lin14 rom, SuperSU won't work and that's because it can't find the boot.img (it's looking in the spot where the img was prior to the unlock hack). I don't know why it won't work as a system install though.
I got init.d to finally work (lineage uses their own so you have to write a script in /system/etc/init and modify a line in init.cm.rc (in root directory) because lineage disables androids init.d I think that's where some of the issues are and part of why SuperSU doesn't work (superuser.rc).
Click to expand...
Click to collapse
the issue for gapps is the system partition size after installing los 16, is set incorrectly, not a mounting issue. supersu dont work because its not compatible and wont be, use magisk. the camera dont work due to a lack of proper drivers not to mention the coding is completly missing from 14.1 and 16 so dont bother trying to fix it yourself unless your compiling a new rom. this is just the first release and will get better in time. it boots and thats a start.
Understanding the Camera Issue:
@daniel_hk made a good post on understanding this:
REF: https://forum.xda-developers.com/t/rom-7-1-2_r36-27jan2018-lineageos-14-1-custom-roms.3513466/
Relevant Extract of the information
III. The Camera
After my first ROM was out, the most eye catching in the log would be the stack corruption in libcam.halsensor.so.
Code:
11-24 21:53:55.967 490 490 F DEBUG : #08 pc 00017459 /system/lib/libcam.halsensor.so (_ZN12ImgSensorDrv13getResolutionEPP34ACDK_SENSOR_RESOLUTION_INFO_STRUCT+60)
After study the source for mt6735, I found it was called within the blob libcam.halsensor.so. In the function ImgSensorDrv::getResolution(), an ioctl() call was passed to the kernel. I was thinking it was caused by user space data handling in the kernel. After a series of trials and dumping, I remarked that part of code from the kernel. The crash persisted. That means it was from the blob itself. I tried a shim library to replace the function ImgSensorDrv::getResolution() but the result is the same. That means the callee was responsible.
After some digging, I was pretty sure it was caused by the alignment (address sanitize) of struct addresses. The latest blob from Lenovo dev.1631 (also the latest for mt6752 devices) were built with gcc 4.9 Clang 3.6. Nougat now use Clang 3.8 by default. Those blob already have alignment support in Clang 3.6 might have issues with the new Clang 3.8.
What is address alignment? In short, a 32 bit processor can handle 32 bit at a time. It would be a easier for the register to locate memories in 32 bits (4 bytes) cells (aligned). If the head or tail for a block of memory is not aligned, extra code would required to separately handle those loose ends. The new clang compiler would fill leading bytes with its own algorithm to make the pointer or variable aligned. Why is ImgSensorDrv::getResolution() being "affected"? The argument of it is a pointer to ACDK_SENSOR_RESOLUTION_INFO_STRUCT. Its definition can be found in the kernel. It is a struct of an array of pointers to another struct. The source from Mediatek use direct reference to the address of struct variables all the time. This is inappropriate in sense of address alignment. Early compilers didn't handle alignments and won't have problem with that. Newer compiler would use its own algorithm to align the structs and pointers. I guess Clang 3.6 didn't handle the above complex struct as argument well. Nougat linker and loader are all built with Clang 3.8. Local variables are allocated at load time which might be handled differently. Thus a call to ImgSensorDrv::getResolution() would cause the stack corruption.
** Those interested may read this article for detail. **
1. Work around
Using older blobs built by gcc 4.8 or earlier might work. Jiayu S3's AOSP were using those old blobs. I'm new to K3-note. I don't think I have the patience and experience to test all the existing blobs. That's the main reason I uploaded the last two test ROM. Trying blobs and hoping some combination would work is passive. Stlport is also obsolete for some time now. I rather deal with the problem directly.
2. The solution
Without the source, building the whole blob is impossible. Even if we have the source from other devices, those custom parameters are unique to each image sensor. It's impossible to guess or back engineer...
If we can change the way ImgSensorDrv::getResolution() is being called or didn't touch the argument within the function. It would avoid the crash. Unfortunately, the function need to fill a local struct within the ImgSensorDrv class. That means it is not seen outside ImgSensorDrv. The only way is to replace the whole ImgSensorDrv class. Fortunately, it is self contained. We can write a wrapper to replace the ImgSensorDrv class only. The source from mt6735 or mt6595 are a bit different and obviously can't be used directly. Most of the struct can be cross referenced to the kernel source. There are two local sturct left unknown. One is for the commands sent to the kernel. The other is some info. collected from the kernel.
With the wrapper, the crash was gone but still no preview. I wrote a test HAL to dump the values in stock ROM. Guessing the values against the names was not a decent job. Fortunately, there were only a few differences. After nights of trial and error, I finally pulled everything together. Camera is working now! Video recording is still not working. Seems codec related. Some say it's not a problem "again". Hoping there will be some real solutions and helps soon...
ggow said:
Understanding the Camera Issue:
@daniel_hk made a good post on understanding this:
REF: https://forum.xda-developers.com/t/rom-7-1-2_r36-27jan2018-lineageos-14-1-custom-roms.3513466/
Relevant Extract of the information
III. The Camera
After my first ROM was out, the most eye catching in the log would be the stack corruption in libcam.halsensor.so.
Code:
11-24 21:53:55.967 490 490 F DEBUG : #08 pc 00017459 /system/lib/libcam.halsensor.so (_ZN12ImgSensorDrv13getResolutionEPP34ACDK_SENSOR_RESOLUTION_INFO_STRUCT+60)
After study the source for mt6735, I found it was called within the blob libcam.halsensor.so. In the function ImgSensorDrv::getResolution(), an ioctl() call was passed to the kernel. I was thinking it was caused by user space data handling in the kernel. After a series of trials and dumping, I remarked that part of code from the kernel. The crash persisted. That means it was from the blob itself. I tried a shim library to replace the function ImgSensorDrv::getResolution() but the result is the same. That means the callee was responsible.
After some digging, I was pretty sure it was caused by the alignment (address sanitize) of struct addresses. The latest blob from Lenovo dev.1631 (also the latest for mt6752 devices) were built with gcc 4.9 Clang 3.6. Nougat now use Clang 3.8 by default. Those blob already have alignment support in Clang 3.6 might have issues with the new Clang 3.8.
What is address alignment? In short, a 32 bit processor can handle 32 bit at a time. It would be a easier for the register to locate memories in 32 bits (4 bytes) cells (aligned). If the head or tail for a block of memory is not aligned, extra code would required to separately handle those loose ends. The new clang compiler would fill leading bytes with its own algorithm to make the pointer or variable aligned. Why is ImgSensorDrv::getResolution() being "affected"? The argument of it is a pointer to ACDK_SENSOR_RESOLUTION_INFO_STRUCT. Its definition can be found in the kernel. It is a struct of an array of pointers to another struct. The source from Mediatek use direct reference to the address of struct variables all the time. This is inappropriate in sense of address alignment. Early compilers didn't handle alignments and won't have problem with that. Newer compiler would use its own algorithm to align the structs and pointers. I guess Clang 3.6 didn't handle the above complex struct as argument well. Nougat linker and loader are all built with Clang 3.8. Local variables are allocated at load time which might be handled differently. Thus a call to ImgSensorDrv::getResolution() would cause the stack corruption.
** Those interested may read this article for detail. **
1. Work around
Using older blobs built by gcc 4.8 or earlier might work. Jiayu S3's AOSP were using those old blobs. I'm new to K3-note. I don't think I have the patience and experience to test all the existing blobs. That's the main reason I uploaded the last two test ROM. Trying blobs and hoping some combination would work is passive. Stlport is also obsolete for some time now. I rather deal with the problem directly.
2. The solution
Without the source, building the whole blob is impossible. Even if we have the source from other devices, those custom parameters are unique to each image sensor. It's impossible to guess or back engineer...
If we can change the way ImgSensorDrv::getResolution() is being called or didn't touch the argument within the function. It would avoid the crash. Unfortunately, the function need to fill a local struct within the ImgSensorDrv class. That means it is not seen outside ImgSensorDrv. The only way is to replace the whole ImgSensorDrv class. Fortunately, it is self contained. We can write a wrapper to replace the ImgSensorDrv class only. The source from mt6735 or mt6595 are a bit different and obviously can't be used directly. Most of the struct can be cross referenced to the kernel source. There are two local sturct left unknown. One is for the commands sent to the kernel. The other is some info. collected from the kernel.
With the wrapper, the crash was gone but still no preview. I wrote a test HAL to dump the values in stock ROM. Guessing the values against the names was not a decent job. Fortunately, there were only a few differences. After nights of trial and error, I finally pulled everything together. Camera is working now! Video recording is still not working. Seems codec related. Some say it's not a problem "again". Hoping there will be some real solutions and helps soon...
Click to expand...
Click to collapse
Yeah after you fix that you'll get mediaserver libc fatal crashes as I do in douglas.
MOD ACTION:
Thread cleaned.
Friends, please do not lose the focus of the thread. Discussions about other issues and multiple persons posting multiple ways of solving such issues etc make the thread cluttered.
The OP is there and answering queries.
Thank you for understanding!
ggow said:
🛠 Worklist / Tasks
...
- [todo] Wired headphones not working
Click to expand...
Click to collapse
thank you, @ggow, for coming back to Fire HD 10!!! ur recent works on HDX makes me thinking about it but its still >5yo tab.
for the wired headset, there is a fix available already: https://forum.xda-developers.com/t/...4-1-26-sep-2019.3973703/page-29#post-81763775
i have used it on both HD8 and HD10. hope it saves u some work!

[MOD] rtl8xxxu driver for 3.x kernels

Stock rtl8192cu driver had limited monitor mode support(it has monitor mode but it filters out all data packets), could not change tx power and frequency so i decided to search for realtek driver that has these features...after some hours i couldn`t find it...drivers that have them are only on kernels >4...so only option left is to port one of those drivers to my old 3.4.113 kernel...and now i`m writing this post having perfectly working realtek wireless driver
I have tested only monitor mode, packet injection, parameters change(tx, freq)...works good so far...idk about other features but i hope they work too...
this driver tested on matissewifi (Samsung Galaxy Tab 4 10.1 WiFi) but may work on lots of other devices too...
Sources: https://github.com/Darkar25/realtek_rtwifi (this may be merged into kimocoder`s repo at any time)
if anyone needs help including this into your kernel feel free to dm me on telegram @darkar25 discord Darkar25#4088 or vk https://vk.com/darkar25 (i dont really read dm`s on XDA)
I just released a new RTL8XXXU with new RTL8188E and RTL8188F HAL and upstreamed. Go check it out

Categories

Resources